infrastructure as code
/ˈɪn.frəˌstrʌk.tʃər əz ˈkəʊd/noun
Infrastructure as code (IaC) is a practice in which infrastructure is described in configuration files and created and managed using software.
With infrastructure as code, the team can build the test environment in the same way as the production environment.
Infrastructure as code, often abbreviated to IaC, makes the configuration of technical environments part of software development. Configuration files describe the required servers, networks, Glossary · In briefdatabaseA database is a structured collection of data that software can store, retrieve and modify. A database management system controls access to that data.Read more and access rules. These files can be stored in version control, reviewed and reused.
How does IaC work?
A declarative approach describes the desired end state. A tool such as Terraform compares that description with the existing environment and determines what to create, change or remove. Other tools use step-by-step instructions, but still record the configuration in files.
A change therefore often follows the same process as application code: someone edits a file, a colleague reviews it and the change is applied automatically. This records who changed what. It also lets the team build comparable Glossary · In briefcloudThe cloud is a collective term for computing power, storage, databases and software available over a network, usually from an external provider's data centres.Read more for development, acceptance testing or production.
Why define infrastructure as code?
Manual settings in an administration console are hard to reproduce and can differ between environments without anyone noticing. IaC makes the intended configuration explicit. This helps with handovers, recovery and controlled Glossary · In briefdeploymentA deployment is the process of installing and starting a chosen software version in a target environment so it can be tested or used there.Read more.
The configuration is only reliable if changes are also made through those files. Manual adjustments can cause the real environment to diverge from its description. Teams therefore usually combine IaC with checks, restricted permissions and a defined change procedure.