Day 1: Terraform Foundations & Core Features
Module 1: Introduction to Infrastructure as Code & Terraform
- Traditional Infrastructure vs. Infrastructure as Code (IaC)
- Why Terraform? Vendor-Agnostic IaC
- Terraform Workflow: init, plan, apply, destroy
- Terraform Configuration Blocks (provider, resource, variable, output)
- Lab 1: Deploying a Simple Docker Container with Terraform
Module 2: Terraform Foundations
- Installing & Setting Up Terraform on Windows, Linux, macOS
- Authentication Methods: AWS, Azure, GCP
- Terraform Files & Project Structure (.tf, .tfvars)
- Terraform Commands: terraform fmt, terraform init, terraform plan, terraform apply
- State Management & Dependencies (implicit vs explicit)
- Lab 2: Deploying a Virtual Machine using Terraform
Module 3: Working with Terraform Providers
- Terraform Provider Plugins & Registry
- Public Cloud Providers: AWS, Azure, GCP
- Managing Multiple Providers & Provider Aliases
- Lab 3: Creating a Basic Network with Terraform
Module 4: Advanced Variables, Functions & Workspaces
- Input vs Output Variables (variable, output, locals)
- Terraform Functions: String, Numeric, Date, Collection, Type Conversion
- Named Values & Expressions (Interpolation, Indexing, for_each, Conditionals)
- Workspaces & Multi-Environment Deployments
- Lab 4: Modifying a Hard-Coded Terraform Deployment with Variables
Day 2: Scaling Terraform with Modules, Pipelines, and Automation
Module 5: State Management, Templates & Configuration Drift
- Local vs Remote State Files (backend for S3, Azure, GCS)
- Migrating Local State to Remote Backends
- Configuration Drift & Terraform Import
- Logging & Debugging with TF_LOG
- Lab 5a: Migrating Terraform State to Remote Backend
- Lab 5b: Deploying Resources using Terraform Modules
Module 6: Automating Terraform with Pipelines
- Terraform Cloud vs Enterprise
- CI/CD with GitHub Actions Pipelines (terraform plan, terraform apply)
- CI/CD with Jenkins Pipelines (Jenkinsfile, terraform init, terraform plan, terraform apply)
- Lab 6: Creating a Terraform Pipeline with Jenkins
- Lab 6a: Creating a Terraform Pipeline with Terraform Cloud
Exams and Assessments
There is no specific certification associated with this course
Hands-On Learning
- Lab: Deploy a Virtual Machine in Azure, AWS, or GCP
- Lab: Implement State Locking & Remote Storage
- Lab: Work with Terraform Modules for Reusable Infrastructure
- Lab: Automate Terraform with Terraform Cloud & Jenkins
- Lab: Troubleshoot Terraform State & Configuration Drift
Why choose QA
- Practical & Hands-on: Real-world scenarios & labs
- Cloud-Agnostic: Covers AWS, Azure, and GCP
- Covers Advanced Terraform Features: Modules, CI/CD, and State Management
- Industry-Relevant: Prepares you for Terraform-based job roles