As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
OPS06-BP02 Implantações de teste
Teste os procedimentos de lançamento na pré-produção usando a mesma configuração de implantação, controles de segurança, etapas e procedimentos da produção. Valide se todas as etapas implantadas foram concluídas conforme o esperado, como inspecionar arquivos, configurações e serviços. Teste mais detalhadamente todas as alterações com testes funcionais, de integração e de carga, além de qualquer monitoramento, como verificações de integridade. Ao fazer esses testes, você pode identificar problemas de implantação com antecedência, podendo planejá-los e mitigá-los antes da produção.
Você pode criar ambientes paralelos temporários para testar cada alteração. Automatize a implantação dos ambientes de teste usando a infraestrutura como código (IaC) para ajudar a reduzir a quantidade de trabalho envolvido e garantir estabilidade, consistência e entrega mais rápida de atributos.
Resultado desejado: a organização adota uma cultura de desenvolvimento orientada a testes que inclui testes de implantações. Isso garante que as equipes se concentrem em oferecer valor empresarial em vez de gerenciar lançamentos. As equipes são engajadas desde o início após a identificação dos riscos de implantação para determinar o curso apropriado da mitigação.
Práticas comuns que devem ser evitadas:
-
Durante as versões de produção, implantações não testadas causam problemas frequentes que exigem soluções e encaminhamento.
-
Sua versão contém infraestrutura como código (IaC) que atualiza os recursos existentes. Você não tem certeza se a IaC será executada com êxito ou causará impacto nos recursos.
-
Você implanta um novo recurso na aplicação. Ele não funciona conforme o esperado e não há visibilidade até que o problema seja relatado pelos usuários afetados.
-
Você atualiza seus certificados. Você instala acidentalmente os certificados nos componentes errados, o que não é detectado e afeta os visitantes do site porque não é possível estabelecer uma conexão segura.
Benefícios de implementar esta prática recomendada: testes extensivos na pré-produção dos procedimentos de implantação, considerando-se que as mudanças introduzidas por eles minimizam o impacto potencial na produção causado pelas etapas de implantação. Isso aumenta a confiança durante o lançamento para produção e minimiza o suporte operacional sem diminuir a velocidade das alterações que estão sendo entregues.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
Testar seu processo de implantação é tão importante quanto testar as alterações resultantes da implantação. Isso poderá ser realizado testando-se suas etapas de implantação em um ambiente de pré-produção que se assemelhe o máximo possível à produção. Problemas comuns, como etapas de implantação incompletas ou incorretas, ou configurações incorretas, podem ser detectados como resultado antes da produção. Além disso, você pode testar suas etapas de recuperação.
Exemplo de cliente
Como parte de seu pipeline de integração contínua e entrega contínua (CI/CD), o AnyCompany varejo executa as etapas definidas necessárias para lançar atualizações de infraestrutura e software para seus clientes em um ambiente semelhante ao de produção. O pipeline é composto por pré-verificações para detectar desvios (detecção de alterações nos recursos executados fora da IaC) nos recursos antes da implantação, bem como validar as ações que a IaC realiza após seu início. Ele valida as etapas de implantação, como verificar se determinados arquivos e configurações estão em vigor e se os serviços estão em execução e respondendo corretamente às verificações de integridade no host local antes de serem registrados novamente no balanceador de carga. Além disso, todas as alterações sinalizam vários testes automatizados, como testes funcionais e de segurança, regressão, integração e carga.
Etapas de implementação
-
Execute verificações de pré-instalação para espelhar o ambiente de pré-produção na produção.
-
Use a detecção de desvio para detectar quando os recursos foram alterados fora do AWS CloudFormation.
-
Use conjuntos de alterações para validar se a intenção de uma atualização de pilha corresponde às ações que são AWS CloudFormation tomadas quando o conjunto de alterações é iniciado.
-
-
Isso aciona uma etapa de aprovação manual ao AWS CodePipeline para autorizar a implantação no ambiente de pré-produção.
-
Use configurações de implantação, como AWS CodeDeploy AppSpecarquivos, para definir as etapas de implantação e validação.
-
Quando aplicável, faça a integração AWS CodeDeploy com outros AWS serviços ou AWS CodeDeploy com produtos e serviços de parceiros.
-
Monitore implantações usando a Amazon CloudWatch e AWS CloudTrail as notificações de SNS eventos da Amazon.
-
Execute testes automatizados pós-implantação, incluindo testes funcionais, de segurança, regressão, integração e carga.
-
Solucione problemas de implantação.
-
A validação bem-sucedida das etapas anteriores deve iniciar um fluxo de trabalho de aprovação manual para autorizar a implantação na produção.
Nível de esforço do plano de implementação: Alto
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: