RadarTrek
Home/Courses/Terraform for Builders/What Is Infrastructure as Code?
Lesson 01 / 10·8 minFree

What Is Infrastructure as Code?

Why clicking the AWS console doesn't scale and Terraform does

Written by the RadarTrek editorial team · June 2026

The problem with clicking

Every cloud project starts the same way: you open the AWS console, click through wizards, and somehow end up with a server. It works — until you need a second environment, a team member reproduces the setup, or you have to rebuild after an incident. Manual console work is invisible, unrepeatable, and uncheckable.

💡

Infrastructure as a recipe

Clicking the console is like cooking from memory — it works while the chef is in the kitchen, but the moment they leave nobody else can reproduce the dish. Infrastructure as Code is writing down the recipe: exact ingredients, quantities, and steps. Anyone can follow it and get the same result every time.

What Infrastructure as Code actually means

IaC means describing your infrastructure — servers, networks, databases, DNS records — in plain text files that can be read, reviewed, committed to Git, and applied automatically. The files become the authoritative description of what should exist. If the file says "three EC2 instances", the tool makes it so.

  • Version-controlledEvery change is tracked in Git with a message and author.
  • RepeatableApply the same code against dev, staging, and prod to get identical environments.
  • ReviewablePull requests let teammates check infrastructure changes before they go live.
  • Self-documentingThe code is the documentation — no out-of-date wiki page to maintain.

Where Terraform fits

Terraform is the most widely adopted IaC tool. It works with every major cloud provider (AWS, GCP, Azure) and hundreds of third-party services (Cloudflare, GitHub, Datadog) through a plugin system called providers. You write HCL (HashiCorp Configuration Language), run `terraform apply`, and Terraform figures out the minimum set of API calls needed to reach your desired state.

!

HCL is gentle

HashiCorp Configuration Language reads almost like structured English. If you can read JSON you can read HCL within minutes — the main difference is that HCL supports comments, multiline strings, and expression interpolation without quoting every key.

Terraform vs alternatives

  • Terraform / OpenTofuCloud-agnostic, declarative, massive provider ecosystem. Best default choice.
  • AWS CloudFormationAWS-only, verbose JSON/YAML, free to use but tightly coupled to AWS.
  • PulumiWrite infrastructure in TypeScript/Python/Go instead of HCL. More power, more complexity.
  • AnsiblePrimarily a configuration management tool, not a provisioning tool. Different problem.

What you will build in this course

By lesson 10 you will have a fully Terraformed AWS stack: a VPC with public and private subnets, EC2 instances behind an Auto Scaling Group, an RDS PostgreSQL database, S3 buckets with correct IAM policies, reusable modules, remote state stored in S3 with DynamoDB locking, and a GitHub Actions pipeline that plans on PRs and applies on merge.

Try this

Open the AWS console and count how many clicks it takes to create a VPC with two subnets, an internet gateway, and a route table. Then come back — you will do all of that in about 15 lines of HCL by lesson 3.

Key ideas from this lesson

terraform --version # check installed version
terraform init # initialise a working directory
terraform plan # preview changes without applying
terraform apply # create / update infrastructure
terraform destroy # tear everything down

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.