Developing Infrastructure as Code with Terraform
4h 36mIntermediate2025-07-01
Authors

Pearson

Robert Jordan
Course details
This course illustrates the critical tools and practices to successfully implement infrastructure as code (IaC) in a collaborative, production environment. Learn how to integrate IaC into your test and deployment pipelines, how to enforce code review for infrastructure changes, how to manage infrastructure change, and many more topics. The course also covers the new features and software updates in Terraform with the latest updates in the technology.
Learning objectives
Learn why Infrastructure should be managed as Code
Implement best practices for managing IaC using familiar tools like git
Understand Terraform configuration language (HCL).
Explore advanced features such as: Terraform providers AWS, GCP, and Azure.
Learning objectives
Learn why Infrastructure should be managed as Code
Implement best practices for managing IaC using familiar tools like git
Understand Terraform configuration language (HCL).
Explore advanced features such as: Terraform providers AWS, GCP, and Azure.
Skills covered
TerraformHashiCorpData CentersDevOps ToolsDevOps FoundationsDatabase ManagementDevOpsOne-Off
Concepts
Introduction
- Introduction
Say Hello to Terraform
- Part I - Introduction to infrastructure as code (IaC)
- Learning objectives
- Setting up your development environment
- Downloading the example code
- Applying your first Terraform
Introduce IaC
- Learning objectives
- Beginning with a look back - How did we get here
- Deciding why you should use IaC
- Learning definitions
- Exploring approaches to IaC
- The software development lifecycle and IaC
Introduce Terraform
- Part II - Terraform basics
- Learning objectives
- Building your mental model - What is Terraform
- Learning what Terraform is (what it is and is not)
- Demo - Learning about Terraform state
- Learning the Terraform features
- Discover if Terraform is multicloud
- Review - How did Hello Terraform work
Learn HCL
- Learning objectives
- The basics - HCL structure
- Terraform providers
- Terraform data sources and resources
- Dependencies in Terraform
- About expressions in HCL
- Terraform variables and outputs
- Using for each and count properties
- Resource lifecycle
- Refactoring features
- Provisioners
Learn Code Re-Use and Encapsulation with Terraform Modules
- Learning objectives
- Understanding Terraform modules
- Creating a module demo
- Distributing your modules
Understand IaC Maturity Model
- Part III - Using Terraform in production
- Learning objectives
- Exploring the phases of IaC adoption
- IaC maturity model and Terraform
Learn Terraform Providers - Hands-On Activities
- Learning objectives
- Introducing providers in Terraform
- Demo - Working with AWS
- Demo - Working with GCP
- Demo - Working with Azure
- Demo - Using other providers
Discover Continuous Integration and Deployment
- Learning objectives
- Terraform and version control systems (VCS)
- Set up HCP Terraform
- HCP Terraform module registry
- HCP Terraform workspaces
Review and Next Steps
- Learning objectives
- Reviewing what we have learned
- Understanding what s next
Conclusion
- Summary