Beginner — official, guided tutorials & docs
- HashiCorp Learn (official Terraform tutorials) — hands-on guided tutorials and learning paths for AWS/Azure/GCP, interactive exercises and short videos. Start here for the canonical basics. (HashiCorp Developer)
- Terraform documentation (language & CLI reference) — the reference for HCL, commands, modules, state, backends and best practices. Use this as your ongoing reference. (HashiCorp Developer)
Free courses & video walkthroughs (good for beginners who like video)
- freeCodeCamp.org — Full Terraform courses / projects on YouTube + companion articles — long-form beginner courses (AWS / Azure projects) you can follow start-to-finish. Great for a one-sitting deep dive. (YouTube)
- (Official vendor channels & HashiCorp’s tutorial videos) — short demos and recordings embedded inside HashiCorp Learn tutorials. (HashiCorp Developer)
Cloud provider learning paths & labs (practical, cloud-specific)
- Microsoft Learn — “Fundamentals of Terraform on Azure” and Azure Terraform labs — free, step-by-step modules that show Terraform with Azure resources and verified Azure modules. Use these if you’re focused on Azure. (Microsoft Learn)
- Google Cloud — Terraform docs & Cloud Skills Boost labs — GCP tutorials and hands-on Cloud Skills Boost (Qwiklabs-style) labs to practice Terraform on GCP. (Google Cloud)
- HashiCorp tutorials for specific clouds (AWS/Azure/GCP) — cloud-specific step-by-step tutorials inside HashiCorp Learn. Good companion to provider docs. (HashiCorp Developer)
Practical examples & repositories (learn by reading working code)
- Terraform Registry (modules & providers) — browse official and community modules to see idiomatic module layouts and real-world examples. (Terraform Registry)
- terraform-aws-modules (GitHub) — widely used community modules for AWS (VPC, EKS, RDS, etc.) — good to study and reuse patterns. (GitHub)
- terraform-examples & other example repos — canonical, minimal examples for many providers (Containersolutions / futurice / example repositories). Great when you want copy-pasteable patterns. (containersolutions.github.io)
Curated lists & community resources (discover tools, linting, testing, advanced topics)
- “Awesome Terraform” / curated lists on GitHub — aggregated links to blogs, tools, security & testing guidance, and more community resources. Use these once you’re past basics. (GitHub)
Quick utilities & follow-ups (linting, security, testing)
- Explore tflint, checkov, terrascan, terratest and other community tools — many blog posts and repos cover these (see curated lists above for links). (Spacelift)
Suggested learning path (compact)
- Start: Do one HashiCorp Learn “Get started” tutorial for your cloud. (HashiCorp Developer)
- Watch: Follow a freeCodeCamp full course video while you repeat commands in a cloud sandbox. (FreeCodeCamp)
- Practice: Clone a
terraform-examples
repo and reproduce a simple app (VPC + one VM + storage). (containersolutions.github.io) - Reuse: Study + use a module from the Terraform Registry; adapt it. (Terraform Registry)
- Advance: Learn testing, linting and policy (terratest, tflint, policy-as-code). Use the “awesome” lists to discover tools. (GitHub)
Quick tips
- Always use the official HashiCorp Learn tutorials first — they’re up to date with Terraform’s evolving best practices. (HashiCorp Developer)
- Work in small, disposable sandboxes (free cloud tiers or provider sandboxes) so mistakes don’t cost you. (Cloud Skills Boost / Microsoft Learn labs are great for this). (Google Cloud Skills Boost)
- Read real module code on the Terraform Registry and GitHub — production patterns live there. (Terraform Registry)