Configuration drift is the gradual divergence between the intended configuration of a system and its actual running state, caused by unmanaged changes, patches, or manual edits.
Configuration drift happens when instances accumulate unrecorded changes over time. Manual logins, hotfixes, package updates, and local edits mutate state outside version control, making identical initial deployments behave differently.
That divergence is one of the most common causes of production incidents that cannot be reproduced in staging. A server that was patched manually during an outage may look identical to others on paper but behave differently under load. Drift detection tools compare actual state to desired state and either alert or correct differences.
Think of it like this. Think of identical twins raised in different homes. Over years, small habits, scars, and diets make them less alike even though they started from the same source.
Drift accumulates from unrecorded changes: manual configuration edits, partial deployments, failed patches left half-applied, and environment-specific workarounds. Configuration management tools detect drift by comparing live state to desired manifests. Remediation either reports differences or enforces convergence.
"Drift only happens in old environments." Cloud auto-scaling and containers still drift through image changes and runtime mutations. "One audit fixes drift forever." Continuous change creates continuous drift. "Drift detection equals drift prevention." Detection must be paired with policy and automated correction to matter.
Detecting drift prevents production surprises, but continuous enforcement can create toil if thresholds are too strict or change processes are slow.