O que é desvio de configuração (configuration drift)?
Desvio de configuração é o distanciamento gradual da infraestrutura real em execução em relação à sua configuração pretendida ou declarada, causado pelo acúmulo de mudanças não documentadas ao longo do tempo.
Os sistemas raramente permanecem exatamente como você os configurou. Correções manuais, patches de emergência e ajustes improvisados se acumulam até que o ambiente ativo deixe de corresponder a qualquer documentação ou código. Essa diferença entre o estado pretendido e o real é o desvio de configuração, e ele mina a confiabilidade de forma silenciosa.
O que é o desvio
Desvio de configuração é a diferença entre como a infraestrutura deveria estar configurada e como ela realmente está. Cada mudança manual que contorna a configuração definida adiciona um pouco de distanciamento. Ao longo de meses, servidores que começaram idênticos se tornam sutil e perigosamente diferentes uns dos outros e da sua definição.
O que causa o desvio
- Hotfixes manuais aplicados durante incidentes e nunca codificados.
- Ajustes pontuais feitos diretamente em um servidor.
- Execuções de automação que falharam ou foram parciais.
- Mudanças feitas fora do fluxo de infraestrutura como código.
Por que é perigoso
O desvio produz servidores snowflake - máquinas únicas e frágeis que ninguém compreende por completo. Ele causa os clássicos problemas de "funciona nesta máquina, mas não naquela", dificulta o raciocínio sobre incidentes e faz com que o código da sua infraestrutura deixe de descrever a realidade, de modo que mudanças baseadas nele podem falhar inesperadamente.
Desvio e infraestrutura como código
A infraestrutura como código declara o estado desejado, mas o desvio ocorre sempre que a realidade é alterada fora desse fluxo. O código diz uma coisa enquanto o sistema ativo diz outra. Reconvergir exige reaplicar o código ou detectar e corrigir o distanciamento, e é aí que entra a detecção de desvio (drift detection).
Prevenindo o desvio
A prevenção mais eficaz é tornar as mudanças manuais impossíveis ou inúteis. A infraestrutura imutável elimina o desvio ao nunca modificar servidores em execução, e uma disciplina rigorosa de infraestrutura como código garante que toda mudança flua pelo código. Onde ainda houver acesso manual, a detecção de desvio periódica captura o distanciamento antes que ele se agrave.
Principais conclusões
- Desvio de configuração é quando a infraestrutura em execução se distancia do seu estado definido.
- Ele surge do acúmulo de mudanças manuais e não documentadas ao longo do tempo.
- Ele cria servidores snowflake frágeis; infraestrutura imutável e disciplina de IaC evitam isso.