A AWS anunciou o AWS Lambda Web Functions, um novo formato dentro do Lambda que permite executar aplicações web e servidores HTTP padrão diretamente, sem reescrever o código para adaptá-lo ao modelo tradicional de manipuladores de eventos. É possível implantar aplicações construídas com Express, Hono, Fastify ou Next.js, ou com qualquer framework Node.js, por meio de um único comando e sem adaptadores especiais ou gerenciamento adicional da infraestrutura.
O serviço é destinado a aplicações web, interfaces de programação, renderização no lado do servidor e cargas HTTP interativas que lidam com solicitações simultâneas e processamento intensivo de entrada e saída.
Um modelo de execução diferente dentro do Lambda
A AWS oferece agora três modelos de execução distintos dentro do Lambda, todos baseados na tecnologia de isolamento Firecracker. O Event Functions continua adequado ao processamento de eventos, ao consumo de mensagens e às invocações geradas pelos serviços da AWS, pois o manipulador recebe um único evento e retorna uma resposta de acordo com o modelo tradicional.
Já o Web Functions usa um modelo nativo de HTTP, no qual a aplicação escuta uma porta e lida com solicitações padrão. Cada ambiente de execução pode processar até 128 solicitações simultâneas. O terceiro modelo, Lambda MicroVMs, oferece ambientes isolados, estado persistente e um ciclo de vida gerenciado pelo cliente para executar código não confiável ou gerado pelo usuário.
O que muda na prática para os desenvolvedores?
A AWS afirma que o Web Functions reduz a necessidade de combinar vários componentes para distribuir globalmente uma aplicação web. O serviço assume o escalonamento, a replicação entre regiões e o roteamento baseado no tempo de resposta, enquanto o código permanece mais próximo do servidor HTTP executado localmente pelo desenvolvedor.
O cálculo do Web Functions é baseado no tempo de uso do processador, enquanto a memória é cobrada durante todo o período em que o ambiente de execução permanece ativo. Como resultado, o tempo que a aplicação passa aguardando uma consulta ao banco de dados ou uma chamada de API consome uma pequena quantidade de tempo de processador, um modelo que pode ser adequado a cargas fortemente dependentes de entrada e saída, como renderização no lado do servidor, interfaces de programação e endpoints de inferência de inteligência artificial que transmitem tokens.
Isso não significa que o custo será automaticamente menor para todas as aplicações; o resultado depende do padrão de uso, do tempo de permanência dos ambientes, do consumo de memória e do volume de solicitações.
Implantação, distribuição e versões
A AWS CLI usa um comando como aws lambda-web deploy para empacotar o código, criar um Web Function, implantar a primeira revisão e associar um endpoint HTTPS. A aplicação pode ser implantada em várias regiões, como us-east-1, eu-west-1 e ap-northeast-1, para que o Lambda encaminhe as solicitações por meio de um único endereço global para a região com menor tempo de resposta, com base no melhor esforço.
O serviço trata cada versão como um snapshot imutável do código. Os endpoints também permitem distribuir o tráfego entre versões, incluindo uma implantação gradual do tipo canary que encaminha, por exemplo, 90% das solicitações para a versão atual e 10% para a nova versão.
Integração com o CloudFront e disponibilidade inicial
Um endpoint do Web Function pode ser usado como origem do Amazon CloudFront, de modo que os ativos estáticos sejam armazenados na rede enquanto as solicitações dinâmicas são enviadas para a função web. A AWS também oferece suporte à associação do controle de acesso à origem do CloudFront ao endpoint, permitindo que apenas o domínio especificado o invoque e evitando expor o endpoint ou adicionar um mecanismo de autorização personalizado dentro da aplicação.
O serviço está disponível no lançamento em US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Tokyo) e Europe (Ireland). Inicialmente, ele funciona com Node.js 24 (nodejs24.x) em Arm64, com suporte à conexão com a Amazon VPC para acessar recursos localizados dentro de redes virtuais privadas.