O Que É o Elastic Beanstalk? A Plataforma como Serviço da AWS
O AWS Elastic Beanstalk é uma plataforma como serviço: você faz upload do seu app e o Beanstalk provisiona e gerencia as instâncias EC2, o load balancer e o escalonamento nos bastidores.
O Beanstalk é para equipes que querem fazer deploy de um app web na AWS sem configurar EC2, load balancers e auto-scaling manualmente. Você escolhe uma plataforma (Node.js, Python, Java, Docker e mais), envia seu código, e o Beanstalk monta o ambiente. Você ainda pode descer até os recursos subjacentes quando necessário.
O que o Beanstalk provisiona
A partir de uma única application version, o Beanstalk cria um ambiente com instâncias EC2, um Auto Scaling group, um Elastic Load Balancer, security groups e monitoramento de saúde. Ele conecta tudo isso para que seu app esteja acessível e escalável desde o início.
Aplicações, versões e ambientes
- Application - o projeto lógico.
- Application version - um build específico enviado.
- Environment - um deploy em execução (por exemplo staging ou production).
Você mantém o controle
Embora o Beanstalk gerencie recursos, você pode configurá-los por meio de option settings ou .ebextensions, e mantém acesso total às instâncias EC2 e outros recursos que ele cria. É conveniência gerenciada sem ser uma caixa-preta.
Políticas de deploy
O Beanstalk suporta deploys all-at-once, rolling, rolling com batch adicional e immutable. As políticas mais seguras sobem novas instâncias antes de aposentar as antigas, trocando velocidade de deploy por atualizações sem downtime.
Papel no CI/CD
Um pipeline empacota o app, envia uma nova application version e diz ao Beanstalk para fazer deploy dela em um ambiente. A AWS CLI ou a EB CLI faz isso, autenticada com uma role IAM/OIDC. O CI cuida do build e dos testes; o Beanstalk cuida do provisionamento e da política de liberação.
Principais conclusões
- O Elastic Beanstalk é o PaaS da AWS: envie o código e ele provisiona a infraestrutura.
- Ele gerencia EC2, load balancing e escalonamento, mantendo os recursos acessíveis.
- Pipelines fazem deploy enviando uma nova application version e acionando uma liberação.