In the late ’00s, Infrastructure as Code (IaC) promised to transform how developers thought about infrastructure in the cloud age.
Instead of individual servers that needed to be hand-tuned, organizations would define the infrastructure they wanted in (mostly) human-readable YAML or JSON files, and provisioning tools would automatically configure the real infrastructure with that ideal state.
As an added bonus, these IaC configuration files could be created and maintained in code repositories just like application code and managed by DevOps teams, aligning the work of developers and operations into a single unified philosophy.
While many people are reaping those benefits, things haven’t exactly gone to plan.