RadarTrek
Home/Courses/Terraform for Builders
🏗️Intermediate10 lessons · 3 free

Terraform for Builders

Terraform is the standard tool for Infrastructure as Code on AWS, GCP, and Azure. This course teaches you to provision VPCs, EC2 instances, RDS databases, S3 buckets, and IAM policies with reusable, version-controlled Terraform code — and automate deployments through CI/CD pipelines.

Basic AWS or cloud familiarity helpful — terminal comfort required
Start free (3 free lessons)
$59one-time · lifetime access

What you'll learn

The core Terraform workflow: write, plan, apply, destroy
Providers, resources, data sources, and output variables
Provisioning VPCs, EC2 instances, and RDS with Terraform
S3 buckets, CloudFront distributions, and IAM policies as code
Terraform variables, locals, and the tfvars pattern
Modules: reusable infrastructure building blocks
Remote state with S3 + DynamoDB locking to prevent conflicts
CI/CD pipeline integration: Terraform in GitHub Actions

Course outline

Full course — $59 one-time

04

EC2 and Auto Scaling Groups

Launch templates, target groups, and scaling policies

14 min
05

RDS — Managed PostgreSQL

Provisioning an RDS instance with backups and subnet groups

12 min
06

S3 and IAM Policies

Buckets, bucket policies, IAM roles, and least-privilege access

13 min
07

Terraform Modules

Reusable infrastructure patterns across projects and environments

13 min
08

Remote State and Locking

S3 backend, DynamoDB locking, and team state management

11 min
09

CI/CD for Infrastructure

Automating terraform plan and apply in GitHub Actions

14 min
10

Migrating Existing Infrastructure

Importing existing AWS resources into Terraform state

12 min

Get the full course

All 10 lessons. Define your cloud in code — never click the AWS console again.

✓ AWS focus✓ Lifetime access✓ Certificate
$59one-time

Written by the RadarTrek editorial team · Reviewed June 2026

About this course

Infrastructure as Code means defining your cloud resources — servers, databases, networks, storage — in version-controlled configuration files rather than clicking through cloud provider consoles. Every time you click the AWS console to provision something, you create infrastructure whose exact configuration exists only in that console. It cannot be reproduced consistently, reviewed in a pull request, rolled back with git revert, or recreated in a disaster recovery scenario. Terraform solves this by letting you write declarative HCL (HashiCorp Configuration Language) files that describe what infrastructure should exist, and applying them through a plan-then-apply workflow that shows you exactly what will change before making any changes.

Terraform works with every major cloud provider — AWS, GCP, Azure, DigitalOcean, Cloudflare — through a plugin system called providers. It manages state in a file (or remotely in S3) that tracks which real-world resources correspond to which configuration blocks. The plan-apply workflow is what makes Terraform safe: `terraform plan` shows you a diff of what will be created, modified, or destroyed before `terraform apply` makes a single API call. For builders who have been managing infrastructure manually, learning Terraform is one of the highest-leverage investments in engineering reliability.

Frequently asked questions

What is Terraform and how does it differ from AWS CloudFormation?

Terraform is a cloud-agnostic Infrastructure as Code tool that works with AWS, GCP, Azure, and hundreds of other providers using the same HCL syntax. CloudFormation is AWS-only and uses YAML or JSON. Terraform has a better developer experience (cleaner syntax, faster iteration, the plan command), a larger provider ecosystem, and works across multi-cloud environments. CloudFormation is tightly integrated with AWS and sometimes gets new service support before Terraform, but for most teams Terraform is the preferred choice.

What is Terraform state and why does it matter?

Terraform maintains a state file that maps your HCL configuration to real cloud resources. When you run terraform apply, Terraform reads the state to know what currently exists, compares it to your configuration, and calculates what changes to make. Without state, Terraform cannot know if a resource already exists or needs to be created. By default, state is stored locally in terraform.tfstate — for team environments, this must be stored remotely in S3 (with DynamoDB for locking) so multiple engineers can share the same state without conflicts.

Is Terraform hard to learn for someone who knows Docker?

If you understand Docker and basic cloud networking (what a VPC, subnet, and security group are), Terraform's learning curve is moderate. The HCL syntax is simple — resources have a type and a block of properties. The harder concepts are the state model, understanding the plan output, and module structure for reusability. This course assumes Docker knowledge and builds from there. Most builders are writing useful Terraform within a few hours and managing production infrastructure within a week.

What is the Terraform plan-apply workflow?

`terraform init` downloads providers. `terraform plan` reads your configuration and state, calls cloud APIs to check current resource status, and outputs a diff showing exactly what will be created, modified, or destroyed — no changes are made. `terraform apply` shows the same plan and asks for confirmation before executing. This workflow is what makes Terraform safe to use in teams: every change is reviewed as a diff before it affects production. In CI/CD pipelines, `terraform plan` output is posted as a pull request comment and `terraform apply` runs on merge.

Should I use Terraform or just use the cloud console for small projects?

For a one-person project with two or three cloud resources, the console is fine to start. Terraform becomes valuable when you need to reproduce environments (staging mirrors production), collaborate (another engineer needs to understand what infrastructure exists), recover from incidents (recreate infrastructure from scratch), or change things safely (a plan shows you exactly what will change). The inflection point is usually when you have more than five resources or more than one environment. Starting with Terraform early is much easier than migrating to it later.

RadarTrek Intel — monthly score updates

We track 40+ tools so you don't have to. Score changes, new tools, and new guides — once a month, no spam.