O que é o AWS Lambda?
AWS LambdaO é um serviço de computação com tecnologia sem servidor que permite executar código sem provisionar nem gerenciar servidores. O Lambda gerencia automaticamente a infraestrutura subjacente, inclusive a manutenção de servidores, o provisionamento de capacidade, a escalabilidade e a aplicação de patches, para que você possa se concentrar na lógica da aplicação.
O Lambda fornece duas primitivas de computação, cada uma projetada para diferentes padrões de workloads:
-
Funções do Lambda: execute o código em resposta a eventos ou chamadas de API sem gerenciar servidores. Você escreve uma função do manipulador, conecta-a a um acionador (API Gateway, Amazon S3, Amazon SQS, EventBridge e mais de 200 outros serviços da AWS) e o Lambda a executa. Cada invocação é executada de forma independente, sem estado compartilhado, escalando horizontalmente para atender à demanda. O Lambda gerencia os ambientes de execução, a escalabilidade, o roteamento e a tolerância a falhas.
-
Lambda MicroVMS: ambientes computacionais isolados com startup quase instantâneo e retenção do estado por até 8 horas. Projetado para workloads que precisam de um ambiente de computação dedicado para cada usuário ou trabalho individual. O Lambda gerencia o isolamento, a capacidade e as redes. Sua aplicação usa APIs do Lambda MicroVMS e endpoints HTTPS para conectar cada usuário/trabalho ao seu ambiente computacional.
Para obter informações sobre a definição de preço, consulte Definição de preço do AWS Lambda
Como as funções do Lambda e o Lambda MicroVMS se comparam
As funções do Lambda e o Lambda MicroVMS compartilham uma base comum de tecnologia sem servidor:
-
Sem gerenciamento de servidores: a AWS gerencia a infraestrutura subjacente, a aplicação de patches na instância e a capacidade.
-
Pagamento por uso: não há um compromisso prévio. Pague apenas pelos recursos usados.
-
Redes gerenciadas: ambas fornecem acesso à rede de entrada e saída gerenciado pelo serviço.
-
Virtualização do Firecracker: isolamento de VM entre workloads.
Embora compartilhem essa base, eles atendem a casos de uso diferentes:
| Funções do Lambda | Lambda MicroVMS | |
|---|---|---|
| Melhor para | Workloads orientados por eventos ou por resposta à solicitações (APIs, processamento de dados, automação) | Ambientes persistentes que executam o código não confiável produzido pelo usuário ou pela IA |
| Modelo de programação | Manipulador de funções invocado em um runtime compatível | Qualquer aplicação: execute seus próprios binários, receba nas portas, use os recursos do sistema operacional Linux |
| Duração | Até 15 minutos por invocação; fluxos de trabalho de várias etapas que duram até um ano com as funções duráveis do Lambda | Até 8 horas por sessão; suspenda e retome as sessões |
| Ambiente de runtime | Runtimes de linguagem fornecidos pelo serviço e suporte para runtimes fornecidos pelo cliente | Imagens de microVM fornecidas pelo cliente |
| Redes de entrada | Invocações diretas ou integrações de origem de eventos com serviços da AWS; suporte para transmissão de resposta | Acesso de entrada a qualquer porta usando os protocolos na camada OSI 7 |
| Simultaneidade | Uma solicitação por ambiente de execução por vez | Várias conexões simultâneas por microVM |
| Estado do ambiente | Os ambientes de execução podem ser reutilizados (inicializações a quente), mas o estado pode não persistir nas invocações | Estado da memória e do disco preservados na suspensão; restaurados na retomada |
| Escalabilidade | Automático: o Lambda cria e destrói ambientes de execução em resposta ao tráfego | Controlado pelo desenvolvedor: você cria, suspende, retoma e finaliza microVMs por meio da API |
| Ciclo de vida | Totalmente gerenciado pelo Lambda | Controlado pelo desenvolvedor; políticas opcionais de inatividade para suspensão/retomada automática |
| Preços | Por solicitação + GB-segundos de tempo de execução | Por segundo de computação durante a execução + armazenamento de snapshots em suspensão |