What is Terraform?

An Introduction to Declarative Cloud Provisioning and Multi-Cloud Infrastructure as Code

Fact-Checked & Reviewed by: Hambirrao P | Updated: June 2026 | Verified Technical Expert

Key Takeaways

  • Defines cloud resources in declarative configuration files using HashiCorp Configuration Language (HCL).
  • Enables automated, repeatable provisioning of networks, VMs, and databases in seconds.
  • Supports multi-cloud environments, working seamlessly across AWS, Azure, and GCP.

Introduction to Terraform

Terraform is an open-source Infrastructure as Code (IaC) software tool created by HashiCorp. It allows users to define and provision a data center infrastructure using a high-level configuration language, automating cloud setups and eliminating manual portal configuration.

The Power of Infrastructure as Code (IaC)

Before IaC, setting up virtual networks, compute instances, and databases required clicking through complex cloud console panels. This was slow and prone to human error. Terraform defines these configurations in code files, which can be versioned, shared, and executed to rebuild identical environments instantly.

Declarative Syntax and State Management

Terraform uses HashiCorp Configuration Language (HCL) to describe the desired final state of your infrastructure. When executed, Terraform reads the configuration, calculates the changes required using a local 'State File' that tracks real resources, and applies only the necessary changes to match the code.

AWS EC2 Infrastructure Provisioning Manifest (HCL)

# Configure provider requirements
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.0"
    }
  }
}

provider "aws" {
  region = "ap-south-1" # Mumbai local region
}

# Deploy an Ubuntu server instance automatically
resource "aws_instance" "pune_staging" {
  ami           = "ami-03f4878755434977f"
  instance_type = "t2.micro"

  tags = {
    Name = "CACTS-Pune-DevOps-Staging"
  }
}

Official Documentation

Access official code repositories and developer documentation.

Official Terraform Documentation ↗

Frequently Asked Questions

When does the next 1-to-1 training intake start?

+

Intakes start twice monthly on the 1st and 15th. The next upcoming 1-to-1 intake starts on October 1, 2026 (with secondary intake on October 15, 2026).

What is a Terraform Provider?

+

A Provider is a plugin that Terraform uses to translate HCL configurations into API calls for specific services like AWS, Microsoft Azure, Google Cloud, or GitHub.

What does 'terraform plan' do?

+

The 'plan' command performs a dry run, reading your configuration files and showing you exactly which resources will be created, modified, or destroyed before any changes are made.

Explore Our Career Roles, Roadmaps, & Industry Use Cases

Career Profiles

Career Roadmaps

Industry Use Cases & Projects