Exploring Infrastructure as Code

Exploring Infrastructure as Code

Speakers: Chris Klug & Jakob Ehn

 

Abstract:

Are you tired of spending hours upon hours of your life, manually setting up environments for your IT systems? Or do you skip that and try to make do with just a “dev” and “prod” environment because it is too much of a hassle to set up a new one? Or maybe it is too expensive to run another one? Or maybe you have given up on the idea of multiple environments and decided to just deploy to production? Continuous Delivery FTW!!!

To be honest, we get it! Setting up and maintaining multiple environments and their infrastructure is a hassle. However, with “the cloud” and infrastructure provisioning being available through API calls, we can now speed up this process using Infrastructure as Code (IaC). This allows us to define our environments in code, and easily spin up, as well as remove, environments in minutes. Need a new test environment? No worries, just spin up a new one! Need a temporary environment to try out something new? No worries, just spin up a new one temporarily and remove it when you have tried out your idea! Why not spin up a new environment for each pull request to verify that it works? All this is possible if you have your infrastructure defined as code. Not to mention the ability to version manage it to allow you to keep track of what has changed.

In this workshop, we will have a look at the 3 most popular Infrastructure as Code (IaC) solutions available for creating infrastructure in Azure, Terraform, ARM templates and Pulumi.

The goal of this workshop is to have you define, create, update, and remove whole system environments using all three IaC solutions. This will allow you to get a feel for how they work, where they differ, and which one would suit your situation the best. All three have strengths and weaknesses depending on what you are trying to do, so having a general knowledge of all 3 gives you the best chance to make a successful choice when you start your journey to define your infrastructure as code!

 

Objectives:

To understand why IaC is useful in a cloud-based paradigm, and what options are out there if you decide to go towards infrastructure defined as code

 

Topics covered:

– Infrastructure as Code basics
– Declarative vs imperative approach to IaC
– ARM templates
– Pulumi
– Terraform

 

Intended audience:

Developers working with DevOps

 

Required equipment:

A computer of some sort.
An active Azure subscription account.

 

Required software:

A text editor of your choice, for example Visual Studio Code.

 

Workshop type:

Hands-on.