🔹 LEVEL 4: Infrastructure as Code (Terraform)

LEVEL 4 of 5

Master Terraform. Provision complete cloud environments with a single terraform apply. This skill alone significantly boosts your hirability.

🏗️ Terraform Resources

📘 Official Terraform Tutorials Industry Bible

Why these tutorials: HashiCorp's official guides are comprehensive, free, and always up-to-date with latest Terraform features.

What you'll learn:

  • Infrastructure as Code fundamentals
  • Terraform syntax and workflows
  • State management and backends
  • Modules for reusable infrastructure
  • Best practices and patterns
Start Learning

📖 Terraform Best Practices Free Guide

Why this guide: Community-driven best practices for production Terraform. Completely free.

Use for: Code structure, naming conventions, module design, testing strategies

Read Guide

🔁 YouTube Course - SWAP

❌ REMOVED: AWS with Terraform in 30 Days

Why removed: Too long, too drawn out. You don't need 30 days of videos.

✅ REPLACED WITH: Terraform AWS Full Course - freeCodeCamp Free & Focused

Why this course: 2-hour hands-on project. You'll build a real dev environment from scratch.

What you'll build:

  • Complete VPC setup
  • Public and private subnets
  • Internet gateway and route tables
  • Security groups
  • EC2 instances
  • SSH configuration

Instructor: Derek Morgan

Watch on YouTube

🔧 Key Task (KEEP - Perfect)

💎 The Ultimate IaC Project

Single terraform apply provisioning:

  • VPC with CIDR block
  • Public subnet (for web tier)
  • Private subnet (for database tier)
  • EC2 instance in public subnet
  • RDS database in private subnet
  • Security groups allowing proper traffic
  • Outputs displaying connection endpoints

Bonus: Make it modular with separate modules for networking, compute, and database.

Hands-On Projects

Project 1: Terraform Basics

  • Set up Terraform with AWS provider
  • Create simple resources (S3 bucket, EC2)
  • Practice terraform plan, apply, destroy
  • Understand state files
  • Configure remote state (S3 + DynamoDB)

Project 2: VPC + EC2 + RDS (Main Project)

  • Build the complete infrastructure described above
  • Use variables for configuration
  • Output important values (EC2 IP, RDS endpoint)
  • Document the architecture
  • Push Terraform code to GitHub

This is your portfolio centerpiece. Make it clean and well-documented.

Project 3: Terraform Modules

  • Refactor Project 2 into reusable modules
  • Create modules for: VPC, Security Groups, EC2, RDS
  • Use module outputs as inputs to other modules
  • Demonstrate module versioning

Project 4: Multi-Environment Setup (Advanced)

  • Use workspaces or separate state files
  • Deploy dev, staging, and prod environments
  • Use Terraform variables files (.tfvars)
  • Implement proper tagging strategy

Week-by-Week Breakdown

Week 1: Terraform Fundamentals

  • Read Terraform: Up & Running chapters 1-3
  • Install Terraform and set up AWS credentials
  • Complete official Terraform tutorials (Get Started collection)
  • Start Project 1

Week 2: State Management & Structure

  • Read chapters 4-5
  • Watch freeCodeCamp Terraform course
  • Learn about state management and backends
  • Complete Project 1

Week 3: Building Production Infrastructure

  • Read chapters 6-7
  • Start Project 2 (VPC + EC2 + RDS)
  • Practice: variables, outputs, data sources

Week 4: Modules & Best Practices

  • Read remaining chapters
  • Complete Project 2
  • Refactor into modules (Project 3)
  • Optionally tackle multi-environment setup (Project 4)

🧠 Output Check (Non-negotiable)

⚠️ You Must Be Able To Do This:
  • Write Terraform configurations from scratch (no copying)
  • Explain the Terraform workflow: init → plan → apply → destroy
  • Manage Terraform state securely with remote backends
  • Create and use Terraform modules
  • Use variables, outputs, and data sources effectively
  • Provision a complete VPC with subnets, route tables, and gateways
  • Launch EC2 and RDS with proper security groups
  • Debug Terraform errors and read plan outputs

Advanced Tips

💡 Pro Tips
  • Always run terraform plan before apply: Avoid surprises
  • Use terraform fmt: Keep your code formatted
  • Version your modules: Use Git tags for module versioning
  • Implement .gitignore: Never commit .terraform/, terraform.tfstate, or .tfvars with secrets
  • Document your code: Use comments and README files
✅ Ready for LEVEL 5?

Your GitHub should have multiple Terraform projects demonstrating infrastructure provisioning. Ensure you can provision and destroy environments confidently. Proceed to LEVEL 5: CI/CD & Monitoring.

Continue to LEVEL 5 →

Cloud Roadmap 2026 • Educational Use Only
Privacy | Terms | Disclaimer