drift
also: configuration drift, state drift
Configuration drift is the unintended divergence of a system's actual state from its desired or documented configuration, typically caused by ad-hoc manual changes over time.
Configuration drift occurs when servers, applications, or infrastructure gradually deviate from their intended baseline configuration through manual patches, hotfixes, environment variable tweaks, or undocumented changes. Over time, this makes systems unpredictable and difficult to replicate.
For example, a sysadmin might manually edit /etc/nginx/nginx.conf to fix a performance issue, or install a library directly without updating the deployment automation. When a new server is provisioned using the original configuration template, it behaves differently from the "drifted" server, creating inconsistency across your infrastructure.
Drift is prevented using infrastructure as code (Terraform, Ansible), configuration management tools (Puppet, Chef), containerization (Docker), and drift detection systems that regularly compare actual vs. desired state. Modern DevOps practices treat all changes as code commits rather than manual modifications.