Build resilient systems at scale
28–30 October 2015 • Amsterdam, The Netherlands

An introduction to testing infrastructure

Gareth Rushgrove (Puppet Labs)
11:30–13:00 Wednesday, 28/10/2015
Tutorial
Location: Emerald Room
Average rating: ***..
(3.64, 33 ratings)

Prerequisite Knowledge

The audience should: * Have some experience building out infrastructure, whether tens of nodes or thousands. * Have some level of programming experience (the tutorial won’t rely on knowledge of a particular programming language or tool). * Appreciate fast scrolling text in terminal windows.

Materials or downloads needed in advance

A laptop. I'll likely provide some downloadable _think_ once I work out the details.

Description

Various flavours of automated testing are an essential part of any modern software development approach. Whether it’s unit testing, static analysis, continuous integration, or acceptance testing; these techniques are increasingly the norm in complex software projects. But how many people have similarly comprehensive tests in place for their infrastructure?

This tutorial will:

  • Explain the different contexts of infrastructure testing, from testing the code you use to provision and configure your infrastructure, to testing the resulting running systems
  • Introduce and demonstrate tools like serverspec, infrataster, and nmap for writing higher-level infrastructure tests
  • Present examples of writing tests against virtualisation APIs, and how this fits with the idea of test-driven infrastructure
  • Discuss maximising your investment in writing infrastructure tests by reusing them for monitoring purposes, as well as during development and for smoke testing deployments
  • Look at how containers in general (and Docker in particular) change infrastructure development, and which tests are useful there
Photo of Gareth Rushgrove

Gareth Rushgrove

Puppet Labs

Gareth Rushgrove is a senior software engineer at Puppet Labs, where he builds interesting tools for people to better manage infrastructure. Previously, he worked for the UK Government Digital Service, focusing on infrastructure, operations, and information security. When not working, he can be found writing the DevOps Weekly newsletter or hacking on software in newfangled programming languages.