Secrets of Infrastructure as Code - Day 1 of 2

Secrets of Infrastructure as Code - Day 1 of 2

Golden Gate

This tutorial is sold-out.


In this hands-on tutorial you will learn DevOps principles and practices, and how to use Vagrant, Puppet, Nagios, Git and Go to automate the configuration, management and monitoring of the infrastructure needed to support a modern web application. By the end of the tutorial you will be comfortable with the tools, and have a playbook of patterns and pro-tips for managing your infrastructure in a fully automated fashion.


Prerequisites: you’ll need a laptop with at least 4Gb RAM and Vagrant 1.1.x, VirtualBox, and your favourite text editor installed. 8Gb RAM and an SSD is strongly recommended.


On Day 1, we start by installing our example application (opencart) and its dependencies manually on VMs we’ll create using Vagrant. We’ll then set up Nagios and show how to monitor infrastructure and applications with Nagios, and discuss monitor-driven development. Next up is a brief tour of Puppet. We’ll end the day by demonstrating Vagrant’s Puppet integration and using it to set up our database box.


On the second day we’ll have you get your web and monitoring hosts up using Puppet, and guide you through a series of refactorings that show off well-formed Puppet. We’ll then go through how to do TDD of your infrastructure with cucumber-nagios. In the final part of the tutorial we’ll show how to create a deployment pipeline for infrastructure changes using Git and Go. If we have time, we’ll show how to use Vagrant’s AWS integration to drive Amazon EC2.