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.