Course Outline


  • How is Terraform different from Chef, Puppet, Ansible or Salt?
  • Why not use Google Deployment Manager?

Overview of Terraform Features and Architecture

  • Infrastructure as Code, execution plans, resource graphs, change automation

Terraform Workflow

  • Write, Preview, Create, Reproduce, Destroy

Getting Started

  • Preparing a GCP account to use with Terraform
  • Initializing Terraform and building a virtual machine (compute engine instance)

Creating an Application

  • Starting a project on GCP
  • Initializing a sample web app

Preparing an Execution Plan

  • Writing a new plan, saving, and removing .tf files

Working with Configuration Files

  • Syntax overview
  • Writing, version controlling, and updating

Setting Resource Dependencies

  • Using the Terraform Resource Graph
  • Infrastructure vs application dependencies

Deploying Infrastructure

  • Previewing configuration changes
  • Executing changes

Managing State

  • Setting up Google Cloud Storage for persistence
  • Setting up Remote State


  • Setting up a firewall
  • Managing subnets

Reproducing Infrastructure

  • Setting up environments for an app: dev, test/qa, stage, and prod

Packaging Configuration Files as Modules

  • Duplicating code with shareable modules
  • Using the Module Registry to build reusable templates

Integrating Terraform into a Deployment Pipeline

  • Building, deploying, and testing an application
  • Importing existing external resources into Terraform

Terraform Performance Tuning

  • Infrastructure monitoring and performance metrics


Summary and Conclusion


  • Experience working with a command line
  • An understanding of cloud infrastructure concepts


  • Cloud architects
  • System administrators
  • DevOps engineers
  21 Hours

Related Courses

Cloud Architect

  35 Hours

Related Categories