immutable infrastructure
also: immutable deployment, immutable systems
Infrastructure deployed as unchangeable, read-only systems that are never modified after creation; instead of updating, you replace entire instances with newly built versions.
Immutable infrastructure means treating servers, containers, and infrastructure components as disposable units that are never patched or updated in place. Once deployed, the system is frozen—configuration changes or updates require rebuilding the entire image and redeploying it.
In traditional "mutable" systems, you SSH into a server, install updates, edit config files, and apply patches live. With immutable infrastructure, you never do that. Instead, you build a new container image or machine image with the desired changes, test it, then replace the old deployment entirely.
Example: Rather than running apt upgrade on a running Nginx container, you rebuild the Docker image with updated packages, push it to a registry, and redeploy the container. This eliminates configuration drift—the gradual divergence of systems over time due to manual changes.
Immutable infrastructure is foundational to modern DevOps, microservices, and Kubernetes workflows. It increases reliability, simplifies troubleshooting (just redeploy), and makes infrastructure reproducible and version-controllable.