Skip to content
STUB

Immutable Infrastructure

The pattern: never modify a running server in place. To deploy a change, build a new artifact (container image, AMI, OS image), spin up new instances, drain the old, decommission. Containers + Kubernetes make this the default. Talos Linux pushes the OS itself toward immutability — no SSH, no ad-hoc edits, the API is the only entry point.

The trade-off: debug ergonomics vs. drift elimination. Mutable systems are easier to “fix in place” — but you accumulate drift between machines, hidden config, ghost packages. Immutable systems force every change into code (Dockerfile, Packer template, NixOS config) — slower iteration, but every machine is identical to every other and reproducible from source. The debugging move shifts from “ssh and poke” to “rebuild the artifact and observe.”

Deepens in Year 1 Phase 6 (containerization from scratch — namespaces + cgroups + UnionFS) and Year 2 Phase 9: IaC (terralabs immutable AMIs via Packer).