Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update (#16) Nov 17, 2018
LICENSE add License Jan 28, 2018 Add missing question mark May 14, 2018

Infrastructure As Code Tutorial

license Tweet

This tutorial is intended to show what the Infrastructure as Code (IaC) is, why we need it, and how it can help you manage your infrastructure more efficiently.

It is practice-based, meaning I don't give much theory on what Infrastructure as Code is in the beginning of the tutorial, but instead let you feel it through the practice first. At the end of the tutorial, I summarize some of the key points about Infrastructure as Code based on what you learn through the labs.

This tutorial is not meant to give a complete guide on how to use a specific tool like Ansible or Terraform, instead it focuses on how these tools work in general and what problems they solve.

The tutorial was inspired by Kubernetes the Hard Way tutorial. I used it as an example to structure this one.

Target Audience

The target audience for this tutorial is anyone who loves or/and works in IT.

Tools Covered

  • Packer
  • Terraform
  • Ansible
  • Vagrant
  • Docker
  • Docker Compose
  • Kubernetes

Results of completing the tutorial

By the end of this tutorial, you'll make your own repository looking like this one.

NOTE: you can use this example repository in case you get stuck in some of the labs.


This tutorial assumes you have access to the Google Cloud Platform. While GCP is used for basic infrastructure requirements the lessons learned in this tutorial can be applied to other platforms.