Describing systems in files.
WHAT IT MEANS
The configuration of servers and services described in files, versioned alongside your code.
WHY
The description is the source of truth Changes are reviewed and traceable Environments can be recreated identically Drift becomes visible
WHAT IT REPLACES
Configuration made by hand and remembered by one person.
WHAT CAN BE DESCRIBED THIS WAY
Servers and their settings Networking Services and their configuration Scheduled tasks Access rules
WHAT TOOLS EXIST
Tools for provisioning infrastructure Tools for configuring servers
WHAT A SMALL TEAM CAN DO
Start with scripts, committed to version control.
WHY THAT COUNTS
A committed script is infrastructure as code, even if it is simple.
WHAT TO AVOID
Adopting elaborate tooling before the process is understood Making manual changes to something described in code
THAT SECOND POINT
Once a system is described in code, changing it by hand defeats the purpose and causes confusion.
WHAT TO ENFORCE
Changes through the code, always.