Immutable Infrastructure
Problem
A production server has been manually modified for three years.
Nobody knows exactly how its current state differs from:
documentation
IaC
other servers
Replacing it is frightening because its history has become its configuration.
Solution — Immutable Infrastructure
Instead of continuously modifying long-lived machines, build a known replacement and replace the old instance.
Server v1 ↓ don't patch manually Build Server v2 ↓ Replace v1
Core idea: immutable infrastructure replaces infrastructure with known versions rather than accumulating unknown state.