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-controlled — Every change is tracked in Git with a message and author.
- Repeatable — Apply the same code against dev, staging, and prod to get identical environments.
- Reviewable — Pull requests let teammates check infrastructure changes before they go live.
- Self-documenting — The 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 / OpenTofu — Cloud-agnostic, declarative, massive provider ecosystem. Best default choice.
- AWS CloudFormation — AWS-only, verbose JSON/YAML, free to use but tightly coupled to AWS.
- Pulumi — Write infrastructure in TypeScript/Python/Go instead of HCL. More power, more complexity.
- Ansible — Primarily 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