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

→ Explore HCL Fundamentals


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

→ Explore Terraform State


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

→ Explore Terraform Modules


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

→ Explore Terraform at Scale