Um guia para desvio de configuração e como evitá-lo

O desvio de configuração é uma preocupação importante para todos os desenvolvedores de IAAC. Esta postagem aprenderá sobre gerenciamento de desvio de configuração, sua importância, causas e possíveis soluções.

O que é Drift de Configuração?

Os proprietários de aplicativos devem alterar seus aplicativos e infraestrutura subjacente ao longo do tempo para aprimorar continuamente a experiência do cliente. Esses clientes podem estar dentro ou fora da empresa.

A configuração dos aplicativos e da infraestrutura muda como resultado dessas atualizações e alterações. Essas modificações podem ser benéficas ou degradar a condição endurecida dos sistemas. Desvio de configuração é o termo para isso.

Como funciona o Drift de configuração

O potencial de desvio de configuração aumenta com a complexidade dos sistemas de produção e entrega de software. O código geralmente é transferido da estação de trabalho de um desenvolvedor para um ambiente de desenvolvimento compartilhado, para ambientes de teste e controle de qualidade e, eventualmente, para ambientes de teste e produção.

O impacto potencial aumenta com a distância que a deriva ocorre ao longo da tubulação. Mesmo pequenas variações entre uma versão de pacote instalada no laptop de um desenvolvedor e a versão instalada em um servidor de teste podem atrasar a depuração do problema. Normalmente, espera-se que apenas a preparação e a produção sejam réplicas uma da outra. A tensão é intensa porque muitas empresas implantam novos códigos várias vezes ao dia.

Causas comuns de desvio de configuração

Falta de comunicação

Às vezes, as equipes upstream não conseguem se comunicar com os parceiros downstream sobre as mudanças feitas por eles, o que, como resultado, quebra todo o sistema downstream.

Correções

Os hotfixes são alterações no código feitas para resolver um problema crítico que não pode esperar até a próxima atualização planejada do aplicativo. Às vezes, os engenheiros que trabalham na solução do problema não conseguem fazer alterações ou documentar a mesma correção para outros ambientes no pipeline, o que, como resultado, leva a desvios. Muitas vezes, a reintrodução do problema original resolverá essa deriva.

Atualizações críticas de pacotes

As atualizações de pacotes críticos são um pouco semelhantes aos hotfixes. Ambos são executados em um ritmo rápido. A principal diferença é que as atualizações críticas de pacotes são aplicadas na esperança de evitar futuros incidentes. Portanto, essas atualizações podem causar desvios da mesma maneira que os hotfixes.

Falta de automação

A automação não removerá completamente as chances de desvio de configuração. Isso apenas reduzirá suas chances.

  Como copiar uma pasta no Google Drive

Mudanças de conveniência

Às vezes, as alterações feitas pelos desenvolvedores são temporárias. Por exemplo, o desvio ocorre se um desenvolvedor instala um novo pacote em um servidor de teste para testar alguma funcionalidade e esquece de revertê-lo ao seu estado original.

Por que o gerenciamento de configuração é importante?

Uma das razões pelas quais o desvio de configuração pode ser tão prejudicial é que, se ninguém estiver continuamente procurando por ele, o desvio pode passar despercebido, pois mina gradualmente a base de sua infraestrutura, como um pequeno vazamento em uma casa atrás de uma parede.

Quando o desvio de configuração é descoberto, encontrar o motivo subjacente do desvio de configuração que causou tudo isso leva tempo, o que é um recurso valioso em uma emergência.

No desenvolvimento de software, o desvio é uma causa significativa de ciclos de liberação lentos. Isso pode causar trabalho desnecessário e prejudicar a produtividade do desenvolvedor.

Custos mais baixos

Você pode reduzir o valor total necessário identificando duplicações ou superprovisionamento quando tiver uma imagem detalhada de sua infraestrutura de TI.

Maior produtividade

Clusters com configurações estáveis ​​e conhecidas permitem gerenciamento de lotes e construção de infraestrutura. Além disso, o requisito de gerenciamento manual de configurações individuais é reduzido pela limitação de servidores exclusivos (ou flocos de neve).

Depuração mais rápida

Configurações consistentes permitem que as equipes de depuração excluam erros de configuração. As equipes podem se concentrar em outras causas potenciais, resolvendo tíquetes mais rapidamente porque não precisarão procurar discrepâncias de configuração entre servidores, clusters de servidores ou ambientes.

Problemas causados ​​devido ao desvio de configuração

Problemas de segurança

