What is Infrastructure as Code?

"Infrastructure as code" refers to the rapidly emerging practice of using scripts to configure computing infrastructure instead of manually configuring machines.

Infrastructure as code definition

Sometimes called "programmable infrastructure," infrastructure as code (IaC) treats configuring infrastructure exactly like programming software. In effect, this starts to blur the boundaries between writing apps and creating the environments they run within. Applications can contain scripts that create and orchestrate their own virtual machines (VMs). This is a fundamental part of cloud computing and essential to DevOps.

What are the advantages of infrastructure as code?

Infrastructure as code allows virtual machines to be managed programmatically, which eliminates the need for the manual configuration of, and updates to, individual pieces of hardware. This makes infrastructure highly "elastic"---i.e. repeatable and scalable. One operator can deploy and manage one machine or 1,000 using the same set of code. Speed, cost savings, and risk reduction are the natural rewards of infrastructure as code.

How does infrastructure as code relate to DevOps?

The concept of IaC is the framework that has given rise to DevOps. An increasingly thin line between the code that runs applications and the code that configures infrastructure means that developers and ops professionals have an increasingly shared set of job responsibilities.

How does infrastructure as code relate to IaaS?

Infrastructure as code supports IaaS in that it allows access virtual machines and user-friendly software-based management tools to be bundled and sold as a services.