This 16-hour, hands-on online training course is for engineers who want to learn how to use HashiCorp Terraform to automate infrastructure provisioning and management.
We have a special offer running for this training: GET 2 TICKETS for the PRICE OF 1.
Ticket Prices:
- 2 FOR 1 - Pay $100 and Get 2 Seats: $50 Each (Includes Class Recordings)
- Individual Ticket Holder - With Class Recordings: $75
NOTE: If you want a 2x1 ticket but don’t have someone, send us an email, we will pair you for the reduced price.
Course Description
Learn Terraform by deploying a todo API on public cloud infrastructure in various configurations. Learn how to write Terraform configuration, refactor Terraform configuration into modules, automate Terraform operations, and develop a Terraform provider. The class will start by deploying the todo API to a single environment and then learn how to scale that deployment up and deploy it to multiple environments. This class is for engineers looking to integrate Terraform into their workflows and engineers looking to take the Terraform Associate certification exam.
Check out the course outline on GitHub.
Course Highlights
- Use every Terraform command and each of their subcommands.
- Prepare for the Terraform Associate certification exam.
- Deploy a todo application to real public cloud infrastructure.
- Learn different ways to scale the todo application with Terraform.
- Write a custom Terraform provider for the todo application.
- Learn the difference between mutable and immutable infrastructure.
- Learn the idioms and coding style for Terraform configuration.
- Reconcile Terraform state, Terraform configuration, and real infrastructure.
- Discuss the tradeoffs between explicit or Don’t Repeat Yourself (DRY) Terraform configuration.
- Learn how to integrate Terraform within your existing CI/CD workflows.
- Learn how Terraform Cloud and Terraform Enterprise extend Terraform.
Course Curriculum
1.0 - Getting Started
Install Terraform and familiarize yourself with your cloud provider.
- What is Terraform?
- How does Terraform work?
- Why use Terraform?
- Terraform Installation
- Editor Configuration
- Cloud Provider Configuration
2.0 - Terraform Basics
Learn the Terraform configuration syntax and use Terraform to provision infrastructure.
- Configuration Syntax
- The Core Workflow
- Modifying Infrastructure
- Terraform State
- Destroying Infrastructure
3.0 - Terraform Language
Use all of the top-level configuration keywords in Terraform.
- Providers
- Resources
- Data Sources
- Variables
- Outputs
- Locals
4.0 - Provisioners
Use Provisioners to extend Terraform with imperative workflows.
- What are Provisioners?
- Declaring Provisioners
- The
local-exec
Provisioner - The
remote-exec
Provisioner - The
file
Provisioner - Provisioners Without a Resource
- Alternatives to Provisioners
5.0 - Modules
Create reusable abstractions of Terraform configuration using Modules.
- What are Modules?
- Using Modules
- Developing Modules
- Providers in Modules
- Module Sources
- Publishing Modules to the Terraform Registry
6.0 - State Management
Understand and interact with Terraform state.
- Inspecting Infrastructure
- Importing Infrastructure
- Manipulating State
- Refreshing State
- The
terraform_remote_state
Data Source - Understanding Secrets in State
7.0 - State Backends
Store Terraform state securely and prevent state corruption with state locking.
- The Local Backend
- Remote Backends
- Configuring Remote State Storage
- State Locking
- Configuring Remote State Locking
- Migrating State Between Backends
8.0 - Workspaces
Deploy a clone of your infrastructure using Workspaces.
- What are Workspaces?
- Avoiding Infrastructure Collisions
- Using Workspaces
- Alternatives to Workspaces
9.0 - Advanced Terraform Configuration
Use advanced Terraform features to DRY up your configuration and scale deployments.
- Functions
- Expressions
- Scaling with
count
- Scaling with
for_each
- Dynamic Blocks
- Custom Conditions
- Terraform Console
- Override Files
10 - Terraform in Automation
Integrate Terraform with your CI/CD workflows.
- Verifying Terraform Configuration
- Running Terraform in CI/CD
- Terraform CLI Configuration
- Using Custom Providers
- Debugging Terraform
- Tuning Terraform
11 - Terraform Cloud & Terraform Enterprise
Extend Terraform with features from Terraform Cloud and Terraform Enterprise.
- What is Terraform Cloud and Terraform Enterprise?
- VCS-driven Runs
- CLI-driven Runs
- API-driven Runs
- Private Module Registry
- Team, Governance, and Business Features
12 - Developing a Terraform Provider
Integrate Terraform with an API by developing a custom Terraform provider.
- Making CRUD Requests to an API
- Terraform Plugin Framework
- Building a Go SDK for the API
- Implement a Data Source
- Implement Create and Read
- Implement Update
- Implement Delete
- Implement Import
Before you come to class
The following tasks can be done prior to showing up for class. We will cover these tasks in class for those that have not done them beforehand.
Download and install:
[Terraform] (https://www.terraform.io/downloads)
[Graphviz] (https://graphviz.org/)
[Go] (https://go.dev/doc/install)
Important: Upon completion of each session, there will be a video recording available for download. An email with instructions to access them will be sent.
About the Instructor:
Matthew Sanabria is an Engineer at HashiCorp and a former Adjunct Instructor at New Jersey Institute of Technology (NJIT). At HashiCorp, Matthew develops Terraform Enterprise, mentors other engineers, and contributes to the Terraform Associate certification exam. At NJIT, Matthew designed and taught a new curriculum for the IT340 Introduction to System Administration course. With over 7 years of professional and teaching experience, Matthew enjoys mentoring others and contributing back to the community.
[LinkedIn] (https://www.linkedin.com/in/sudomateo/)
[Twitter] (https://twitter.com/sudomateo)
[Mastodon] (https://mastodon.online/@sudomateo)