AWS Lambda Web Functions
A AWS introduziu Lambda Web Functions, uma nova forma de executar apps web HTTP tradicionais diretamente no Lambda com suporte a requisições concorrentes, scale-to-zero e cobrança baseada em CPU, posicionando-o como resposta a plataformas como Cloudflare Workers, Vercel e Cloud Run. Comentadores debatem os trade-offs entre functions-as-a-service e abordagens baseadas em containers, com foco em arranques a frio, transparência de preços, complexidade de arquiteturas distribuídas e limitações de runtime, como o suporte atual apenas a Node.js. Muitos veem isso como um passo atrasado, mas bem-vindo, em direção a uma hospedagem web mais “normal” na AWS, embora observem que alternativas como Cloud Run e Azure Container Apps já oferecem capacidades semelhantes com containers.
Arranques a frio, escalabilidade e concorrência
- Lambda Web Functions ainda escalam até zero; a primeira requisição após inatividade é um arranque a frio.
- O novo modelo de multiconcorrência permite até ~128 requisições concorrentes por ambiente; picos amortizam os arranques a frio para as requisições subsequentes.
- Alguns veem isso como latência de “cauda absoluta” apenas após inatividade; outros alertam que arranques a frio e limites de escalabilidade ainda podem causar atrasos de vários segundos, especialmente sem provisionamento.
Comparação com outras plataformas
- Amplamente lido como uma resposta a Cloudflare Workers, Vercel, Cloud Run, Azure Container Apps, App Engine.
- Semelhanças: scale-to-zero, concorrência por instância, sem adaptador para apps web padrão, cobrança baseada em requisições.
- Diferenças: baseado em microVMs Firecracker vs os isolados V8 da Cloudflare. Alguns argumentam que isolados são mais disruptivos, mas mais difíceis de adotar por grandes clouds.
- Vários comentários destacam Cloud Run / Container Apps como estado da arte anterior: implante qualquer container, obtenha autoscaling, muitas vezes com DX mais simples do que o Lambda clássico.
Runtime, suporte a linguagens e roadmap
- Atualmente apenas Node.js; comentaristas querem Rust/Go/.NET/Java e containers genéricos ou WASM.
- SnapStart pode reduzir arranques a frio, mas o suporte varia por runtime e é visto como complexo.
- O roadmap da AWS (linkado no tópico) mostra suporte a imagens de container para Web Functions como “em breve”, visto como um possível recurso matador.
Preço e semântica de cobrança
- A nova cobrança de “CPU ativa” é comparada ao Cloudflare Workers e ao Vercel Fluid: você não paga enquanto está apenas aguardando I/O.
- A memória ainda é cobrada durante toda a vida do ambiente quente; transferência de dados e cobranças por requisição também importam.
- Alguns acham que a precificação mais simples da Cloudflare continua mais fácil de entender.
Debate arquitetural: FaaS vs containers/VMs
- Críticos: FaaS torna sistemas mais difíceis de raciocinar, incentiva microsserviços excessivamente fragmentados, complica desenvolvimento/debug/monitoramento e tem semântica de escalabilidade estranha.
- Defensores: Lambdas são triviais de usar com IaC, ideais para cargas esparsas ou altamente explosivas em picos, e podem ser muito baratas ou efetivamente gratuitas para apps pequenos.
- Vários defendem Lambdas monolíticas ou containers serverless (Cloud Run/Container Apps/Fargate-style) em vez de muitas funções pequenas.
Experiência do desenvolvedor
- Muitos celebram “Lambda sem a camada de adaptador”, especialmente em comparação com padrões anteriores (API Gateway + adaptadores para Express/Fastify, etc.).
- Outros observam que isso já era possível com shims, então o principal benefício é suporte de primeira classe e concorrência, não uma capacidade totalmente nova.