A computacao serverless permite executar codigo sem gerenciar servidores. Voce escreve funcoes, faz o deploy delas, e a plataforma cuida da escalabilidade, disponibilidade e infraestrutura. Em 2026, tres plataformas dominam o cenario serverless: AWS Lambda, Vercel Serverless Functions e Cloudflare Workers. Cada uma tem diferentes pontos fortes e compensacoes.
Neste artigo, comparamos elas com exemplos reais, consideracoes de desempenho e analises de precos.
Como o Serverless funciona
Voce faz deploy de uma funcao. Quando uma requisicao chega, a plataforma:
- Inicia um ambiente de execucao (ou reutiliza um ja aquecido)
- Executa sua funcao
- Retorna a resposta
- Escala para zero quando inativa (voce nao paga pelo tempo ocioso)
Visao geral das plataformas
AWS Lambda
A plataforma serverless original (lancada em 2014). A mais madura e rica em recursos, com integracao profunda no ecossistema AWS.
// AWS Lambda handler export const handler = async (event) => { const body = JSON.parse(event.body); const result = await processData(body); return { statusCode: 200, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(result), }; };
Vercel Serverless Functions
Fortemente integrado com Next.js e o fluxo de trabalho de deploy frontend. As funcoes sao implantadas junto com seu frontend sem nenhuma configuracao.
// app/api/hello/route.ts (Next.js App Router) import { NextResponse } from 'next/server'; export async function GET(request: Request) { const { searchParams } = new URL(request.url); const name = searchParams.get('name') || 'World'; return NextResponse.json({ message: `Hello, ${name}!` }); }
Cloudflare Workers
Executa na rede edge da Cloudflare em mais de 300 cidades no mundo. Usa o motor V8 (o mesmo do Chrome) em vez do Node.js, o que significa cold starts extremamente rapidos.
// Cloudflare Worker export default { async fetch(request, env) { const url = new URL(request.url); const name = url.searchParams.get('name') || 'World'; return new Response( JSON.stringify({ message: `Hello, ${name}!` }), { headers: { 'Content-Type': 'application/json' } } ); }, };
Comparacao de recursos
| Recurso | AWS Lambda | Vercel Functions | Cloudflare Workers |
|---|---|---|---|
| Runtime | Node.js, Python, Go, Rust, Java, .NET | Node.js, Python, Go, Ruby | V8 Isolates (JS/TS, Rust via WASM) |
| Tempo maximo de execucao | 15 minutos | 60s (Hobby), 300s (Pro) | 30s (gratuito), 15min (pago) |
| Memoria | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Local de deploy | Regiao unica (ou multi com esforco) | Multiplas regioes | 300+ locais edge |
| Payload maximo | 6MB (sincrono), 256KB (assincrono) | 4.5MB | 100MB |
| Armazenamento integrado | Nao (use DynamoDB, S3) | Nao (use DB externo) | KV, D1 (SQLite), R2 (compativel com S3) |
| Modelo de precos | Por requisicao + duracao | Incluido no plano | Por requisicao + duracao |
| Nivel gratuito | 1M requisicoes/mes | 100K/mes (Hobby) | 100K requisicoes/dia |
Cold Starts
Cold start e o tempo necessario para inicializar uma nova instancia de funcao. Esta e a maior preocupacao de desempenho com serverless.
| Plataforma | Cold Start Tipico | Por que |
|---|---|---|
| Cloudflare Workers | < 5ms | Isolates V8, sem necessidade de runtime completo |
| Vercel Functions | 100-300ms | Runtime Node.js no edge ou regional |
| AWS Lambda | 100-500ms | Inicializacao completa do container |
| AWS Lambda (Java) | 1-5 segundos | Overhead de inicializacao da JVM |
Cloudflare Workers vence nos cold starts por uma margem enorme porque usa isolates V8 em vez de containers.
Comparacao de precos
Nivel gratuito
| Plataforma | Requisicoes gratuitas | Computacao gratuita |
|---|---|---|
| AWS Lambda | 1M/mes | 400.000 GB-segundos |
| Vercel | 100K/mes | Incluido no plano Hobby |
| Cloudflare Workers | 100K/dia (~3M/mes) | 10ms CPU por invocacao |
Em escala (10M requisicoes/mes, duracao media de 50ms)
| Plataforma | Custo mensal estimado |
|---|---|
| AWS Lambda | ~$2,50 (requisicoes) + |
| Vercel | $20/mes (plano Pro, inclui funcoes) |
| Cloudflare Workers | $5/mes (plano pago, inclui 10M requisicoes) |
Para a maioria dos casos de uso, Cloudflare Workers e o mais barato. O preco da Vercel e simples mas inclui a plataforma inteira (hospedagem, CDN, analytics). AWS Lambda tem o preco mais granular.
Casos de uso reais
AWS Lambda: Melhor para
- Workflows backend complexos - step functions, arquiteturas orientadas a eventos
- Integracao com servicos AWS - triggers S3, streams DynamoDB, filas SQS
- Tarefas de longa duracao - ate 15 minutos de tempo de execucao
- Equipes multi-linguagem - suporta a mais ampla gama de runtimes
Vercel Functions: Melhor para
- Aplicacoes Next.js - rotas de API sem configuracao
- Equipes focadas no frontend - deploy de frontend e backend juntos
- Prototipagem rapida - git push para deploy
- Arquiteturas Jamstack - frontend estatico + API serverless
// app/api/subscribe/route.ts import { NextResponse } from 'next/server'; export async function POST(request: Request) { const { email } = await request.json(); // Validate if (!email || !email.includes('@')) { return NextResponse.json( { error: 'Invalid email' }, { status: 400 } ); } // Save to database await db.subscribers.create({ email }); return NextResponse.json({ success: true }); }
Cloudflare Workers: Melhor para
- APIs de baixa latencia - codigo executa em mais de 300 locais no mundo
- Edge computing - transformar respostas, testes A/B, personalizacao
- APIs de alto volume - mais barato em escala com generoso nivel gratuito
- Aplicacoes globais - dados perto dos usuarios com KV e D1
// Edge-side A/B test export default { async fetch(request, env) { const url = new URL(request.url); // Assign user to variant const cookie = request.headers.get('Cookie') || ''; let variant = cookie.includes('ab=b') ? 'b' : 'a'; if (!cookie.includes('ab=')) { variant = Math.random() < 0.5 ? 'a' : 'b'; } // Fetch the appropriate version const response = await fetch(`${url.origin}/variants/${variant}`); const newResponse = new Response(response.body, response); // Set cookie for consistent experience newResponse.headers.set('Set-Cookie', `ab=${variant}; Path=/; Max-Age=86400`); return newResponse; }, };
Quando escolher qual
Escolha AWS Lambda se:
- Voce ja esta investido no ecossistema AWS
- Precisa de funcoes de longa duracao (ate 15 minutos)
- Precisa de arquiteturas complexas orientadas a eventos
- Precisa de runtimes alem de JavaScript (Python, Go, Rust, Java)
Escolha Vercel Functions se:
- Esta construindo com Next.js ou um framework frontend
- Quer a experiencia de deploy mais simples (git push)
- Sua equipe e focada em frontend
- Quer hospedagem + funcoes + CDN em uma plataforma
Escolha Cloudflare Workers se:
- Precisa da menor latencia possivel globalmente
- Quer a opcao mais barata em escala
- Precisa de capacidades de edge computing
- O tempo de cold start e critico para seu caso de uso
Pode combina-los?
Com certeza. Uma arquitetura comum:
- Cloudflare Workers: roteamento edge, cache, seguranca
- Vercel Functions: rotas de API frontend, SSR
- AWS Lambda: processamento backend pesado, tarefas agendadas, pipelines de eventos
Conclusao
O serverless amadureceu significativamente. Em 2026, a escolha entre AWS Lambda, Vercel Functions e Cloudflare Workers depende do seu stack e suas prioridades:
- Experiencia de desenvolvedor mais simples: Vercel
- Mais poderoso e flexivel: AWS Lambda
- Melhor desempenho e precos: Cloudflare Workers
Todos os tres estao prontos para producao e testados em batalha. Comece com o que se encaixa no seu stack atual e expanda conforme suas necessidades crescem.