OPS05-BP04 Usar sistemas de gerenciamento de compilação e de implantação - Framework Well-Architected da AWS

OPS05-BP04 Usar sistemas de gerenciamento de compilação e de implantação

Use sistemas de gerenciamento de compilação e implantação. Esses sistemas reduzem os erros causados pelos processos manuais e o nível de esforço para implantar as alterações.

Na AWS, é possível criar pipelines de integração contínua/implantação contínua (CI/CD) usando serviços como as Ferramentas de desenvolvedor da AWS (por exemplo, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy e AWS CodeStar).

Resultado desejado: seus sistemas de gerenciamento de compilação e implantação oferecem suporte ao sistema de integração contínua (CI/CD) de sua organização, que fornece recursos para automatizar implementações seguras com as configurações corretas.

Práticas comuns que devem ser evitadas:

  • Depois de compilar o código no sistema de desenvolvimento e copiar o executável nos sistemas de produção, há uma falha na inicialização. Os arquivos de log locais indicam que a falha ocorreu devido à ausência de dependências.

  • Você cria a aplicação com êxito com os novos recursos em seu ambiente de desenvolvimento e fornece o código à garantia de qualidade (QA). Ele falha no QA porque não há ativos estáticos.

  • Na sexta-feira, após muito esforço, você consegue criar a aplicação manualmente em seu ambiente de desenvolvimento, incluindo os recursos recém-codificados. Na segunda-feira, você não consegue repetir as etapas que permitiram criar a aplicação com êxito.

  • Você executa os testes que criou para a nova versão. Então você passa a próxima semana configurando um ambiente de teste e executando todos os testes de integração existentes, seguidos pelos testes de performance. O novo código tem um impacto inaceitável na performance e deve ser desenvolvido e testado novamente.

Benefícios de implementar esta prática recomendada: ao fornecer mecanismos para gerenciar atividades de criação e implantação, você reduz o nível de esforço para executar tarefas repetitivas, libera os membros da equipe para se concentrarem em tarefas criativas de alto valor e limita o surgimento de erros provenientes de procedimentos manuais.

Nível de risco exposto se esta prática recomendada não for estabelecida: Médio

Orientação para implementação

Os sistemas de gerenciamento de compilação e implantação são usados para rastrear e implementar mudanças, reduzir erros causados por processos manuais e reduzir o nível de esforço necessário para implantações seguras. Automatize totalmente o pipeline de integração e implantação desde o check-in do código até a compilação, o teste, a implantação e a validação. Isso reduz o tempo de espera, diminui os custos, incentiva o aumento da frequência de mudanças, reduz o nível de esforço e aumenta a colaboração.

Etapas de implementação

Diagrama que mostra um pipeline de CI/CD usando o AWS CodePipeline e serviços relacionados

Diagrama que mostra um pipeline de CI/CD usando o AWS CodePipeline e serviços relacionados

  1. Use o AWS CodeCommit para controlar versões, armazenar e gerenciar ativos (como documentos, código-fonte e arquivos binários).

  2. Use o CodeBuild para compilar código-fonte, executar testes de unidade e produzir artefatos prontos para implantação.

  3. Use o CodeDeploy como um serviço de implantação que automatiza implantações de aplicações em instâncias do Amazon EC2, instâncias on-premises, funções AWS Lambda com tecnologia sem servidor ou Amazon ECS.

  4. Monitore suas implantações.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados: