SBN

Integrating Infrastructure as Code into a Continuous Delivery Pipeline

We’re here to talk about integrating infrastructure as code into a continuous delivery pipeline. We’ll start by defining infrastructure as code then explain some of the problems it solves. 

Defining Infrastructure as Code (IaC)

Infrastructure as code (IaC) is the approach that takes proven coding techniques used by software systems and extends them to infrastructure. Later in the post, we’re going to cover in more detail what those techniques are.

Challenges Without IaC

Before we get to what the actual techniques that comprise IaC are, it’s important to cover some of the challenges and problems it’s meant to solve.

  • Configuration Drift. If you’re provisioning servers manually it’s pretty much a given that, at some point, they’ll get out of sync.
  • Snowflake servers. That’s the consequence of the last point. When configurations get out of sync, you end up having “snowflake” servers. That is, servers that are unique, hard to replicate, and no one knows how to manage them.
  • Human error. If you don’t have things in version control people will make mistakes, and it’s going to be hard to identify who made the mistake as well as rolling it back to a previous good point.
  • Time to complete. Manually provisioning servers is a slow process.

Continuous Delivery

Let’s now define “continuous delivery.” But instead of coming up with a definition myself, let’s use the definition by Jez Humble, author of Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, released in 2010:

Continuous delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.

With continuous delivery, we’re able to achieve a Single Piece Flow: that means taking a single piece of functionality, (Read more...)

*** This is a Security Bloggers Network syndicated blog from Sonatype Blog authored by Carlos Schults. Read the original post at: https://blog.sonatype.com/integrating-infrastructure-as-code-into-a-continuous-delivery-pipeline