Configurações inseguras são uma das causas mais frequentes de violações de segurança. O desvio de configuração pode aumentar a probabilidade de outros ataques e violações de rede, mesmo se você começar com uma configuração protegida.

Tempo de inatividade

Um tempo de inatividade significativo pode resultar de um erro de configuração que permite que um invasor use uma falha de DoS ou comprometa um servidor crucial. Isso não é tudo, no entanto. Digamos que você modifique a configuração de um dispositivo de rede, afetando o desempenho. Você sempre pode voltar à sua “configuração dourada”, certo? Levará muito mais tempo para restaurar o serviço se essa configuração apresentar falhas.

Saindo do cumprimento

Controles de segurança rígidos são necessários para a conformidade com regulamentações como ISO 27001, PCI-DSS e HIPAA. O desvio de configuração pode fazer com que você quebre a conformidade se não for interrompido.

Desempenho degradado

Uma configuração geralmente está em sua condição ideal quando está no estado pretendido. As modificações ad-hoc podem dificultar as tentativas de otimização da rede, causando gargalos e conflitos.

Perda de tempo

Pode levar muito tempo para solucionar problemas de uma rede que você não entende bem ou que não corresponde à sua documentação de rede. Isso significa que o desvio de configuração pode resultar em problemas de solução de problemas de TI que podem não existir ou que seriam mais fáceis de resolver se a rede estivesse na condição pretendida, além de gerar tempo de inatividade para os usuários.

  Como instalar software sem direitos de administrador

Erros comuns a serem observados ao monitorar o desvio de configuração

Em um mundo perfeito, todos os servidores de ambiente para desenvolvedores (Dev/QA/Staging/Prod) teriam as mesmas configurações. Infelizmente, não é assim que as coisas funcionam no mundo “real”. Em configurações comerciais, os proprietários de aplicativos frequentemente modificam a infraestrutura quando novos recursos são introduzidos no software.

O monitoramento do desvio de configuração é crucial para garantir que os ambientes de software sejam o mais homogêneos possível. A configuração do gerenciamento reduz as despesas, aumenta a produtividade e o tempo de depuração e melhora a experiência do usuário.

Para ter o maior sucesso possível com o monitoramento, as organizações devem evitar erros, mesmo quando usam o gerenciamento de configuração e monitoram o desvio de configuração.

Os erros comuns estão listados abaixo:

Não manter um CMDB

Manter um banco de dados de gerenciamento de configuração (CMDB) atualizado é um elemento significativo do gerenciamento de configuração. As informações sobre as instalações de hardware e software de uma rede podem ser examinadas em um só lugar, fornecidas por um banco de dados de gerenciamento de configuração. Os dados são coletados para cada ativo ou item de configuração, proporcionando visibilidade e transparência no local de trabalho.

A falha em manter um CMDB expõe as empresas ao perigo de não entender completamente como a configuração de um item afeta outro item. As organizações correm o risco de danificar sua infraestrutura e segurança sem entender as consequências.

Os CMDBs podem ser difíceis de administrar, principalmente à medida que o número de ativos aumenta, mas a organização e o gerenciamento eficazes do banco de dados são cruciais para rastrear com êxito o desvio de configuração e compreender a infraestrutura.

Não ter um plano de como monitorar o desvio de configuração

As organizações frequentemente têm infraestruturas enormes e complexas que precisam ser vigiadas. Determinar quais componentes precisam ser mais monitorados é crucial. Caso contrário, o gerenciamento de configuração pode se tornar rapidamente incontrolável e caótico.

As organizações devem especificar quais ativos são essenciais para o monitoramento da empresa e unidades de negócios específicas. Serão observados os sistemas mais cruciais, que diferem de unidade para unidade e de indústria para indústria.

Não monitorando automaticamente

As organizações podem monitorar o desvio de configuração de várias maneiras. No entanto, algumas abordagens são mais refinadas e bem-sucedidas do que outras.

O monitoramento manual do desvio de configuração é caro e demorado. O monitoramento manual também expõe a possibilidade de erro humano. Essa não é a melhor técnica para monitorar o desvio de configuração, a menos que sua empresa tenha uma base de infraestrutura muito pequena.

O monitoramento automático é a forma mais desenvolvida e eficiente de manter as configurações no estado desejado. Sistemas de monitoramento de configuração dedicados podem detectar desvios instantaneamente e oferecer soluções com frequência, incluindo correção rápida. Isso garante que a infraestrutura do negócio seja devolvida ao estado desejado o mais rápido possível e com efeitos mínimos.

