Infrastructure as Code: a Modern Approach to Infrastructure Management

by Juan Gutierrez
Published on June 2019

The traditional approach of provisioning and updating infrastructure is mostly manual.  It is slow, involves human intervention hence prone to error, often not documented, and is not team-friendly especially when dealing with enterprise-level solutions.  For every change request, even the simplest ones, a lot of effort is required to apply the change across all servers, as a result slowing down time to market.

With the advent of cloud computing and open APIs, it has become unacceptable to manage infrastructure the traditional way.  Organisations looking for faster turnaround times treat infrastructure like software: pieces of code that can be managed with tools familiar to a developer, such as version control, continuous integration and continuous delivery.

Enter Infrastructure as Code.  IaC minimises the risks posed by the traditional approach.  By using IaC, organisations express their entire infrastructure stack in human-readable code.  It is version-controlled so you know what the infrastructure looks like at a certain period.  Collaboration from a team of infrastructure administrators is made easier, and an incremental history of who changed what is available as well through version control.

The traditional approach works for us, why fix something that is not broken?

The key benefit of Infrastructure as Code is its ability to solve the issue of environment drifts over the course of its lifetime.  Without IaC, administrators maintain configuration of each environments,   as time goes by each environment becomes a snowflake – an environment with a unique configuration that can’t be reproduced automatically.

With IaC, administrators can enforce consistency through the source code that represents the desired state of the infrastructure stack.  IaC is idempotent, which means deployments are repeatable – you can run the same configuration multiple times while achieving the same result.

Descriptive language

IaC codes are expressed in high level or descriptive language as compared to application codes. This means it’s easy to understand and  you can be an IaC zero to hero in no time.

Not just for system administrators

IaC empowers developers because it is written in code they are familiar with, thus server and infrastructure management is no longer limited to system administrator domain.

Speed of provisioning infrastructure

Organisations who use IaC develop modules – a block of reusable code designed to provision related assets.  Modules facilitate write once, use many times paradigm.  Once a module is written and tested, any one from the team can use it in their project.  It dramatically cuts down development and delivery time.

Time is money.  It is the main driver for businesses to automate as much of their processes as they can.  It is a phrase that is even more true in today’s business climate, especially so in the digital world.  Digital automation has come a long way and IaC is one of its enablers.  As the modern world is run by codes, IaC is here to stay and meant to be embraced by forward-thinking organisations.

Interested in how to use IaC in your organisation?

At JAM, we live and breathe automation, and it is no surprise IaC is used across the board.  If you would like to find out how IaC can help your organisation feel free to get in touch with us!

SHARE