Free to read · Three levels

Terraform: Declarative Infrastructure, State, and Safe Change

Understand HCL, providers, dependency identity, state, plans, modules, testing, drift, and recovery through explicit synthetic examples.

18 lessonsEnglish + ArabicContent reviewed
Start learning

In this course

This bilingual public theory course develops Terraform reasoning from values and resource addresses to state architecture and controlled change. Eighteen substantial lessons use an atlas-lab service catalogue, built-in terraform_data fixtures, and bounded offline models. Each lesson includes explained examples, realistic diagnostics, worked exercises, takeaways, and official references.

Every HCL, test-file, backend, and CLI example is illustrative and non-runnable. No Terraform initialization, planning, application, import, state operation, backend access, or cloud action is performed. Offline Python examples check declared calculations only; they do not implement Terraform or certify provider behavior. Related root/child/test files are identified explicitly, and other examples are independent configurations.

What you will learn

  • Model typed inputs, outputs, stable resource identities, and dependency relationships.
  • Separate Terraform CLI, provider, module, and backend contracts.
  • Review proposed updates, replacements, imports, moved addresses, and ownership transitions.
  • Protect sensitive artifacts and understand supported ephemeral and write-only flows.
  • Design meaningful validation, CI review, drift response, state architecture, and recovery boundaries.

Your learning path

Three levels

Who this is for

  • Developers and engineers learning infrastructure configuration and state-aware review.
  • Reviewers who need to distinguish language contracts, provider actions, and operational authority.

Before you start

  • Basic familiarity with files, programming values, command-line concepts, and version control.
  • No cloud account, credentials, backend, provider installation, or Terraform CLI is required.