O'Reilly logo
live online training icon Live Online training

Terraform: Getting started

Automating infrastructure

Topic: System Administration
Sean Kane

Are there parts of your infrastructure that you still have to stand up manually or via a collection of scripts? Do you struggle to keep documentation about that setup process current? Do you dread the day when you need to spin up a new region for the business?

If so, you need Terraform. HashiCorp’s open source and free tool makes it possible to document and automate the creation, modification, and destruction of almost anything that can be managed by an API. This means that it’s finally conceivable to automate the management of everything that your software stack needs to actually run in any environment, including cloud resources, DNS entries, CDN configuration, and much more.

Join expert Sean Kane for an introduction to Terraform. You’ll learn everything you need to know to get started using it to standardize and simplify the way that you define and manage all of your infrastructure resources.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • How to use Terraform to simplify your ability to repeatedly set up, manage, and tear down complex infrastructure environments

And you’ll be able to:

  • Write typical Terraform configuration files
  • Use Terraform to stand up, modify, and delete infrastructure components
  • Utilize remote state and additional data sources

This training course is for you because...

This course is for you because…

  • You need to understand how to simplify infrastructure management for engineers.



  • Familiarity with the Unix command line
  • Basic comfort using REST APIs
  • A modern computer (recent Linux, macOS, or Windows 10) with HashiCorp Terraform, a graphical web browser, a text editor, and a Git client installed
  • The following command-line tools installed: tar, wget, curl, jq, and an SSH client (useful but not required)

Recommended follow-up:

About your instructor

  • Sean Kane is a lead site reliability engineer at New Relic. He's had a long career in production operations, with many diverse roles across a broad range of industries. Sean is the lead inventor on a container-related patent and spends a lot of his spare time writing, teaching, and speaking about modern production operations. He is an avid traveler, hiker, and camper and lives in the US Pacific Northwest with his wife, children, and dogs.


The timeframes are only estimates and may vary according to how the class is progressing

Introduction to Terraform (15 minutes)

  • Lecture: Terraform overview; terminology
  • Demo: Example of the potential
  • Hands-on exercise: Install the tools

Defining your infrastructure (40 minutes)

  • Lecture: Overview of the code
  • Hands-on exercise: Add additional resources
  • Break (5 minutes)

Extending Terraform (55 minutes)

  • Lecture: Overview of providers; plug-ins that add support for resources from AWS, GitHub, etc.
  • Hands-on exercises: Build the infrastructure; install a new provider; use a new provider
  • Break (5 minutes)

Advanced considerations (50 minutes)

  • Lecture: Overview of modules—custom code that can set up multiple resources in a repeatable fashion; overview of data sources
  • Hands-on exercises: Build a Terraform module; pull and utilize data from a remote source

Wrap-up and Q&A (10 minutes)