Como monitorar o desvio de configuração:

Torna-se óbvio por que detectar o desvio de configuração deve ser uma das principais preocupações quando você percebe o dano que pode causar. Saber o que preservar e por que foi apresentado como uma mudança que gerou deriva é o primeiro passo nesse processo.

  Como encontrar a senha da reunião do Zoom

Sabe o que você está procurando

Você pode fazer a triagem de sua organização identificando os componentes cruciais para a organização como um todo e aqueles cruciais para cada unidade de negócios.

Isso varia de acordo com a unidade e pode ser expansivo em setores altamente regulamentados ou se concentrar apenas em arquivos/aplicativos críticos do sistema mais restritos. A importância do sistema determinará a frequência e a seriedade dos sistemas de monitoramento.

Definir uma linha de base

Sempre haverá variações entre um ambiente de produção e os estágios de teste devido às várias configurações. A linha de base para verificar o desvio é criada definindo o que cada etapa deve ser e os tipos de desvios permitidos.

Os estágios iniciais de teste podem ser mais adequados para uma tolerância de desvio mais alta do que uma configuração de Teste de aceitação do usuário ou um estágio de fabricação de desvio zero.

Monitore seu sistema

O nível de monitoramento necessário varia de acordo com a maturidade da organização, seus sistemas atuais, ferramentas, o número total de configurações que precisam ser verificadas e o nível de escrutínio necessário. Dependendo dos requisitos e conformidade, o monitoramento pode diferir para cada unidade dentro de uma organização.

Como evitar desvios de configuração

O monitoramento deve garantir que a infraestrutura seja mantida na configuração apropriada após a definição de uma linha de base de configurações e lacunas permitidas. Sem uma estratégia de monitoramento, construir planos de configuração e documentação é uma perda de tempo.

Várias abordagens podem ser empregadas para monitorar o desvio de configuração, e muitas empresas combinarão metodologias e ferramentas com base em seus requisitos de maturidade e conformidade.

Monitoramento manual constante

As configurações individuais da máquina podem ser revisadas manualmente e comparadas a um arquivo de configuração conhecido. Devido ao aspecto humano, esse processo ainda é propenso a erros e caro em relação às horas dos funcionários. Eu só deve ser usado em pequena escala para alguns clusters de servidores específicos ou uma empresa com uma base de infraestrutura modesta.

Auditorias

Uma equipe examina manualmente as configurações do servidor como parte das auditorias de configuração, comparando-as com um modelo especificado. Essas auditorias podem ser caras, pois exigem conhecimento especializado para determinar como um sistema deve ser construído e, em seguida, uma investigação completa de qualquer chance não documentada de decidir se ele deve ou não ser preservado.

A equipe de auditoria também faz os ajustes necessários nos documentos de configuração que serão aplicados na próxima auditoria. As auditorias são normalmente retidas para clusters de alto valor ou com muita conformidade e executadas regularmente, geralmente várias vezes por ano, devido às considerações de tempo e custo.

A auditoria garante uma configuração de servidor consistente e repetível em um cronograma predeterminado.

No entanto, até a próxima auditoria, as configurações irão variar e permanecerão cada vez mais.

Monitoramento automatizado em tempo real

O monitoramento automatizado em tempo real é a maneira mais sofisticada de manter as configurações no estado desejado. Para fazer isso, servidores ou grupos de servidores devem ser criados juntamente com uma descrição de como eles devem ser configurados utilizando ferramentas de configuração de servidores dedicados.

Esses programas usarão um agente leve para monitorar a configuração de um servidor dentro desse grupo e compará-la com sua definição.

Esse processo automatizado avisa instantaneamente sobre o desvio e normalmente fornece várias opções para corrigir o desvio do servidor.

Palavras finais:

Itens de configuração (CIs) inconsistentes entre computadores ou dispositivos são a causa raiz do desvio de configuração. O desvio de configuração acontece naturalmente em ambientes de data center quando as modificações de software e hardware são feitas em tempo real sem serem completamente documentadas ou rastreadas.

Muitas falhas do sistema de alta disponibilidade e recuperação de desastres são atribuídas ao desvio de configuração. Os administradores devem manter registros meticulosos dos endereços de rede dos dispositivos de hardware, juntamente com as versões de software instaladas neles e as atualizações que foram feitas, para minimizar o desvio de configuração.