O Que É o AWS Fargate? Containers Serverless na AWS
O AWS Fargate é um motor de compute serverless para containers: você especifica CPU e memória por task, e a AWS provisiona e executa a capacidade subjacente por você.
Com ECS ou EKS, normalmente alguém gerencia uma frota de instâncias EC2 para hospedar containers. O Fargate elimina esse trabalho. Você define o que cada task precisa, e o Fargate a executa em capacidade que a AWS provisiona e mantém atualizada. Não há nós para dimensionar, escalar ou proteger.
Como o Fargate difere do launch EC2
No launch type EC2 você paga e gerencia instâncias, empacotando tasks nelas. No Fargate você paga por task exatamente pela CPU e memória que ela solicita. Não ter frota de nós significa não se preocupar com planejamento de capacidade, patching de OS ou bin-packing.
Isolamento por task
Cada task Fargate roda em seu próprio ambiente isolado com sua própria fronteira de kernel, o que dá isolamento mais forte do que containers co-tenant em um host compartilhado. Isso importa para workloads multi-tenant ou sensíveis à segurança.
Trade-offs
- Menos sobrecarga operacional, sem servidores para gerenciar.
- O preço por task pode custar mais do que EC2 densamente empacotado.
- Menos controle sobre o host e os tipos de instância.
- Ótimo encaixe para workloads irregulares, com picos ou de baixo ops.
Funciona com ECS e EKS
O Fargate é um launch type, não um orquestrador separado. Você ainda define task definitions do ECS ou pods do EKS; o Fargate apenas fornece o compute. Isso significa que você pode misturar capacidade Fargate e EC2 no mesmo cluster.
Papel no CI/CD
Um pipeline envia uma imagem para o ECR e atualiza um serviço ECS configurado para Fargate; a AWS provisiona o compute da task no deploy. Como não há frota de nós, os deploys são mais simples e não há nada para escalar antecipadamente. A autenticação usa a role IAM/OIDC usual.
Principais conclusões
- O Fargate executa containers de forma serverless, dimensionando compute por task sem nós para gerenciar.
- Ele funciona como um launch type sob ECS e EKS, não como um sistema separado.
- Pipelines fazem deploy enviando para o ECR e atualizando um serviço apoiado em Fargate.