🧠FFVAcademy
💻

Compute: EC2, Lambda e Containers

12 min de leitura·+60 XP

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

📘 Domain 3 — Cloud Technology and Services· 34%

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

🗺️ Do mais controle → menos controle

┌────────────────────────────────────────────────────────────┐
│  mais controle ←────────────────────────→ mais gerenciado │
│                                                            │
│  EC2         →  ECS/EKS  →  Fargate  →  Lambda            │
│  (VMs)          (cont.)     (cont.       (funções)        │
│                              serverless)                   │
│                                                            │
│  patch SO    patch img   nada             nada           │
│  escolha     escolha     nada             nada           │
│  AMI         image                                        │
└────────────────────────────────────────────────────────────┘

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íliaLetraOtimizado paraExemplo de uso
General PurposeT, MBalanço CPU/RAM/redeWeb servers, dev/test
Compute OptimizedCCPU intensivaBatch, encoding, HPC, jogos
Memory OptimizedR, X, ZRAM intensivaIn-memory DBs (Redis), SAP HANA
Storage OptimizedI, D, HI/O sequencial e aleatórioData warehouses, NoSQL distribuído
Accelerated ComputingP, G, F, Trn/InfGPU/FPGA/TPUML 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)

ModeloDescontoCompromissoUso ideal
On-Demand0% (preço cheio)NenhumCargas imprevisíveis, curtas
Reserved (1-year)Até 40%1 ano, instância específicaCarga estável por 1+ ano
Reserved (3-year)Até 72%3 anos, instância específicaCarga muito estável por 3+ anos
Savings PlansAté 72%1 ou 3 anos de $/hComo RI mas flexível (família/região)
SpotAté 90%Pode ser terminada a qualquer momentoBatch tolerante a falha, CI/CD
Dedicated HostsPreço premiumServidor físico exclusivoCompliance (BYOL Windows Server)
Capacity ReservationsPreço On-DemandReserva capacidade mesmo sem descontarGarantir 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ísticaLimite / Detalhe
Duração máxima por invocação15 minutos
Memória128 MB a 10.240 MB (em incrementos de 1 MB)
Tamanho do deploy package50 MB (zipado) / 250 MB (descompactado) / 10 GB (container)
Execuções concorrentes1.000 por região (soft limit)
Runtimes suportadosNode.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 Tier1M requisições + 400K GB-segundo por mês (eterno)
python — handler Lambda
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:

  • API Gateway — requisições HTTP/REST/WebSocket
  • S3 — upload, delete ou modificação de objeto
  • DynamoDB Streams — mudanças em tabela
  • EventBridge — eventos custom ou cron
  • SQS / SNS — mensagens em fila ou tópico
  • Kinesis — streams de dados
  • Cognito — hooks de autenticação
  • ALB — target de Application Load Balancer

Containers na AWS

ServiçoO que éQuem gerencia
Amazon ECSOrquestrador proprietário AWSAWS (plano de controle); você gerencia EC2 workers OU usa Fargate
Amazon EKSKubernetes gerenciadoAWS (plano de controle K8s); você gerencia EC2 workers OU usa Fargate
AWS FargateExecução serverless de containersAWS (100% — sem nós para você gerenciar)
Amazon ECRContainer registry privadoAWS (guarda imagens Docker)
App RunnerPaaS para containers webAWS (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

  • AWS Batch — jobs batch em EC2/Fargate/Spot (bioinformática, Monte Carlo)
  • AWS Elastic Beanstalk — PaaS: você entrega código, AWS provisiona EC2/ALB/Auto Scaling
  • AWS Lightsail — VPS simplificado para iniciantes ($3-$10/mês)
  • AWS Outposts — racks AWS no seu DC (já vimos)
  • AWS Wavelength — compute em rede 5G
  • AWS ParallelCluster — HPC com Slurm em EC2

Cenários de decisão

📋 API REST com picos imprevisíveis e baixa latência

API Gateway + Lambda

Zero gestão, escala de 0 a milhares de reqs/s automaticamente, paga só pelo uso. Free Tier eterno cobre projetos pequenos.

Alt: EC2 + ALBViável se você quer controle total, mas custo fixo mesmo sem uso

📋 Processamento noturno pesado (ETL de logs) por 4h

AWS Batch em Spot

Spot economiza até 90% vs On-Demand. Batch retry-automático lida com interrupções. Tolerância a falha nativa.

Alt: EMRSe envolver Hadoop/Spark diretamente, EMR simplifica

Alt: LambdaLimite de 15 min inviabiliza jobs longos

📋 Aplicação monolítica .NET legada migrando do on-prem

EC2 (ou Elastic Beanstalk)

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 + Fargate (para cargas leves) + EC2 (para cargas pesadas)

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

bash — EC2
# 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
bash — Lambda
# 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
bash — ECS Fargate
# 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)?

Memory Optimized (família R ou X). Um r6i.4xlarge tem 128 GB RAM — suficiente para 50 GB de cache com folga.

Qual é a menor unidade de cobrança do Lambda?

Com o billing moderno, é por milissegundo (antes eram 100ms). Memória é cobrada em GB-segundos. Invocação cobrada por requisição.

Empresa precisa BYOL (Bring Your Own License) Windows Server. Qual modelo EC2?

Dedicated Hosts. Fornece o host físico dedicado, permitindo reuso de licenças Microsoft antigas que exigem socket físico.

Para proteger sua EC2 contra interrupções Spot, qual alternativa balanceia custo e estabilidade?

Savings Plans ou Reserved Instances. Ambos dão desconto grande (até 72%) mas sem risco de interrupção como Spot.
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.
🧩

Quiz rápido

3 perguntas · Acerte tudo e ganhe o badge 🎯 Gabarito