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:
-
Usar controle de versão:
Use o controle de versão para habilitar o rastreamento de alterações e liberações.
-
Testar e validar alterações:
Teste e valide as alterações para ajudar a limitar e detectar erros. Automatize os
testes para reduzir erros causados por processos manuais e reduzir o nível de esforço
para testar.
-
Usar sistemas de gerenciamento de configurações:
Use sistemas de gerenciamento de configurações para fazer e rastrear alterações nas
configurações. Esses sistemas reduzem os erros causados pelos processos manuais e
o nível de esforço para implantar as alterações.
-
Usar sistemas de gerenciamento de compilação e implantação:
Usar 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.
-
Executar gerenciamento de patches:
Execute o gerenciamento de patches para obter recursos, solucionar problemas e manter
a conformidade com a governança. Automatize o gerenciamento de patches para reduzir
erros causados por processos manuais e reduzir o nível de esforço para corrigir.
-
Compartilhar padrões de projetos:
Compartilhe as melhores práticas entre as equipes para aumentar a conscientização
e maximizar os benefícios dos esforços de desenvolvimento.
-
Implementar práticas para aprimorar a qualidade do código:
Implemente práticas para aprimorar a qualidade do código e minimizar os defeitos.
Por exemplo, desenvolvimento orientado por testes, análises de código e adoção de
padrões.
-
Usar vários ambientes:
Use vários ambientes para experimentar, desenvolver e testar a carga de trabalho.
Use níveis crescentes de controles à medida que os ambientes se aproximam da produção
para adquirir confiança de que sua carga de trabalho operará conforme pretendido quando
implantada.
-
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.
-
Automatize totalmente a integração e a implantação:
Automatize a compilação, implantação e o teste da carga de trabalho. Isso reduz os
erros causados pelos processos manuais e reduz o esforço para implantar alterações.
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?