Configuration Drift
Gradual divergence of a system's actual configuration from its intended or documented state over time.
Category: Software Development
Tags: software-engineering, reliability, anti-patterns, operations
Explanation
Configuration drift is the gradual divergence between the intended state of a system's configuration and its actual state. It happens when changes are made directly to running systems (manual hotfixes, ad-hoc tweaks, emergency patches) without updating the source of truth that describes the desired state.
In DevOps and Infrastructure as Code (IaC), configuration drift is a well-known problem. A server's actual packages, settings, and services slowly diverge from what the IaC templates describe. The gap widens silently until something breaks and nobody can explain why the running system doesn't match the specification.
The concept also maps to AI context management. Context drift is the AI equivalent: the context files describing a system diverge from the actual codebase and workflows as they evolve. Just as IaC tools detect and remediate infrastructure drift, context hygiene practices detect and fix context drift.
## Mitigation strategies
The strategies are similar across domains:
- **Declare desired state**: define configuration in version-controlled files, not ad-hoc
- **Detect drift**: regularly compare actual state against declared state
- **Remediate automatically**: use tooling to enforce convergence (IaC apply, configuration management runs)
- **Prevent manual changes**: minimize out-of-band modifications that bypass the source of truth
Tools like Ansible, Puppet, Chef, Terraform, and Kubernetes controllers all address configuration drift through different mechanisms, but the core pattern is the same: declare what you want, detect when reality diverges, and converge back automatically.
Related Concepts
← Back to all concepts