O'Reilly logo
live online training icon Live Online training

Take Terraform to the Next Level

Professional Infrastructure as Code

Robert Jordan

Managing your infrastructure as code was the first step, but how can you make your team more effective? How does IaC make your infrastructure easier to manage? How can you extend the capabilities of tools like Terraform to manage your unique environment?

This live training will help infrastructure practitioners and software developers take their Terraform skills to the next level. This training builds on the knowledge you’ve earned on the job or in the introductory course: Introducing Infrastructure as Code with Terraform.

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

  • How to implement code re-use and encapsulation patterns with Terraform Modules.
  • How to leverage CI/CD tools to automat IaC deployments and testing.
  • Learn about collaboration with Terraform. Both within a team and within an organization with multiple teams.

Learn about advanced Terraform features, including:

  • HCL features
  • Error handling
  • Debugging

This training course is for you because...

  • You already understand the value of IaC but want to get more out of it.
  • You are already working with Terraform, but want to show your organization how it can help solve more complex problems.
  • You would like to understand the more advanced features of Terraform such as Modules, Custom Providers, and Collaboration.


  • Experience with Unix like operating systems. (The examples will all work on Windows, but many of the cloud deployments will run Linux.)
  • Experience with at least one cloud platform. The examples will all be on AWS, but the instructor can also answer questions and provide examples for GCP.
  • Previous experience with Terraform or you have attended: Introducing Infrastructure as Code with Terraform (dates vary; search the O'Reilly Learning Platform for upcoming instances of this Live Online Training class).
  • Previous experience with software development tools and concepts: IDE, SCM, CI/CD, testing.

Course Set-up:

  • Students should have an up to date desktop or laptop computer with an Internet connection.
  • Students should have access to an AWS account if they want to try the examples on their own.
  • Terraform 0.12.0 or higher should be installed on student’s computer (https://www.terraform.io/downloads.html)
  • Students are recommended to install a Terraform syntax highlighter into their IDE. Some are: language-terraform for Atom, vim-terraform for Vim and vscode-terraform for Visual Studio Code

Recommended Preparation:

Recommended Follow-up:

About your instructor

  • Robert Jordan has been designing, implementing, and deploying production applications for some of the world’s largest media and scientific customers for over twenty years. Throughout that time, he has successfully led projects on all major cloud platforms, and is currently certified on both AWS and GCP platforms. He is also a Co-Founder of Pragmatic AI Labs.


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

Segment 1 Code Re-Use and Encapsulation with Terraform Modules (90 minutes)

  • Discussion: How re-use and encapsulation patterns are implemented in Terraform.
  • Exercise: Create a Terraform Module.
  • Discussion: Distribution using VCS and Registries.
  • Q&A: 15 minutes
  • Break: 15 minutes

Segment 2 Collaboration with Terraform (90 minutes)

  • Discussion: Approaches to collaboration in Terraform.
    • Backends
    • Workspaces
  • Exercise: Create a collaborative environment in Terraform.
  • Discussion: Multi-team organizations
    • remote_state
  • Q&A: 15 minutes
  • Break: 15 minutes

Segment 3: Continuous Deployment with Terraform (45 minutes)

  • Testing Terraform Modules
  • Conditional Deployments
  • Q&A: 10 minutes