What is infrastructure as code? Automating your infrastructure builds

As more and more organizations move to the cloud, the skill of knowing how to provision and configure a physical server is becoming less relevant to how modern software is built and deployed.

In today’s complex, software-driven world, where computing infrastructure is often neither seen nor heard, being able to provision and manage that infrastructure using declarative code, rather than manual configurations or even scripts, is imperative to running applications at web scale.

A brief history of infrastructure as code

While systems administrators have been using scripts to manage their infrastructure since the 1990s, the practice of treating infrastructure as code (IaC) didn’t fully coalesce until the end of the 2000s, when engineers like devops pioneer Andrew Clay-Shafer, Chef cofounder Adam Jacob, and Puppet founder Luke Kanies started to use the terminology.

In a world of distributed applications, hand-tuning servers was never going to scale, and scripting had its own limitations, so being able to automate infrastructure provisioning became a core need for many first movers back in the early days of cloud.

Today, that underlying infrastructure is more commonly provisioned as code, thanks to popular early tools in this space such as Chef, Puppet, SaltStack, and Ansible. But technology moves fast, and things have advanced since then. Here, we explain the fundamentals of infrastructure as code, and why it is the bedrock of modern software development practices today.

Infrastructure as code defined

In Infrastructure as Code: Dynamic Systems for the Cloud Age, Kief Morris explains that infrastructure as code boils down to three core practices: “Define everything as code, continuously test and deliver everything as you work, and build your system from small, loosely coupled pieces.”

Copyright © 2021 IDG Communications, Inc.

Source link

Leave a Comment

Your email address will not be published. Required fields are marked *