OPS06-BP03 Utilizar estratégias de implantação seguras
Implantações seguras de produção controlam o fluxo de mudanças benéficas com o objetivo de minimizar qualquer impacto percebido dessas alterações para os clientes. Os controles de segurança fornecem mecanismos de inspeção para validar os resultados desejados e limitar o escopo do impacto dos defeitos introduzidos pelas alterações ou das falhas de implantação. As implementações seguras podem incluir estratégias como sinalizadores de atributos e implantações one-box, contínuas (versões canário), imutáveis, de divisão de tráfego e azuis/verdes.
Resultado desejado: sua organização usa um sistema de integração e entrega contínuas (CI/CD) que fornece recursos para automatizar implementações seguras. As equipes devem usar estratégias apropriadas de implantação seguras.
Antipadrões comuns:
-
Você implanta uma alteração malsucedida em toda a produção de uma só vez. Como resultado, todos os clientes são afetados simultaneamente.
-
Um defeito introduzido em uma implantação simultânea em todos os sistemas requer um lançamento de emergência. A correção para todos os clientes leva vários dias.
-
O gerenciamento da versão de produção requer planejamento e participação de várias equipes. Isso restringe sua capacidade de atualizar atributos com frequência para seus clientes.
-
Você executa uma implantação mutável modificando os sistemas existentes. Depois de descobrir que a alteração não foi bem-sucedida, você será forçado a modificar os sistemas novamente para restaurar a versão antiga, aumentando o seu tempo de recuperação.
Benefícios de estabelecer esta prática recomendada: implantações automatizadas equilibram a velocidade das implementações com a entrega consistente de mudanças benéficas aos clientes. Limitar o impacto evita falhas de implantação dispendiosas e maximiza a capacidade das equipes de responder às falhas de forma eficiente.
Nível de risco exposto se esta prática recomendada não for estabelecida: Médio
Orientação para implementação
Falhas na entrega contínua podem levar à redução da disponibilidade do serviço e a uma experiência ruim para o cliente. Para maximizar a taxa de implantações bem-sucedidas, implemente controles de segurança no processo de lançamento de ponta a ponta para minimizar os erros de implantação e eliminar as falhas.
Exemplo de clientes
A Loja UmaEmpresa tem a missão de alcançar implantações com tempo de inatividade entre mínimo e zero, isto é, sem impacto perceptível para seus usuários durante as implantações. Para fazer isso, a empresa estabeleceu padrões de implantação (consulte o diagrama de fluxo de trabalho a seguir), como implantações azuis/verdes e contínuas. Todas as equipes adotam um ou mais desses padrões no pipeline de CI/CD.
Fluxo de trabalho do CodeDeploy para Amazon EC2 | Fluxo de trabalho do CodeDeploy para Amazon ECS | Fluxo de trabalho do CodeDeploy para Lambda |
---|---|---|
![]() |
![]() |
![]() |
Etapas da implementação
-
Use um fluxo de trabalho de aprovação para iniciar a sequência das etapas de implantação na promoção para implantação.
-
Use um sistema de implantação automatizado, como o AWS CodeDeployAs opções de implantação do AWS CodeDeploy incluem implantações locais do EC2/on-premises e implantações azuis/verdes do EC2/on-premises, do AWS Lambda e do Amazon ECS (consulte o diagrama de fluxo de trabalho anterior).
-
Use implantações azuis/verdes para bancos de dados, como Amazon Aurora e o Amazon RDS.
-
Monitore as implantações usando as notificações de eventos do Amazon CloudWatch, do AWS CloudTrail e do Amazon Simple Notification Service (Amazon SNS).
-
Realize testes automatizados pós-implantação, incluindo testes funcionais, de segurança, regressão, integração e testes de carga.
-
Solução de problemas de implantação.
Nível de esforço do plano de implementação: médio
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: