Course Code: terrforminpracbesp
Duration: 14 hours
Prerequisites:
  • Understanding of Infrastructure as Code (IaC)

Audience

  • DevOps engineers
  • Cloud engineers
  • System administrators
  • Software developers
Overview:

Terraform in Practice refers to the real-world application and utilization of Terraform, a powerful open-source tool developed by HashiCorp, used for implementing Infrastructure as Code (IaC). Terraform allows DevOps teams to define and provision data center infrastructure using a high-level configuration language known as HashiCorp Configuration Language (HCL).

This instructor-led, live training (online or onsite) is aimed at intermediate-level DevOps engineers who wish to use Terraform to build and manage real infrastructure projects in a cloud environment.

By the end of this training, participants will be able to:

  • Understand Terraform and IaC fundamentals.
  • Learn to write and manage Terraform configurations.
  • Master Terraform for infrastructure automation across AWS, Azure, and GCP.
  • Utilize Terraform's advanced features including workspaces and modules.
  • Integrate Terraform with CI/CD pipelines and Terraform Cloud for team collaboration.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.
Course Outline:

Introduction to IaC & Terraform

  • What is Infrastructure as Code? 
  • Terraform benefits and architecture
  • Comparing Terraform with vendor-specific tools
  • Basic Terraform concepts and workflow

Terraform Fundamentals

  • Installing Terraform and setting up the environment
  • Authentication in Terraform
  • Understanding Terraform files and their role in modules
  • Terraform template structure and syntax
  • Introduction to Terraform workspaces
  • Executing core Terraform commands
  • Managing parallelism in Terraform operations
  • Understanding implicit vs. explicit dependencies

Terraform Providers

  • Introduction to the OpenStack Provider
  • Configuring the OpenStack Provider
  • Authentication with OpenStack (via credentials, environment variables, etc.)
  • Provider resources and data sources
  • Managing credentials and environment variables for OpenStack
  • Creating and Managing OpenStack resources with Terraform
  • Best Practices for Terraform with OpenStack
  • Integration with other tools

Terraform Variables and Functions

  • Deep dive into variables
  • Exploring built-in functions for dynamic configurations
  • Using interpolation, expressions, and functions

Advanced Terraform Configuration

  • Advanced template design and nesting modules
  • Managing Terrafor states
  • Addressing configuration drift and resource lifecycle management
  • Importing and managing existing resources
  • Local vs. remote execution models
  • Debugging and logging in Terraform

Terraform Cloud

  • Comparing Terraform open source, cloud, and enterprise editions
  • Setting up and managing workspaces in Terraform Cloud (TFC)
  • Benefits of Terraform Cloud for Teams and collaborative environments

Summary and Next Steps