Compute: EC2, Lambda e Containers
- ⬜🔐 IAM: Identidade, Grupos, Roles e Policies(AWS Cloud Practitioner)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Compute é a categoria de serviços que executa seu código. A AWS tem o catálogo mais vasto do mercado: VMs tradicionais (EC2), serverless (Lambda), containers (ECS/EKS/Fargate), Edge (Lambda@Edge), HPC (ParallelCluster) e mais. O exame CLF-C02 cobra os fundamentos de cada família e quando usar cada um.
Onde isso entra no exame
Compute é o coração do domínio 3 (o maior em peso). Espera-se que você identifique a família EC2 correta para um workload, entenda os modelos de pricing, saiba quando trocar EC2 por Lambda, e reconheça ECS/EKS/Fargate quando a questão mencionar containers.
O espectro compute da AWS
- → menos gestão de SO
- → sem host
- → sem container
- → sem código de infra
- → máximo aqui
- → mínimo aqui
- Compute
- IA e machine learning
- Gestão e governança
- Fora da AWS
Um eixo só: quanto você quer gerenciar. Da esquerda para a direita, você entrega controle e recebe menos trabalho. A expressão "menor esforço operacional" no enunciado significa "escolha a opção mais à direita que resolve".
- EC2: controle total, responsabilidade total. Você escolhe o SO, instala o que quiser, e cuida de patch, escala e capacidade ociosa. É a resposta quando a questão pede software legado, licença específica ou acesso ao sistema operacional.
- Container: empacota uma vez, roda igual. ECS ou EKS orquestram; com Fargate você nem vê o host. É o meio do caminho: mais portátil que EC2, mais controlado que Lambda.
- Lambda: só o código, e escala a zero. Você sobe a função e paga por execução — sem tráfego, sem custo. Tem limite de tempo por invocação, então processo muito longo não cabe. "Evento esporádico, sem servidor para gerenciar" é sempre Lambda.
- Serviço gerenciado: você nem escreve infra. S3, DynamoDB, SQS. Não há servidor, container nem função sua. Quando existe um serviço gerenciado que resolve, ele quase sempre é a resposta certa do CLF.
- A pergunta que a prova faz. "Menor esforço operacional" empurra para a direita do espectro. "Precisamos de acesso ao SO" ou "software com licença própria" empurra para a esquerda. É esse eixo, e não preço, que decide.
Amazon EC2 (Elastic Compute Cloud)
VMs sob demanda. Você escolhe SO (AMI), tamanho (instance type), storage (EBS), rede (VPC/Security Group). Base de quase tudo na AWS — tanto que muitos serviços gerenciados rodam EC2 por trás dos panos.
Famílias de instância (letra inicial):
| Família | Letra | Otimizado para | Exemplo de uso |
|---|---|---|---|
| General Purpose | T, M | Balanço CPU/RAM/rede | Web servers, dev/test |
| Compute Optimized | C | CPU intensiva | Batch, encoding, HPC, jogos |
| Memory Optimized | R, X, Z | RAM intensiva | In-memory DBs (Redis), SAP HANA |
| Storage Optimized | I, D, H | I/O sequencial e aleatório | Data warehouses, NoSQL distribuído |
| Accelerated Computing | P, G, F, Trn/Inf | GPU/FPGA/TPU | ML training, inferência, render |
Mnemônica: "Try Memory, Compute Ram, Storage HDDs, Graphics Power" — T/M = general, C = compute, R = RAM, I/D/H = storage, G/P = GPU.
Modelos de compra EC2 (pricing)
| Modelo | Desconto | Compromisso | Uso ideal |
|---|---|---|---|
| On-Demand | 0% (preço cheio) | Nenhum | Cargas imprevisíveis, curtas |
| Reserved (1-year) | Até 40% | 1 ano, instância específica | Carga estável por 1+ ano |
| Reserved (3-year) | Até 72% | 3 anos, instância específica | Carga muito estável por 3+ anos |
| Savings Plans | Até 72% | 1 ou 3 anos de $/h | Como RI mas flexível (família/região) |
| Spot | Até 90% | Pode ser terminada a qualquer momento | Batch tolerante a falha, CI/CD |
| Dedicated Hosts | Preço premium | Servidor físico exclusivo | Compliance (BYOL Windows Server) |
| Capacity Reservations | Preço On-Demand | Reserva capacidade mesmo sem descontar | Garantir capacidade em picos |
AWS Lambda (serverless)
Lambda executa funções sem você gerenciar servidores. Paga-se por invocação + duração em ms + memória alocada.
| Característica | Limite / Detalhe |
|---|---|
| Duração máxima por invocação | 15 minutos |
| Memória | 128 MB a 10.240 MB (em incrementos de 1 MB) |
| Tamanho do deploy package | 50 MB (zipado) / 250 MB (descompactado) / 10 GB (container) |
| Execuções concorrentes | 1.000 por região (soft limit) |
| Runtimes suportados | Node.js, Python, Java, Go, Ruby, .NET, PowerShell, Rust (via custom runtime) |
| Preço (exemplo) | ~$0.20 por 1M requisições + $0.0000166667 por GB-segundo |
| Free Tier | 1M requisições + 400K GB-segundo por mês (eterno) |
import json
def lambda_handler(event, context):
nome = event.get('nome', 'mundo')
return {
'statusCode': 200,
'body': json.dumps({'mensagem': f'Olá, {nome}!'})
}Triggers do Lambda
Lambda é event-driven. Qualquer um destes pode invocar uma função:
- • — requisições HTTP/REST/WebSocket
- • — upload, delete ou modificação de objeto
- • — mudanças em tabela
- • — eventos custom ou cron
- • — mensagens em fila ou tópico
- • — streams de dados
- • — hooks de autenticação
- • — target de Application Load Balancer
Uma função processa uma imagem quando ela é enviada ao S3. O volume é imprevisível: às vezes zero por horas, às vezes centenas por minuto. Qual opção de compute?
Containers na AWS
| Serviço | O que é | Quem gerencia |
|---|---|---|
| Amazon ECS | Orquestrador proprietário AWS | AWS (plano de controle); você gerencia EC2 workers OU usa Fargate |
| Amazon EKS | Kubernetes gerenciado | AWS (plano de controle K8s); você gerencia EC2 workers OU usa Fargate |
| AWS Fargate | Execução serverless de containers | AWS (100% — sem nós para você gerenciar) |
| Amazon ECR | Container registry privado | AWS (guarda imagens Docker) |
| App Runner | PaaS para containers web | AWS (tudo — você só dá a imagem) |
ECS vs EKS: ECS é mais simples e integrado com AWS. EKS é Kubernetes padrão (portabilidade, ecossistema). Fargate é um modo de compute debaixo dos dois — você escolhe se os pods rodam em EC2 (você gerencia) ou Fargate (AWS gerencia).
Outros serviços compute que aparecem no CLF-C02
- • — jobs batch em EC2/Fargate/Spot (bioinformática, Monte Carlo)
- • — PaaS: você entrega código, AWS provisiona EC2/ALB/Auto Scaling
- • — VPS simplificado para iniciantes ($3-$10/mês)
- • — racks AWS no seu DC (já vimos)
- • — compute em rede 5G
- • — HPC com Slurm em EC2
Cenários de decisão
📋 API REST com picos imprevisíveis e baixa latência
Zero gestão, escala de 0 a milhares de reqs/s automaticamente, paga só pelo uso. Free Tier eterno cobre projetos pequenos.
Alt: EC2 + ALB — Viável se você quer controle total, mas custo fixo mesmo sem uso
📋 Processamento noturno pesado (ETL de logs) por 4h
Spot economiza até 90% vs On-Demand. Batch retry-automático lida com interrupções. Tolerância a falha nativa.
Alt: EMR — Se envolver Hadoop/Spark diretamente, EMR simplifica
Alt: Lambda — Limite de 15 min inviabiliza jobs longos
📋 Aplicação monolítica .NET legada migrando do on-prem
Migração lift-and-shift preserva o binário. Depois de estabilizar, considere containerizar (ECS) ou refatorar para serverless.
📋 Cluster Kubernetes multi-time, múltiplos microsserviços
EKS dá o ecossistema K8s completo. Fargate elimina gestão de nós para workloads típicas; EC2 worker nodes quando você precisa DaemonSets, GPU ou customização.
Exemplos práticos
# Lançar uma t3.micro (Free Tier elegível)
aws ec2 run-instances \
--image-id ami-0c55b159cbfafe1f0 \
--instance-type t3.micro \
--key-name minha-chave \
--security-group-ids sg-012345 \
--subnet-id subnet-abc123 \
--count 1# Criar função
aws lambda create-function \
--function-name olaMundo \
--runtime python3.12 \
--role arn:aws:iam::123:role/lambda-role \
--handler app.lambda_handler \
--zip-file fileb://deploy.zip
# Invocar
aws lambda invoke \
--function-name olaMundo \
--payload '{"nome":"AWS"}' resposta.json# Criar task definition + rodar tarefa
aws ecs run-task \
--cluster meu-cluster \
--task-definition minha-task:1 \
--launch-type FARGATE \
--network-configuration "awsvpcConfiguration={subnets=[subnet-abc],securityGroups=[sg-012]}"Armadilha clássica: "Serverless não tem servidor" é meia-verdade. O servidor existe (AWS gerencia). O ponto é que VOCÊ não gerencia. Para o exame, serverless = Lambda + Fargate + DynamoDB + Aurora Serverless + API Gateway + SQS + SNS.
Perguntas típicas (Q&A)
❓ Qual instance family usar para uma aplicação que cacheia Redis em memória (50 GB de dados)?
❓ Qual é a menor unidade de cobrança do Lambda?
❓ Empresa precisa BYOL (Bring Your Own License) Windows Server. Qual modelo EC2?
❓ Para proteger sua EC2 contra interrupções Spot, qual alternativa balanceia custo e estabilidade?
Perguntas frequentes
❓ Lambda ou EC2: como escolher?
❓ Quais são as formas de pagar por EC2?
❓ Contêiner com gerenciamento de servidor ou sem?
Fixando
Uma aplicação legada exige uma versão específica de sistema operacional e um agente que depende de módulo de kernel. Qual compute?
O que significa dizer que o Lambda é "serverless"?
Take-aways: EC2 = VMs com 5 famílias (general/compute/memory/storage/accelerated) e 5 modelos de compra (On-Demand/Reserved/Savings Plans/Spot/Dedicated). Lambda = serverless, 15 min máx, paga por ms. ECS/EKS = containers; Fargate = modo serverless deles. Beanstalk/Lightsail = PaaS. Spot = 90% off mas interrompível. Savings Plans = flexibilidade + desconto.
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…