Implantações in-place e blue/green

Automatizando implantações na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

A queda das 2h da manhã

2.00

  • Deploy de uma vez dá errado
  • Todo servidor roda a versão quebrada
  • Clientes veem erros por uma hora
  • Rollback requer outro deploy completo
Automatizando implantações na AWS

Por que a estratégia de deploy importa

2.1

  • Um release ruim pode derrubar o serviço
  • Tudo de uma vez = mais rápido, mais arriscado
  • Gradual = mais lento, mais seguro
  • A estratégia limita o raio de impacto se falhar
Automatizando implantações na AWS

Implantações in-place

in-place

  • Deploy nas mesmas instâncias que atendem o tráfego
  • Um lote por vez: metade, depois metade; ou uma a uma
  • Health-check de cada lote antes de seguir
  • Barato; sem infraestrutura extra
Automatizando implantações na AWS

Implantações blue/green

  • Blue = frota atual em produção
  • Green = nova frota com a nova versão
  • O load balancer desvia o tráfego de blue para green
  • A frota antiga permanece disponível para rollback rápido

blue-green

Automatizando implantações na AWS

Lambda e ECS são blue/green por design

  • Lambda: tráfego muda via ponteiro de versão de alias
  • ECS: tráfego muda via replacement task set
  • Sem duplicar frotas no estilo EC2
  • Você ainda escolhe uma configuração de deploy

ecs

Automatizando implantações na AWS

Escolhendo entre in-place e blue/green

  • Orçamento apertado, patch de baixo risco → in-place
  • Precisa de zero downtime ou rollback instantâneo → blue/green
  • Servidor legado único → in-place é a única opção
  • Lambda ou ECS → blue/green é nativo

decide

Automatizando implantações na AWS

Rollback no CodeDeploy

rollback

  • Rollback = reimplantar a revisão anterior bem-sucedida
  • Acionar automaticamente em falha de deploy
  • Acionar automaticamente em alarme do CloudWatch
  • Blue/green rollback: voltar o load balancer
Automatizando implantações na AWS

Vamos praticar!

Automatizando implantações na AWS

Preparing Video For Download...