Terraform Curriculum
On this page
- Terraform Curriculum Overview
- About Terraform
- Architecture & Workflow
- Key Benefits for Modern DevOps
- Complete Curriculum Roadmap
- Module 1: Introduction to Terraform
- Module 2: Installation & Setup
- Module 3: HCL Fundamentals
- Module 4: Terraform State
- Module 5: Core Resources and Data Sources
- Module 6: Terraform Modules
- Module 7: Workspaces and Environments
- Module 8: Provisioning AWS Infrastructure
- Module 9: Advanced HCL and Meta Arguments
- Module 10: Terraform with CI CD
- Module 11: Security and Secret Management
- Module 12: Terraform at Scale
About Terraform
Declarative cloud provisioning, state management, providers, modules & drift.
Architecture & Workflow
Diagram
Key Benefits for Modern DevOps
- Automation: Eliminates repetitive manual procedures through codified configuration.
- Reliability & Consistency: Reduces configuration drift across development, staging, and production environments.
- High Observability: Provides deep telemetry into application and infrastructure health.
Complete Curriculum Roadmap
This comprehensive handbook covers the entire Terraform engineering lifecycle across 12 structured modules:
Module 1: Introduction to Terraform
- What is Infrastructure as Code: Iac Overview, Traditional Vs Iac
- What is Terraform and how it works: Terraform Overview, Hcl Intro
- Terraform vs other IaC tools: Terraform Vs Cloudformation, Terraform Vs Ansible, Terraform Vs Pulumi
- Terraform architecture and workflow: Core Workflow, State Concept, Providers Registry
→ Explore Introduction to Terraform
Module 2: Installation & Setup
- Installing Terraform: Install Windows, Install Mac, Install Linux
- Setting up providers: Aws Provider Setup, Provider Authentication, Provider Versioning
- Terraform CLI basics: Cli Cheatsheet, Init Plan Apply, Destroy, Fmt Validate
- VS Code setup & extensions: Vscode Setup, Terraform Extension
→ Explore Installation & Setup
Module 3: HCL Fundamentals
- HCL syntax & structure: Hcl Types, Blocks Arguments Attributes, Comments
- Variables: Input Variables, Variable Types, Tfvars, Variable Validation
- Outputs: Output Values, Output Use Cases
- Locals: Locals Block, Locals Vs Variables
- Expressions & functions: Built In Functions, String Interpolation, Conditional Expressions, For Expressions
Module 4: Terraform State
- Understanding state: What Is State, Terraform Tfstate, State Vs Real Infra
- Local vs remote state: Local State, Why Remote State
- Remote backends: Backend Config, S3 Backend, State Locking Dynamodb
- State commands: State List, State Show, State Mv, State Rm, State Pull Push
- State best practices: Sensitive Data In State, State Isolation
Module 5: Core Resources and Data Sources
- Resource blocks deep dive: Resource Syntax, Meta Arguments, Lifecycle Rules
- Data sources: Data Block, Data Vs Resource, Common Data Sources
- Resource dependencies: Dependency Graph, Implicit Dependency, Depends On
- Provisioners: Local Exec, Remote Exec, File Provisioner, When Not To Use
→ Explore Core Resources and Data Sources
Module 6: Terraform Modules
- What are modules: Module Concept, Root Vs Child Module
- Writing reusable modules: Module Structure, Inputs Outputs, Module Versioning
- Using public registry modules: Terraform Registry, Using Vpc Module, Using Ec2 Module
- Module composition patterns: Nested Modules, Passing Outputs, Module For Each
- Publishing modules: Github Registry, Semantic Versioning, Module Requirements
Module 7: Workspaces and Environments
- Terraform workspaces: Workspace Concept, Workspace Commands, Workspace Limitations
- Managing dev staging prod: Environment Strategies, Directory Based, Workspace Based
- Variable files per environment: Env Tfvars, Var File Patterns
→ Explore Workspaces and Environments
Module 8: Provisioning AWS Infrastructure
- VPC and Networking: Vpc, Subnets, Igw Natgw, Route Tables, Security Groups, Nacl, Vpc Endpoints, Vpc Peering
- EC2 and Auto Scaling: Ec2 Instance, Key Pairs, Elastic Ip, Launch Template, Asg
- Load Balancers: Alb, Nlb, Target Groups, Listeners Rules, Acm Ssl
- S3 and Storage: S3 Bucket, Bucket Policies, S3 Security, S3 Website, Versioning Lifecycle
- RDS and Databases: Rds Instance, Subnet Groups, Parameter Groups, Aurora Cluster, Rds Replication, Snapshots
- IAM with Terraform: Iam Users Roles, Iam Groups, Iam Policies, Iam Trust Relationships, Instance Profiles
- AWS EKS (Elastic Kubernetes Service):
→ Explore Provisioning AWS Infrastructure
Module 9: Advanced HCL and Meta Arguments
- count and for each: Count, For Each, Count Vs Foreach, Dynamic Resources
- dynamic blocks: Dynamic Block Syntax, Dynamic Security Groups
- Lifecycle meta argument: Create Before Destroy, Prevent Destroy, Ignore Changes, Replace Triggered By
- moved and import blocks: Terraform Import, Import Block 1 5, Moved Block
→ Explore Advanced HCL and Meta Arguments
Module 10: Terraform with CI CD
- Terraform in CICD pipelines: Cicd Overview, Pipeline Concepts, Pipeline Stages, State Management In Cicd, Tf Automation Steps, Plan In Pr
- GitHub Actions with Terraform: Gh Actions Workflow, Plan Apply Workflow, Secrets Management
- Jenkins with Terraform: Jenkins Pipeline, Jenkinsfile Terraform
- Atlantis for GitOps: Atlantis Overview, Atlantis Setup, Pull Request Workflow
→ Explore Terraform with CI CD
Module 11: Security and Secret Management
- Sensitive variables and outputs: Sensitive Variables, Sensitive Outputs, Sensitive Flag, Masking Secrets
- Managing secrets with Vault: Vault Provider, Vault Aws Secrets, Dynamic Credentials
- AWS Secrets Manager: Secrets Manager Tf, Rotating Secrets
- Least privilege for Terraform: Iam Tf Role, Permission Boundaries, Oidc Github Aws
→ Explore Security and Secret Management
Module 12: Terraform at Scale
- Terragrunt: Terragrunt Overview, Terragrunt Vs Modules, Dry Configurations, Multi Account Terragrunt, Run All
- Large codebase patterns: Layered Architecture, Separation Of Concerns, Monorepo Vs Multirepo
- Terraform Cloud and Enterprise: Tfc Overview, Vcs Integration, Remote Runs, Cost Estimation
- Drift detection and remediation: Drift Detection, Terraform Refresh, Auto Remediation