trilha

AWS SAA-C03/08 - Serverless e Containers2 min

Lambda

Perguntas-guia

Responda com suas palavras antes de ler o resto da nota.

  • Que problema isso resolve?
  • Quando usar / quando NÃO usar?
  • Qual o principal trade-off (custo, latência, operação)?
  • Que sinal no enunciado aponta pra isso?
  • Com o que isso é confundido na prova?

Conceito

Executa código sob demanda, sem servidor. Você paga por invocação e por GB-segundo de duração — zero custo quando não roda.

Limites que a prova cobra

Limite Valor
Timeout máximo 15 minutos
Memória 128 MB – 10 GB (a CPU escala junto)
/tmp 512 MB – 10 GB
Deploy zip / descompactado 50 MB / 250 MB
Imagem de container 10 GB
Concorrência padrão da conta 1.000 (ajustável)
Payload síncrono / assíncrono 6 MB / 256 KB
Variáveis de ambiente 4 KB
O limite de 15 minutos

Se o processamento pode passar de 15 min, toda alternativa com Lambda está errada. As saídas são Fargate, ECS, AWS Batch ou quebrar o trabalho em Step Functions.

Modelos de invocação

Modelo Exemplo Retry
Síncrono API Gateway, ALB, invocação direta Do cliente
Assíncrono S3 event, SNS, EventBridge 2 retries automáticos + DLQ / destino de falha
Poll-based SQS, Kinesis, DynamoDB Streams Event source mapping

Concorrência

  • Reserved concurrency: reserva (e limita) uma fatia para a função — protege as outras funções e protege o banco de ser inundado.
  • Provisioned concurrency: mantém ambientes pré-inicializados → elimina cold start. Sinal de "latência consistente e previsível".

Lambda na VPC

Colocar a função numa VPC dá acesso a RDS/ElastiCache privados, mas ela perde acesso à internet: precisa de NAT Gateway ou VPC Endpoint pra falar com S3, DynamoDB, Secrets Manager etc.

Outros recursos

Layers (código/dependência compartilhados), Lambda SnapStart (reduz cold start em Java), Function URL (endpoint HTTPS direto sem API Gateway), aliases e versões (deploy canário com peso de tráfego).

Trade-offs

Lambda elimina toda a operação e cobra em previsibilidade: cold start, limite de duração, e custo que passa a crescer linearmente com o volume — em carga alta e constante, containers costumam sair mais baratos.

Conexão com banco relacional é o atrito clássico: milhares de invocações simultâneas esgotam o pool do RDS. A resposta é RDS Proxy.

Sinais de prova

  • "Processar imagem quando o arquivo chegar no S3" → S3 event → Lambda
  • "Job que pode levar 1 hora" → não é Lambda (Fargate/Batch)
  • "Eliminar cold start / latência previsível" → Provisioned concurrency
  • "Impedir que uma função consuma toda a concorrência" → Reserved concurrency
  • "Lambda na VPC não acessa o S3" → VPC Endpoint ou NAT
  • "Lambda esgotando conexões do RDS" → RDS Proxy
  • "Executar todo dia às 2h" → EventBridge Scheduler → Lambda

Relacionado


Parte de 08 - MOC Serverless e Containers · Documentação AWS

Buscar

Busca por título, seção e texto das notas