Terraform and the Rise of Infrastructure as Code

AarushiAarushi
3 min read

Once upon a time, in the early days of the cloud revolution, engineers found themselves drowning in manual work. Spinning up servers, configuring networks, setting permissions — it was like building a Lego set without instructions, every single time. And with the rise of platforms like Amazon Web Services (AWS), things only got more complex.

Enter Terraform, developed in 2014, crafted by a company named HashiCorp. It wasn’t just another DevOps tool — it was a game changer.

The Problem

Imagine this: A team wants to deploy their app across three environments — dev, staging, and production. Each setup needed multiple EC2 instances, a load balancer, an RDS database, and security rules. One wrong click in the AWS console, and boom — everything could break.

Engineers needed a way to automate and standardize infrastructure — to treat it like code. That way, it could be versioned, reviewed, and repeated — just like software.

The Birth of Terraform

Terraform was built to solve that problem. With a simple, declarative language called HCL (HashiCorp Configuration Language), you could describe what your infrastructure should look like — and Terraform would take care of the rest.

Want 3 EC2 instances behind a load balancer? Just write the code. Want to destroy everything when the job’s done? Just run one command.

Suddenly, engineers were no longer cloud admins — they became infrastructure artists

Why Terraform?

Terraform isn’t tied to one cloud. It works with AWS, Azure, Google Cloud — even on-prem servers or SaaS providers like GitHub. That’s why it’s called "Cloud Agnostic".

Cloud partners of Terraform: Find a Partner | HashiCorp

Here’s what made Terraform shine:

  • Repeatability – Create identical environments with just one script.

  • Version Control – Infrastructure becomes trackable in Git.

  • Collaboration – Teams can work together, just like they do on app code.

  • Automation – Say goodbye to clicking around dashboards.

Let’s dive into 5 essential Terraform commands you should know when working with AWS cloud provisioning:

1. terraform init

Purpose: Initializes your Terraform working directory by downloading the necessary provider plugins (e.g., AWS provider).

terraform init

This is the first command you must run in a new Terraform project. It sets up your environment to manage AWS resources.

2. terraform plan

Purpose: Creates an execution plan, showing what Terraform will do before it actually does it.

terraform plan

This command helps you preview changes (create, update, destroy) that will be applied to AWS resources. Think of it like a dry-run.

3. terraform apply

Purpose: Applies the changes required to reach the desired state of the configuration.

terraform apply

After verifying with terraform plan, this command provisions the infrastructure on AWS. You’ll be prompted to approve the action.

4. terraform validate

Purpose: Validates the syntax and internal consistency of the Terraform files.

terraform validate

It’s good practice to run this before plan or apply to catch mistakes early in your HCL (HashiCorp Configuration Language) code.

And when you're done?

5. terraform destroy

Purpose: Deletes all the resources defined in your Terraform configuration.

terraform destroy

Useful when you want to tear down your AWS setup safely and cleanly.


Simple. Safe. Scalable.

Today

Fast forward to now — Terraform is the go-to tool for cloud provisioning. Companies big and small use it to manage their AWS infrastructure with confidence and speed.

Terraform enables DevOps teams to manage AWS resources declaratively and consistently, reducing manual errors and increasing productivity. Learning and using these five commands will give you a solid foundation in Terraform and cloud provisioning.

Terraform didn’t just change how we write infrastructure — it changed how we think about it.

So, the next time you're building a scalable infrastructure on AWS, let Terraform do the heavy lifting!

Stay tuned for more exciting content, until we cross paths again, Adieu.

~Aarushi

0
Subscribe to my newsletter

Read articles from Aarushi directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Aarushi
Aarushi