This page is part of my personal knowledge database, that helps me to store and navigate my learnings.
Read on here for details

Infrastructure as Code

Infrastructure as Code - or short: IaC - describes provisioning and configuration of complex data-center resources (compute, storage, network, ..) in configuration files or code.

The purpose is to have reproducible setups, that are versioned, have a history, can be code reviewed etc, while providing documentation.

First generation IaC came in variants of data serialization languages like JSON, YAML or TOML which were human-editable, but optimized for machine consumption.

With the second generation IaC, the user (developer) interfaces moved to the realm of actual, high-level code, that allows to use higher level logic and integration in dynamic environments. Examples:

Especially the second generation enabled modularization and abstraction of complex infrastructure subsystems.