OPS05-BP03 Usar sistemas de gerenciamento de configuração - Framework Well-Architected da AWS

OPS05-BP03 Usar sistemas de gerenciamento de configuração

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. 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 um recurso para ativar a funcionalidade em seu código por meio de uma alteração na configuração ou alterar o nível de detalhes do registro durante um incidente.

As configurações devem ser implantadas em um estado conhecido e consistente. Recomenda-se usar a inspeção automatizada para monitorar continuamente as configurações de recursos em todos os ambientes e regiões. Esses controles devem ser definidos como código e gerenciamento automatizados para garantir que as regras sejam aplicadas de forma consistente em todos os ambientes. As alterações nas configurações devem ser atualizadas por meio de procedimentos de controle de alterações acordados e aplicadas de forma consistente, respeitando o controle de versão. A configuração da aplicação deve ser gerenciada independentemente do código da aplicação e da infraestrutura. Isso permite uma implantação consistente em vários ambientes. As alterações na configuração não resultam na reconstrução ou reimplantação da aplicação.

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.

Práticas comuns que devem ser evitadas:

  • 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 aplicações 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 implementar 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

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.

Na AWS, é possível usar o AWS Config para monitorar continuamente suas configurações de recursos da AWS em todas as contas e regiões. 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 e o AWS Config Conformance Packs.

Para configurações dinâmicas em suas aplicações executadas em instâncias do Amazon EC2, AWS Lambda, contêineres, aplicações móveis ou dispositivos de IoT do Amazon EC2, você pode usar o AWS AppConfigpara configurá-los, valida-los, implantá-los e monitorá-los em seus ambientes.

Etapas de implementação

  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.

  2. 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.

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

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

  4. 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.

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

  6. Valide todas as alterações enviadas.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados: