Esse conteúdo está desatualizado. Esta versão da Well-Architected Framework agora pode ser encontrada em: https://docs.aws.amazon.com/pt_br/wellarchitected/2022-03-31/framework/operational-excellence.html

OPS 5: Como você reduz defeitos, facilita a correção e melhora o fluxo na produção?

Adote abordagens que melhoram o fluxo de alterações na produção, que permitem refatoração, feedback rápido sobre a qualidade e correção de erros. Isso acelera as alterações benéficas que entram na produção, limita os problemas implantados e permite a rápida identificação e correção dos problemas introduzidos pelas atividades de implantação.

Recursos

CI/CD for Serverless Applications on AWS
Design with Ops in Mind
AWS Developer Tools

Melhores práticas:

Plano de melhoria

Usar controle de versão

  • Usar controle de versão: Manter ativos em repositórios controlados por versão. Fazer isso oferece suporte para o rastreamento de alterações, a implantação de novas versões, a detecção de alterações nas versões existentes e a reversão para versões anteriores (por exemplo, a reversão para um estado bom e conhecido no caso de uma falha). Integre os recursos de controle de versão dos sistemas de gerenciamento de configurações aos seus procedimentos.
    Introduction to AWS CodeCommit
    What is AWS CodeCommit?
  • Testar e validar alterações

  • Testar e validar alterações: As alterações devem ser testadas e os resultados validados em todas as etapas do ciclo de vida (por exemplo, desenvolvimento, teste e produção). Use os resultados dos testes para confirmar novos recursos e reduzir o risco e o impacto de implantações com falha. Automatize os testes e a validação para garantir a consistência da análise, reduzir erros causados por processos manuais e reduzir o nível de esforço.
    What is AWS CodeBuild?
    Local build support for AWS CodeBuild
  • Usar sistemas de gerenciamento de configurações

  • Usar sistemas de gerenciamento de configurações: Use sistemas de gerenciamento de configurações para acompanhar e implementar alterações, reduzir erros causados por processos manuais e diminuir o nível de esforço.
    Infrastructure configuration management
    AWS Config
    What is AWS Config?
    Introduction to AWS CloudFormation
    What is AWS CloudFormation?
    AWS OpsWorks
    What is AWS OpsWorks?
    Introduction to AWS Elastic Beanstalk
    What is AWS Elastic Beanstalk?
  • Usar sistemas de gerenciamento de compilação e implantação

  • Usar sistemas de gerenciamento de compilação e implantação: Use sistemas de gerenciamento de compilação e implantação para rastrear e implementar alterações, reduzir erros causados por processos manuais e reduzir o nível de esforço. Automatize totalmente o pipeline de integração e implantação desde o check-in do código até a compilação, teste, implantação e validação. Isso reduz o tempo de execução, permite maior frequência de mudança e reduz o nível de esforço.
    What is AWS CodeBuild?
    Continuous integration best practices for software development
    Slalom: CI/CD for serverless applications on AWS
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?
  • Executar gerenciamento de patches

  • Gerenciamento de patches: Aplique patches nos sistemas para corrigir problemas, obter os recursos ou capacidades desejados e permanecer em conformidade com a política de governança e os requisitos de suporte do fornecedor. Em sistemas imutáveis, implante com o conjunto de patches adequado para alcançar o resultado desejado. Automatize o mecanismo de gerenciamento de patches para reduzir o tempo decorrido para aplicar patches, reduzir erros causados por processos manuais e reduzir o nível de esforço para corrigir.
    AWS Systems Manager Patch Manager
  • Compartilhar padrões de projetos

  • Compartilhar padrões de projetos: Compartilhe as melhores práticas existentes, padrões de projeto, listas de verificação, procedimentos operacionais e requisitos de orientação e governança entre equipes para reduzir a complexidade e maximizar os benefícios dos esforços de desenvolvimento. Garanta a existência de procedimentos para solicitar alterações, acréscimos e exceções aos padrões de projeto para apoiar a melhoria e inovação contínuas. Garanta que as equipes estejam cientes do conteúdo publicado, para que possam tirar proveito do conteúdo e limitar o retrabalho e o esforço desperdiçado.
    Delegating access to your AWS environment
    Share an AWS CodeCommit repository
    Easy authorization of AWS Lambda functions
    Sharing an AMI with specific AWS accounts
    Speed template sharing with an AWS CloudFormation designer URL
    Using AWS Lambda with Amazon SNS
  • Implementar práticas para aprimorar a qualidade do código

  • Implementar práticas para aprimorar a qualidade do código: Implemente práticas para melhorar a qualidade do código, minimizando defeitos e o risco de serem implantados. Por exemplo, desenvolvimento orientado por testes, programação em pares, análises de código e adoção de padrões.
  • Usar vários ambientes

  • Usar vários ambientes: Forneça aos ambientes de sandbox dos desenvolvedores com controles minimizados para permitir a experimentação. Forneça ambientes de desenvolvimento individuais para permitir o trabalho em paralelo, aumentando a agilidade do desenvolvimento. Implemente controles mais rigorosos nos ambientes que se aproximam da produção para permitir aos desenvolvedores a liberdade necessária para a inovação. Use a infraestrutura como sistemas de gerenciamento de código e configuração para implantar ambientes que são configurados de maneira consistente com os controles presentes na produção para garantir que os sistemas operem conforme o esperado quando implantados. Quando os ambientes não estiverem em uso, desligue-os para evitar custos associados a recursos inativos (por exemplo, sistemas de desenvolvimento à noite e fins de semana). Implante ambientes equivalentes de produção ao carregar o teste para habilitar resultados válidos.
    What is AWS CloudFormation?
    How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
  • Fazer alterações frequentes, pequenas e reversíveis

  • Fazer alterações frequentes, pequenas e reversíveis: Alterações frequentes, pequenas e reversíveis reduzem o escopo e o impacto de uma alteração. Isso facilita a solução de problemas, permite uma correção mais rápida e oferece a opção de reverter uma alteração. Também aumenta a taxa na qual você pode agregar valor aos negócios.
  • Automatize totalmente a integração e a implantação

  • Usar sistemas de gerenciamento de compilação e implantação: Use sistemas de gerenciamento de compilação e implantação para rastrear e implementar alterações, reduzir erros causados por processos manuais e reduzir o nível de esforço. Automatize totalmente o pipeline de integração e implantação desde o check-in do código até a compilação, teste, implantação e validação. Isso reduz o tempo de execução, permite maior frequência de mudança e reduz o nível de esforço.
    What is AWS CodeBuild?
    Continuous integration best practices for software development
    Slalom: CI/CD for serverless applications on AWS
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?