AWS Containers e Serverless: Guia Completo

Docker, ECS, Fargate, Lambda, API Gateway e muito mais — domine os serviços de containers e serverless da AWS com comparações claras e casos de uso para o CLF-C02.

AWS Containers e Serverless: Conceitos Fundamentais

Os temas de containers e serverless aparecem consistentemente nos exames da AWS. O essencial é compreender as diferenças entre Lambda, ECS e Fargate, e saber qual serviço utilizar em cada cenário. Dominar os fundamentos do Docker também é muito útil.

---

O que é Docker?

Docker é uma plataforma que empacota aplicações em containers para que sejam executadas de forma idêntica em qualquer ambiente. Resolve efetivamente o problema "funciona na minha máquina" que costuma surgir entre os ambientes de desenvolvimento e produção.

Principais Vantagens do Docker

| Vantagem | Descrição | |----------|-----------| | Portabilidade | Executa de forma idêntica em qualquer sistema operacional ou máquina | | Inicialização rápida | Containers iniciam em segundos | | Leveza | Compartilha o kernel do sistema operacional do host, tornando-o mais leve que VMs | | Escalabilidade | Pode escalar para cima ou para baixo em segundos |

Docker vs Máquinas Virtuais (VMs)

As duas tecnologias têm propósitos semelhantes, mas diferem na implementação. O Docker compartilha o kernel do sistema operacional do host, tornando-o significativamente mais leve e rápido do que as máquinas virtuais tradicionais.

| Categoria | Container Docker | Máquina Virtual (VM) | |-----------|-----------------|---------------------| | Tamanho | Leve e rápido (SO compartilhado) | Pesado (inclui SO completo) | | Tempo de inicialização | Segundos | Minutos | | Portabilidade | Muito alta | Relativamente baixa | | Ideal para | Microsserviços, aplicações modernas | Ambientes multi-SO |

Registros de Imagens Docker

Docker Hub (): Registro de imagens públicas Amazon ECR (Elastic Container Registry): Registro privado de imagens de containers da AWS

---

Serviços de Execução de Containers: ECS vs Fargate

Amazon ECS (Elastic Container Service)

ECS é um serviço de orquestração de containers totalmente gerenciado que executa, interrompe e gerencia containers Docker na AWS. Integra-se com IAM, VPC, ELB e ECR, e oferece dois modos de execução.

| Modo | Descrição | |------|-----------| | Modo EC2 | Você provisiona e gerencia as instâncias EC2 diretamente | | Modo Fargate | Serverless — não é necessário gerenciar instâncias EC2 |

AWS Fargate

Fargate é um mecanismo de execução de containers serverless. Não é necessário provisionar ou gerenciar instâncias EC2 — você paga apenas pela vCPU e memória que seu container precisa. Funciona tanto com ECS quanto com EKS.

Pontos de comparação frequentemente avaliados nos exames: ECS + EC2: Você gerencia os servidores subjacentes (instâncias EC2) ECS + Fargate: Serverless — a AWS gerencia a infraestrutura automaticamente ECR: Onde as imagens Docker usadas pelo ECS/Fargate são armazenadas

---

O que é Serverless?

Serverless não significa que não existem servidores — significa que você não precisa gerenciá-los. Você implanta seu código (funções) e a AWS cuida do provisionamento, escalamento e gerenciamento. É otimizado para arquiteturas orientadas a eventos. Os serviços representativos incluem Lambda, DynamoDB, S3 e Fargate.

---

AWS Lambda — O Núcleo Serverless

Lambda é uma oferta de FaaS (Function as a Service) que permite executar código sem gerenciar servidores. É executado apenas quando um evento ocorre, portanto, você é cobrado somente pelo tempo em que seu código realmente é executado.

Comparação EC2 vs Lambda

| Categoria | EC2 | Lambda | |-----------|-----|--------| | Execução | Servidor virtual sempre em execução | Executado apenas quando acionado por eventos | | Escalamento | Adição/remoção manual de instâncias | Escalamento automático | | Cobrança | Tempo total de execução | Somente pelo tempo utilizado | | Limites | Limites de RAM/CPU | Tempo máximo de execução: 15 minutos |

Características Principais do Lambda

Tempo máximo de execução: 15 minutos (adequado para funções de curta duração) Nível gratuito: 1 milhão de requisições + 400.000 GB-segundos por mês Escalamento automático: de algumas requisições por dia a milhares por segundo RAM: até 10 GB (aumentar a RAM também melhora o desempenho de CPU e rede)

Runtimes Compatíveis

Node.js, Python, Ruby, Java, Go, .NET Core, Runtime Personalizado

Casos de Uso Comuns do Lambda

Gerar miniaturas automaticamente quando imagens são enviadas ao S3 Agendar tarefas cron serverless Criar APIs REST serverless com API Gateway

Preços do Lambda

| Item | Nível Gratuito | Custo Adicional | |------|---------------|----------------| | Requisições | 1 milhão por mês | $0,20 por milhão | | Tempo de execução | 400.000 GB-segundos por mês | $1,00 por 600.000 GB-segundos |

O Lambda é otimizado para processamento de eventos de curta duração (menos de 15 minutos) e não é adequado para cargas de trabalho em lote de longa duração.

---

Amazon API Gateway

API Gateway é um serviço totalmente gerenciado que expõe funções Lambda como APIs HTTP. Suporta APIs REST, HTTP e WebSocket e escala de forma serverless. Segurança, autenticação, throttling e cache estão integrados.

Combinar Lambda com API Gateway proporciona uma arquitetura de API completamente serverless.

---

AWS Batch — Processamento em Lote em Grande Escala

AWS Batch é um serviço totalmente gerenciado para execução de cargas de trabalho em lote em grande escala. Provisiona automaticamente instâncias EC2 ou Spot com base nos requisitos do job. Os jobs do Batch são definidos como imagens Docker e executados no ECS. Os casos de uso comuns incluem machine learning, renderização e processamento de dados em grande escala.

Comparação Lambda vs AWS Batch

A diferença mais significativa entre os dois é a duração da execução. Lambda é adequado para tarefas que são concluídas em menos de 15 minutos; o AWS Batch lida com cargas de trabalho mais longas.

| Categoria | Lambda | AWS Batch | |-----------|--------|-----------| | Arquitetura | Orientada a eventos | Processamento em lote | | Tempo de execução | Até 15 minutos | Minutos a horas | | Infraestrutura | Completamente serverless | Usa EC2 / Fargate | | Disco | Limitado (efêmero) | EBS / Instance Store | | Ideal para | Funções curtas e leves | Computação de longa duração em grande escala |

---

Amazon Lightsail — Tudo em Um para Iniciantes

Lightsail oferece servidores virtuais, armazenamento, bancos de dados e redes a um preço baixo e previsível. É uma alternativa simplificada ao EC2, RDS, ELB, EBS e Route 53, projetada para usuários com pouca experiência em nuvem.

É comumente usado para aplicações web simples como WordPress, stacks LAMP e aplicações Node.js, além de ambientes de desenvolvimento e teste. Observe que, embora o Lightsail ofereça alta disponibilidade, não suporta auto-scaling e tem integração limitada com outros serviços da AWS.

---

Comparação de Serviços em um Relance

| Serviço | Palavras-Chave | Casos de Uso | |---------|---------------|-------------| | Docker | Container, portabilidade, inicialização rápida | Empacotamento e implantação de aplicações | | ECR | Registro de imagens Docker (privado) | Armazenamento de imagens para ECS/Fargate | | ECS | Orquestração de containers | Executar e gerenciar containers Docker | | Fargate | Containers serverless | Executar containers sem EC2 | | Lambda | Serverless, FaaS, máx 15 min | Funções de curta duração orientadas a eventos | | API Gateway | API serverless | Expor Lambda como API HTTP | | AWS Batch | Processamento em lote, jobs de longa duração | ML, renderização, ETL em grande escala | | Lightsail | Econômico, simples, para iniciantes | WordPress, pequenas aplicações web |

---

Lista de Verificação Pré-Exame

Docker = containers que são executados de forma idêntica em qualquer lugar ECR = registro privado de imagens Docker da AWS ECS = orquestração de containers Docker (escolher EC2 ou Fargate) Fargate = containers serverless (sem gerenciamento de EC2) Lambda = serverless FaaS, tempo máximo de execução 15 minutos Nível gratuito do Lambda: 1 milhão de requisições por mês sem custo Lambda + API Gateway = API completamente serverless Jobs em lote com mais de 15 minutos → AWS Batch Lightsail = tudo em um econômico para iniciantes (sem auto-scaling)

Voltar à lista do blog