

# OPS05-BP03 Usar sistemas de gerenciamento de configuração
<a name="ops_dev_integ_conf_mgmt_sys"></a>

 Use os sistemas de gerenciamento de configuração 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. 

 O gerenciamento da configuração estática define valores ao inicializar um recurso que deve permanecer consistente durante todo o tempo de vida do recurso. Alguns exemplos incluem a definição da configuração do servidor web ou de aplicação em uma instância, ou a definição da configuração de um serviço da AWS no [Console de gerenciamento da AWS](https://docs.aws.amazon.com/awsconsolehelpdocs/index.html) ou por meio da [AWS CLI](https://aws.amazon.com/cli/). 

 O gerenciamento da configuração dinâmica define valores na inicialização que podem ou devem ser alterados durante o tempo de vida de um recurso. Por exemplo, é possível definir a alternância de um recurso para ativar uma funcionalidade no código por meio de uma alteração na configuração, ou alterar o nível de detalhes do log durante um incidente para capturar mais dados e desfazer a alteração depois do incidente, eliminando os logs agora desnecessários e a despesa associada. 

 Na AWS, você pode usar o [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) para monitorar continuamente as configurações de seus recursos da AWS [entre contas e Regiões](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html). Isso ajuda a rastrear o histórico da configuração, compreender como a alteração de uma configuração afeta outros recursos e auditá-la em relação a configurações esperadas ou desejadas, usando o [Regras do AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) e [pacotes de conformidade do AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html). 

 Se tiver configurações dinâmicas em suas aplicações executadas em instâncias do Amazon EC2, AWS Lambda, contêineres, aplicativos móveis ou dispositivos de IoT, você pode usar o [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) para configurá-las, validá-las, implantá-las e monitorá-las em seus ambientes. 

 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](https://aws.amazon.com/products/developer-tools/) (por exemplo: [o AWS CodeCommit](https://aws.amazon.com/codecommit/), o [AWS CodeBuild](https://aws.amazon.com/codebuild/), o [AWS CodePipeline](https://aws.amazon.com/codepipeline/), o [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)e o [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **Resultado desejado:** Você configura, valida e implanta como parte de seu pipeline de integração contínua e entrega contínua (CI/CD). Você monitora para validar se as configurações estão corretas. Isso minimiza qualquer impacto para usuários finais e clientes. 

 **Antipadrões comuns:** 
+  Você atualiza manualmente a configuração do servidor web em toda a frota e vários servidores não respondem devido a erros de atualização. 
+  Você atualiza manualmente a frota do servidor de aplicativos ao longo de muitas horas. A inconsistência na configuração durante a alteração causa comportamentos inesperados. 
+  Alguém atualizou seus grupos de segurança e seus servidores web não estão mais acessíveis. Sem saber o que foi alterado, você gasta muito tempo investigando o problema, ampliando o tempo de recuperação. 
+  Você coloca uma configuração de pré-produção em produção por meio de CI/CD sem validação. Você expõe usuários e clientes a dados e serviços incorretos. 

 **Benefícios de estabelecer esta prática recomendada:** A adoção de sistemas de gerenciamento de configurações reduz o nível de esforço para fazer e rastrear alterações, bem como a frequência de erros causados por procedimentos manuais. Os sistemas de gerenciamento de configuração fornecem garantias com relação aos requisitos regulatórios, de conformidade e de governança. 

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

## Orientação para implementação
<a name="implementation-guidance"></a>

 Os sistemas de gerenciamento de configuração são usados para rastrear e implementar alterações nas configurações de aplicações e ambientes. Os sistemas de gerenciamento de configuração também são usados para reduzir erros causados por processos manuais, tornar as alterações de configuração repetíveis e auditáveis e reduzir o nível de esforço. 

### Etapas da implementação
<a name="implementation-steps"></a>

1.  Identifique os proprietários da configuração. 

   1.  Informe os proprietários das configurações sobre quaisquer necessidades regulatórias, de conformidade ou de controle. 

1.  Identifique os itens de configuração e os resultados. 

   1.  Os itens de configuração são todas as configurações de aplicações e ambientes afetadas por uma implantação em seu pipeline de CI/CD. 

   1.  Os resultados incluem critérios de sucesso, validação e o que monitorar. 

1.  Selecione ferramentas para gerenciamento de configuração com base nos requisitos de seus negócios e no pipeline de entrega. 

1.  Considere implantações ponderadas, como implantações canário, para alterações significativas na configuração, a fim de minimizar o impacto de configurações incorretas. 

1.  Integre seu gerenciamento de configuração ao seu pipeline de CI/CD. 

1.  Valide todas as alterações enviadas. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS06-BP01 Preparar-se para alterações malsucedidas](ops_mit_deploy_risks_plan_for_unsucessful_changes.md) 
+  [OPS06-BP02 Testar as implantações](ops_mit_deploy_risks_test_val_chg.md) 
+  [OPS06-BP03 Utilizar estratégias de implantação seguras](ops_mit_deploy_risks_deploy_mgmt_sys.md) 
+  [OPS06-BP04 Automatizar os testes e a reversão](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ [AWS Landing Zone Accelerator (Acelerador de zona de pouso da AWS) ](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/)
+ [AWS Config](https://aws.amazon.com/config/)
+ [ O que é o AWS Config? ](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)
+  [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 
+ [ O que é o AWS CloudFormation? ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+  [Ferramentas de desenvolvedor da AWS](https://aws.amazon.com/products/developer-tools/) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2022 - Proactive governance and compliance for AWS workloads (AWS re:Invent 2022: governança e conformidade proativas para workloads da AWS) ](https://youtu.be/PpUnH9Y52X0?si=82wff87KHXcc6nbT)
+ [AWS re:Invent 2020: Achieve compliance as code using AWS Config (AWS re:Invent 2020: alcance a conformidade como código usando o AWS Config) ](https://youtu.be/m8vTwvbzOfw?si=my4DP0FLq1zwKjho)
+ [ Manage and Deploy Application Configurations with AWS AppConfig (Gerencie e implante configurações de aplicações com o AWS AppConfig) ](https://youtu.be/ztIxMY3IIu0?si=ovYGsxWOBysyQrg0)