Containers e serverless em arquitetura enterprise
- ⬜🤖 ML/IA sob ótica de arquiteto: Bedrock, SageMaker, Comprehend(AWS Solutions Architect Professional (SAP-C03))
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Spectrum de compute AWS
Lambda:
Runtime managed, ideal event-driven, cold start milisegundos
Limites: 15min, 10GB RAM, /tmp 10GB
Container image support (até 10GB)
SnapStart pra Java reduzir cold start
ECS Fargate:
Containers sem EC2 (serverless compute)
Task definitions, services, autoscaling
Ideal long-running APIs, batch jobs
ECS on EC2:
Mais controle (GPU, custom AMI, Spot)
Mais operational overhead
EKS Fargate:
Kubernetes sem gerir nodes (limites: sem DaemonSets,
alguns operators exigem EC2)
EKS on EC2 (+ Karpenter):
K8s completo com scaling por Karpenter (fora do ASG)
App Runner:
Git/ECR → container rodando com HTTPS, zero infra
Batch:
Queue de jobs batch, escolhe compute (Fargate/EC2/Spot)
automaticamente. Perfeito pra ML training, rendering- → passou do teto de duração
- → precisa de Spot ou GPU
- → precisa do SO
- → cold start incomoda
- Compute
- Gestão e governança
Um eixo de controle e quatro forças que empurram: duração, latência p99, custo em volume e hardware especial. No SAP, o custo de OPERAÇÃO pesa tanto quanto o de infraestrutura.
- Lambda até bater num limite. Escala a zero, cobra por uso, e é imbatível para evento esporádico. Os limites que empurram para fora: duração máxima por invocação, tamanho de pacote, e cold start quando o p99 é contratual.
- Fargate quando o processo é longo ou constante. Sem host para patchear, e sem teto de duração. Em volume alto e constante, sai mais caro por unidade que EC2 — mas o custo de operação é menor, e o SAP pesa os dois.
- EC2 no cluster quando o preço ou o hardware manda. Spot corta custo de forma expressiva para carga tolerante a interrupção. GPU, driver especial e licença por core também exigem host. É aqui que entra otimização agressiva de custo.
- EC2 puro quando o SO importa. Software legado, agente que precisa de kernel module, licença amarrada a hardware. É o extremo de controle — e de responsabilidade.
- A questão de SAP mistura custo e prazo. Diferente do SAA, aqui o enunciado costuma dar orçamento, SLA e composição de time. "Time pequeno, sem SRE" empurra para serverless mesmo com custo unitário maior — porque o custo de pessoa entra na conta.
Onde isso entra no exame
Espere um requisito de escala ou custo e três arquiteturas plausíveis. As pistas: picos curtos e imprevisíveis apontam Lambda; processo longo com dependência de sistema aponta Fargate; controle de kernel, GPU ou service mesh aponta EKS com nodes gerenciados. Limite de execução e cold start são o que descarta o resto.
Padrões modernos 2026
Default pra API stateless: Fargate (ECS ou EKS dependendo do skill do time). Default pra event-driven/async: Lambda + EventBridge + SQS. Default pra batch: Batch on Fargate Spot. Default pra prototipos/SaaS simples: App Runner. EC2 bare continua relevante apenas em cenários específicos (GPU, requisitos legados, licenciamento per-core).
# Exemplo CDK: ECS Fargate service autoescalado
const cluster = new ecs.Cluster(this, 'C', { vpc });
const taskDef = new ecs.FargateTaskDefinition(this, 'T', {
cpu: 512, memoryLimitMiB: 1024,
});
taskDef.addContainer('api', {
image: ecs.ContainerImage.fromRegistry('111.dkr.ecr.us-east-1.amazonaws.com/api:v1.2'),
logging: ecs.LogDrivers.awsLogs({ streamPrefix: 'api' }),
portMappings: [{ containerPort: 8080 }],
});
const svc = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Svc', {
cluster, taskDefinition: taskDef,
desiredCount: 2, minHealthyPercent: 100,
circuitBreaker: { rollback: true },
});
svc.service.autoScaleTaskCount({ minCapacity: 2, maxCapacity: 50 })
.scaleOnCpuUtilization('cpu', { targetUtilizationPercent: 60 });Uma carga de processamento em lote roda 6 horas por noite, tolera interrupção e consome muita CPU. Qual configuração minimiza custo?
Quando mesh e service discovery agregam
Cloud Map dá service discovery AWS-nativo: registra instância de serviço num namespace, clients descobrem via DNS ou API. App Mesh adiciona camada Envoy pra L7 routing, retries declarativos, mTLS, observability tracing. VPC Lattice é a alternativa mais recente — mesh L7 managed sem precisar rodar Envoy, com IAM-based auth nativo.
Escolha de compute em SAP-C03 é quase sempre: Lambda (event small), Fargate (container pequeno-médio), EC2 (requisito específico), Batch (job massa), App Runner (prototipo). Raramente EKS ganha se time não é K8s-native.
Perguntas frequentes
❓ Como decidir a plataforma de execução em arquitetura enterprise?
❓ Malha de serviço vale a pena?
❓ Função com imagem de contêiner ou pacote?
Fixando
Numa arquitetura enterprise, qual argumento favorece serverless mesmo com custo unitário maior?
Qual limitação empurra uma carga de Lambda para container?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…