Thuta Learning
BasicDevOpsintermediate

What Is Terraform?

Relax. We'll talk through this in plain words — no textbook voice.

What you'll walk away with

  • Understand what Terraform is, no intimidation required
  • Get hands-on running terraform commands and HCL code yourself
  • Be ready to apply this concept in a real project right away

Let's think about this for a second

Back in the day, setting up a server meant clicking through a cloud console (the AWS/Azure/GCP website) again and again — now imagine doing that for 50 servers. Repetitive manual clicking is error-prone, and it's hard to remember who configured what. Terraform lets you write the desired state of your infrastructure into a code file using HCL (HashiCorp Configuration Language), a readable syntax, and with a single `terraform apply` command it automatically sends create/update instructions to your cloud provider — and since the code lives in a git repository, you get history, review, and rollback just like regular software development.

Let's connect this to a real scenario

Picture a restaurant chain — the manual approach is like walking up to an architect at every single branch and saying 'build it like this.' The IaC approach is like writing one blueprint (a design document) and simply copying it so any branch can be built from it immediately. Terraform works with 3,000+ providers — AWS, Azure, GCP, Kubernetes, Cloudflare, GitHub, and more — it isn't limited to a single cloud provider.

Let's look at an example

text
Without Terraform:
  Click through the AWS console 50 times to create 50 servers,
  hope everyone on the team clicked the same settings.

With Terraform:
  Write the desired infrastructure once, as code.
  Run `terraform apply` — Terraform makes reality match the code,
  every time, for anyone on the team.
You should see
Be able to explain Terraform as 'writing infrastructure in a language.'

5-minute try-it

Imagine you have to set up 20 servers by manual clicking. Write 3 lines comparing (1) the manual approach and (2) the Terraform approach — how do they differ?

A quick word of caution

If you start using Terraform for production infrastructure, you'll need a cloud provider (AWS/Azure/GCP) account before you can actually create real resources — most hands-on lessons in this tutorial use only local/free providers that don't cost anything.

Easy traps

  • Thinking Terraform is an AWS-only tool — in reality it works with 3,000+ providers
  • Confusing Terraform with a 'server configuration' tool like Ansible (configuration management) — Terraform is mainly focused on 'creating' infrastructure

Now try it yourself

Imagine you have to set up 20 servers by manual clicking. Write 3 lines comparing (1) the manual approach and (2) the Terraform approach — how do they differ?

You'll know it worked when: Be able to explain Terraform as 'writing infrastructure in a language.'

What Is Terraform? | Thuta Learning