AWS SAA-C03/08 - Serverless e Containers2 min
Lambda
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 |
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