Para garantir a continuidade dos negócios e a alta disponibilidade é muito importante conhecer as principais estratégias de deployment em nuvem: Bing Bang, Phased Rollout, e Parallel Adoptation para então escolher quando usar cada uma delas.
Big Bang
Na estratégia Bing Bang, tudo é atualizado ao mesmo tempo.
Essa a forma de deployment mais simples e rápida, porém, a menos recomendada porque tem maior risco operacional.
Isso porque se algo der errado todos os usuários serão afetados e há grandes chances de indisponibilidade do sistema.
Phased Rollout
Na estratégia de Phased Rollout, você geralmente vai substituindo os servidores aos poucos até que todos estejam rodando a nova versão da aplicação.
Em um rolling deployment, a nova versão da aplicação gradualmente vai substituindo a antiga, durante algum tempo ambas as versões coexistirão sem afetar as funcionalidades ou a experiência dos usuários.

Na prática, você pode fazer isso substituindo instancias EC2s por novas instâncias usando AMIs atualizadas, também é possível substituir containers com ECS (Elastic Container Service) ou Kubernetes.
Parallel Adoptation
Com Parallel Adoptation se mantém 2 versões do sistema funcionando em paralelo.
Sobe-se a nova versão enquanto a anterior ainda está rodando e vai migrando o trafego paulatinamente de um cluster para outro com a possibilidade de fazer rollback se algo não correr como era esperado.
É possível fazer isso com Roteamente de trafego, no caso da AWS usando Load Balancers (ELB/ALB) e Route 53 colocando em prática algumas das seguintes duas sub-estratégias mais comuns Canary Releases ou Blue Green Deployments.
Blue Green Deployments
Essa estratégia também é conhecida como Red-Black Deployment ou A/B Deployment.
Na estratégia BlueGreen, você tem dois ambientes, o blue (azul) é o que está recebendo todo o trafego da aplicação e o green (verde) é um clone desse ambiente que não está assumindo nenhum trafego.
No momento de fazer deploy a nova versão é implantada no ambiente verde (green) e então lá essa versão poderá ser testada.
Somente os testes forem bem sucedidos, então, o trafego será migrado do ambiente azul (blue) com a versão antiga para o ambiente verde (green) com a nova versão.
Veja nas imagens:


Canários (Canary Releases)
O modelo Canário é bem semelhante ao BlueGreen, porém, em vez de trocar todo o trafego em um único passo de um ambiente para o outro, essa troca de roteamento é mais faseada.
Dessa forma atualiza-se a aplicação em apenas uma parte da infra-estrutura e os usuários vão sendo migrados aos poucos até que gradualmente, se não houver problemas, todos os usuários serão migrados e o restante da infra atualizada para a nova versão.

Se você quiser se aprofundar no assunto recomendo que leia o livro Entrega Contínua (Continuous Delivery) de Jez Humble e David Farley.
Deployment na AWS na Prática
Para aprender mais, veja essa palestra que Andy Mui e Vald Vlasceanu apresentaram no evento global da Amazon em Las Vegas.
Vale a pena ver também essa apresentação de Brent Maxwell no evento AWS Innovate sobre Entrega Contínua (Continuous Delivery).
Referências
- Jason Skowronski: Intro to deployment strategies
- Martin Fowler: Blue Green Deployments
- Martin Fowler: Canary Releases
- Blue Green Deployment with AWS