OPS06-BP03 Utilizar estratégias de implantação seguras - Pilar Excelência operacional

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
Fluxo do processo de implantação do Amazon EC2
Fluxo do processo de implantação do Amazon ECS
Fluxo do processo de implantação do Lambda

Etapas da implementação

  1. Use um fluxo de trabalho de aprovação para iniciar a sequência das etapas de implantação na promoção para implantação.

  2. 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).

  3. Use implantações azuis/verdes para bancos de dados, como Amazon Aurora e o Amazon RDS.

  4. Monitore as implantações usando as notificações de eventos do Amazon CloudWatch, do AWS CloudTrail e do Amazon Simple Notification Service (Amazon SNS).

  5. Realize testes automatizados pós-implantação, incluindo testes funcionais, de segurança, regressão, integração e testes de carga.

  6. 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: