Modern Infrastructure Provisioning and CI/CD with Terraform & Terratest

Monday, October 29, 2018 - 11:00 am12:30 pm

Duncan Hutty, Oracle Cloud Infrastructure


The days of handcrafted systems, services and infrastructure are over - it's the era of Infrastructure As Code.

We write code for orchestration tools to run configuration management systems to ensure that individual applications systems are easily reproducible. We write test suites to verify the behaviour of those applications.

In the same way, with HashiCorp's Terraform, we can write code to provision backend infrastructure such as instances, networks, storage, databases and ancillary services such as load balancers/proxies, DNS, TLS termination and more. And then reproduce the whole thing in multiple environments on many platforms including AWS, Azure, Oracle Cloud Infrastructure, GCP for testing, development and deployment.

This introduction to Terraform will show how to declaratively build and modify your infrastructure with code that can be versioned, tested and deployed with the rigour of modern release engineering, all the way to Continuous Integration and Deployment.

Duncan Hutty, Oracle Cloud Infrastructure

Duncan Hutty tries to make/find something useful and "Make it Work, Make it Right, Make it Better". Mostly this entails reading and writing code to integrate other people's software and trying to not rant too hard when sharing the vision of code & systems that are reproducible, testable and no more complex than necessary.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@conference {221824,
author = {Duncan Hutty},
title = {Modern Infrastructure Provisioning and {CI/CD} with Terraform \& Terratest},
year = {2018},
address = {Nashville, TN},
publisher = {USENIX Association},
month = oct
Who should attend: 
  • Novice sysadmins/infrastructure engineers or those who are new to infrastructure automation
  • Experienced sysadmins/infrastructure engineers coming from diverse backgrounds in systems/configuration management, but who are new to Terraform
  • Developers who are responsible for, or want to be able to apply their background to, infrastructure provisioning and testing
Take back to work: 
  • A solid understanding of the benefits of Infrastructure As Code
  • Practical examples for Terraforming infrastructure
  • Full CI/CD for the created infrastructure
  • Techniques for machine (and, time-permitting, container)-based systems
Topics include: 

Terraform, Infrastructure Engineering, Automation, Continuous Integration, Continuous Deployment, Cloud Infrastructure


Minimally, students should be able to use their shell: navigating the filesystem, editing files and setting environment variables.

Students will benefit from: being comfortable with or even just having prior exposure to standard unix/webservice concepts & tools, containers & cloud infrastructure.