100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

Configuration Drift

IntermediateConcept2.3K learners

Configuration drift is the gradual divergence of a system's actual running configuration from its intended, documented, or version-controlled state, usually caused by ad hoc manual changes made outside of a controlled deployment process.

Definition

Configuration drift is the gradual divergence of a system's actual running configuration from its intended, documented, or version-controlled state, usually caused by ad hoc manual changes made outside of a controlled deployment process.

Overview

Drift happens quietly: an engineer SSHes into a server to apply an emergency fix, tweaks a setting through a cloud console instead of updating a Terraform file, or a hotfix never gets backported into the source of truth. Individually these changes seem harmless, but over months, servers that were originally identical copies of the same image slowly become subtly different from each other and from what's documented — making bugs harder to reproduce and outages harder to diagnose. The standard defense against drift is Infrastructure as Code (IaC): defining servers, networking, and configuration entirely in version-controlled files and applying changes only through an automated pipeline, so the deployed state can be continuously reconciled against the declared state and any manual deviation is either detected or automatically overwritten. This approach pairs naturally with immutable infrastructure, where instead of patching a running server in place, teams replace it entirely with a freshly built one from a known-good image, eliminating the opportunity for drift to accumulate at all. Drift is a common root cause investigated during incident management — 'it works on the other three servers but not this one' is a classic drift symptom — and detecting it is a common use case for configuration management and observability tooling that continuously compares live system state against a declared baseline.

Key Concepts

  • Caused by ad hoc manual changes made outside a controlled deployment pipeline
  • Accumulates gradually, making individual instances of the same service inconsistent
  • Makes bugs and incidents harder to reproduce and diagnose
  • Directly countered by Infrastructure as Code and automated reconciliation
  • Eliminated most completely by immutable infrastructure practices
  • Detectable via configuration management tools that continuously audit live state

Use Cases

Diagnosing why one server in a supposedly identical fleet behaves differently
Auditing production infrastructure against its version-controlled source of truth
Justifying a move from manual server administration to Infrastructure as Code
Enforcing policy that all changes go through code review and automated deployment
Investigating root causes during incident postmortems

Frequently Asked Questions