When we consider the infrastructure for a software application, we think of all the foundational components needed for that application to run.  In the analog world, we think of infrastructure as something like the foundation for a house or the train tracks for a rail system. Without the tracks, the perfect train will still go nowhere.

In the past, infrastructure for software applications meant physical servers and networking equipment. But that’s all changed. As cloud-based applications and their architectures mature, the infrastructures are fast becoming a part of the product itself. In many ways, the virtualization of servers made this an inevitability.  The server hardware is still there, of course, but the application developer is shielded from the blinking lights and the spinning fans. That is an essential characteristic of cloud-based infrastructure.


Keep Data Secure
Keep data secure even when employees work remotely.

Once the application servers become virtualized and code-based, the infrastructure for software applications becomes code-based as well. The days of infrastructure as something separate from the product has already come to an end, and there are many important implications to this trend. The main idea here has a label, and it’s known as “Infrastructure As Code,” or IaC.

Infrastructure as Code Benefits for CIOs and IT Teams

What does infrastructure as code (IaC) mean? Quite simply, software applications are designed and built to include the software code that creates the infrastructure. The infrastructure is now part of the application itself. The infrastructure is wrapped around its application rather than having the application dropped into a free-standing architecture.

As a crude analogy, imagine a house that can create its own foundation, or a train that builds the track it needs as it runs, or a car that builds the road it needs as it drives.  While those analogies only take us so far, it certainly paints a picture of a different model altogether for cloud-based applications.

There are some fairly significant implications for this new model. Here are some of them:

  • Infrastructure becomes a software discipline rather than technical operations
  • Product management now oversees infrastructure design and scope
  • Operations teams must think differently about their job
  • Deployment and support becomes automated and more portable
  • Infrastructure security checks are baked into the application
  • Application validation testing is baked into the coded infrastructure
  • TCO of the software should go down substantially
  • Performance and reliability should go up measurably

Here’s a short summary of the overall benefits according to Wikipedia: “The value of IaC can be broken down into three measurable categories: cost, speed, and risk. Cost reduction aims at helping not only the enterprise financially, but also in terms of people and effort, meaning that by removing the manual component, people are able to refocus their efforts towards other enterprise tasks.”

It’s a significant undertaking, but the gains are also significant.