Principais Aprendizados do AWS Fargate em Grupo de Usuários de Melbourne

Na última noite, foi realizada uma apresentação no AWS Melbourne User Group, aprofundando o conhecimento sobre AWS Fargate. A discussão começou relembrando a primeira apresentação no AWSUG em 2012, marcando um ponto de partida para explorar a evolução e os desafios que o AWS Fargate busca resolver.

Apresentação no AWSUG em agosto de 2012

Por que AWS Fargate?

O AWS Fargate visa solucionar desafios cruciais enfrentados por equipes de desenvolvimento, permitindo que se concentrem na implantação de containers sem a necessidade de gerenciar a infraestrutura subjacente. Manter os sistemas operacionais atualizados é uma tarefa complexa e muitas vezes negligenciada, mas o AWS Fargate simplifica esse processo.

Arquitetura do AWS Fargate

O AWS Fargate (versão Linux) utiliza a tecnologia Firecracker VM, proporcionando isolamento de segurança para containers baseados em Linux e funções Lambda. O recurso de computação aparece na sua conta AWS e é compartilhado através de uma interface de rede (ENI).

Considerações sobre Preços

Os preços do AWS Fargate variam de acordo com diversos fatores:

  • Instâncias Spot vs. sob demanda
  • Arquitetura ARM vs. X86 (importante: o Windows Fargate ainda não suporta ARM)
  • Windows vs. Linux (Windows tem custos de licenciamento adicionais)
  • Compartilhamento de CPU e alocação de memória a partir de um menu predefinido (configurações personalizadas não estão disponíveis)

Plataformas de Agendamento de Containers

A AWS oferece duas plataformas principais para o agendamento de containers:

  • Elastic Kubernetes Service (EKS)
  • Elastic Container Service (ECS)

Ambas as plataformas suportam:

  • Execução de containers no AWS Fargate
  • Execução de containers em instâncias EC2 autogerenciadas (ou nodegroups gerenciados no EKS)
  • Modelos de implantação mistos

ECS vs. EKS: Principais Diferenças

ECS:

  • Altamente opinativo e simples
  • Específico da AWS
  • Suporta modelos operacionais descentralizados (“você constrói, você executa”)
  • Adequado para vários clusters ECS

EKS:

  • Altamente flexível com um ecossistema de plugins rico
  • Requer habilidades especializadas para operar de forma eficaz
  • Mais adequado para operações centralizadas
  • Normalmente usa menos clusters, porém maiores

Escolhendo a Abordagem Certa

Ao decidir entre ECS e EKS, considere o modelo operacional da sua organização:

  • Para operações SRE centralizadas tradicionais, o EKS pode ser preferível
  • Para operações descentralizadas que capacitam as equipes, a simplicidade do ECS pode ser vantajosa

Observação: Independentemente da escolha da plataforma, ferramentas golden path focadas no desenvolvedor permanecem cruciais!

Limitações do AWS Fargate em Escala

Ao operar em grande escala, o AWS Fargate no EKS apresenta algumas limitações:

  • Não pode executar daemonsets (requer o padrão sidecar)
  • Risco de overprovisioning se os requisitos do pod não se alinharem com as opções de lançamento do AWS Fargate

Para uma abordagem intermediária, considere o Bottlerocket como uma AMI no EKS para reduzir os riscos de segurança no nível do sistema operacional. Além disso, executar o kube-scheduler no AWS Fargate (incluindo Karpenter) enquanto usa Karpenter para gerenciar nós baseados em EC2 oferece um excelente compromisso.

O AWS Fargate oferece flexibilidade na escolha de plataformas de agendamento de containers, com ECS e EKS apresentando características distintas. A decisão entre os dois deve levar em conta o modelo operacional da organização, com o ECS sendo mais adequado para equipes descentralizadas e o EKS para operações centralizadas. A escolha da plataforma de agendamento de containers é crucial para otimizar o uso do AWS Fargate.

Ainda, para quem busca conhecer mais sobre o mundo da tecnologia, é sempre bom ficar atento as novidades, como a 10 novidades de tecnologia para começar o dia (12/03)

Este conteúdo foi auxiliado por Inteligência Artificial, mas escrito e revisado por um humano.

Leave a Comment

Exit mobile version