Language

Course Introduction · Lesson 1 of 30

Welcome — What is Terraform & Why This Course?

Source: doonops-curriculum/course-intro--welcome-to-terraform.md

Doonops lesson

Goal

Before writing any HCL, understand what Terraform is, why companies hire for it, what you will achieve, and how this course leads to certification.

Simple explanation

Terraform is a free tool that reads simple text files and builds or updates your cloud (AWS servers, networks, databases) the same way every time — like a recipe instead of clicking hundreds of buttons in a website console.

Technical view

Terraform is an open-source IaC engine (HCL language, providers for AWS/Azure/GCP). It maintains state, computes a dependency graph, and runs plan/apply cycles. Industry standard alongside CI/CD and GitOps.

Think of it like

Imagine moving house: ClickOps is calling random movers each time with verbal instructions. Terraform is a written checklist + floor plan everyone follows — fewer surprises, easy to repeat.

Steps

  1. Read this entire welcome lesson (diagrams help visual learners).
  2. Continue to Module 1 — install tools and run your first validate on your laptop.
  3. Finish all modules + certification prep before booking the Associate exam.

Deep explanation

Layman words first, then technical detail — read slowly

What is Terraform?

In one sentence: Terraform is software that turns your infrastructure wishes into real cloud resources — safely and repeatedly.

Companies run apps on cloud (Amazon AWS, Microsoft Azure, Google GCP). That cloud has virtual servers, networks, firewalls, databases. Terraform lets you describe all of that in files ending in .tf instead of clicking in a browser.

How Terraform works (big picture)
1 You write
.tf files
(recipe in Git)
2 Terraform CLI
plan
shows diff
3 Cloud API
AWS / Azure / GCP
creates real servers

You describe what you want; Terraform figures out how to change the cloud safely.

Why is it used?

  • Repeatability — Staging and production look the same; no “it worked on my laptop” for servers.
  • Speed — One command can create 20 resources; faster than manual clicks.
  • Safetyterraform plan shows what will change before anything breaks.
  • Teamwork — Files live in Git; reviewers comment like normal code.
  • Multi-cloud — Same workflow for AWS and other clouds (with different providers).
BEFORE (ClickOps)                 AFTER (Terraform + IaC)
─────────────────                 ─────────────────────────
👤 Engineer clicks AWS console    📝 Team reviews .tf in Git (like code)
   ↓ many clicks, easy mistakes      ↓ terraform plan (preview changes)
🖥️  Server "kind of" documented     ↓ terraform apply (same result every time)
❓ "Who changed port 443?"         ✅ History + repeatability + teamwork

Why is demand high in the industry?

Almost every mid-size and large company moved (or is moving) to cloud. They need people who can automate infrastructure — not only developers who write app code.

  • Job posts often list Terraform, AWS, DevOps, IaC together.
  • Regulated industries (banking, health) require audit trails — Git + Terraform history helps.
  • Startups scale fast — Terraform modules let one engineer support many environments.

Layman view: Cloud is the new electricity; Terraform is the standard way to wire the building without hand-wiring every room each time.

What do you achieve with Terraform skills?

  • Build a full 3-tier app on AWS (network → servers → load balancer → database).
  • Share reusable modules so your team does not reinvent VPC every project.
  • Store remote state so many people collaborate without overwriting each other.
  • Plug Terraform into CI/CD so deploys happen after automated tests.

After learning — scope in IT (career)

You do not need to be a math genius or 10-year coder. Logical thinking + practice labs in this course are enough to start.

After this course you can aim for roles like:
┌────────────────────┬──────────────────────────────────────────┐
│ Role               │ What you do with Terraform               │
├────────────────────┼──────────────────────────────────────────┤
│ Cloud Engineer     │ Build VPC, servers, load balancers on AWS │
│ DevOps Engineer    │ Automate infra + CI/CD pipelines        │
│ Platform / SRE     │ Standard modules, remote state for teams  │
│ Solutions Architect│ Design repeatable landing zones           │
└────────────────────┴──────────────────────────────────────────┘
     + Optional badge: HashiCorp Terraform Associate (exam)

Salaries vary by country and experience; Terraform is a skill multiplier on top of cloud knowledge — often required for DevOps and cloud roles worldwide.

Does this course prepare you for certification?

Yes — in plain words: This course is designed so that if you complete every lesson, local lab, and the final Certification Prep module, you will understand the topics HashiCorp tests in the Terraform Associate exam (multiple-choice, ~60 minutes).

We do not replace official HashiCorp practice — but we cover IaC concepts, workflow commands, state, modules, and AWS patterns that appear on the exam. The last module has sample questions in English, Hindi, and Hinglish.

Your path in this course → certification
Modules 1–5
Basics: HCL, state, variables
Modules 6–12
AWS hands-on: VPC, EC2, ALB, RDS…
Modules 13–15
Modules, remote state, CI/CD
Module 16 — Exam prep
Terraform Associate
sample MCQs + domains

Exam in simple terms: You read scenarios (“team needs remote state…”) and pick the best Terraform approach. No live coding during the standard Associate exam — concepts and configuration knowledge matter.

How to use this course

  1. Switch language (English / Hinglish / Hindi) at the top — explanations change; HCL examples stay in English.
  2. Module 2 first lesson — AWS account + Free Tier + aws configure (required before Module 6).
  3. Every hands-on lesson has Project files — copy full folder, then local lab steps.
  4. End of each module: Module check quiz (2–3 questions).
  5. Before certification: Troubleshooting + Capstone modules.
  6. Use AWS free tier carefully — always run plan before apply.

Project files for this lab

Full implementation folder — copy all files, then run terraform commands

Lab project files (full folder)

Copy every file below into one folder — same as a real repo module. Then run the local lab steps.

Suggested folder: Suggested path: ~/doonops-terraform/00-welcome/

versions.tfTerraform version pin
terraform {
  required_version = ">= 1.9.0"
}

Your first step (no install yet)

Prerequisites

  • 10–15 minutes quiet reading time
  • Notebook optional
  1. Read all sections and diagrams on this page.
  2. Write down one reason your future team might want Terraform (repeatability, speed, or jobs).
  3. Open the next lesson: Install Terraform & AWS CLI — that is where hands-on starts.

Self-check before Module 1

  • Can explain Terraform to a friend in one sentence
  • Know difference between console clicking and IaC files
  • Know this course ends with Associate exam prep module

Module check — did you get it?

2–3 quick questions before the next module

Intro — quick check

Quick check — did this module stick?

1. What is Terraform in one line?

  • A database
  • Tool that builds cloud from .tf files
  • Only for Docker
  • A programming language like Python

2. When do you need an AWS account in this course?

  • Lesson 1
  • Before Module 6 (AWS VPC)
  • Never
  • Only for certification