ProductTerraform (OpenTofu)
Websiteterraform.io
CategoryInfrastructure as Code (IaC)
CompanyHashiCorp
PricingCLI free, HCP Terraform from free tier

What Is Terraform?

Terraform defines cloud infrastructure in code. Instead of clicking through AWS, GCP, or Azure consoles, you write HCL (HashiCorp Configuration Language) files that describe your infrastructure: servers, databases, DNS records, load balancers, IAM policies. Run terraform plan to see what will change, then terraform apply to make it happen.

The power is reproducibility. Your infrastructure is version-controlled, reviewable, and repeatable. Spin up identical environments for staging and production. Roll back infrastructure changes by reverting a commit. Audit who changed what and when through Git history.

Key Features

Plan Before Apply

terraform plan shows exactly what will change before any changes are made. Resources to be created, modified, or destroyed are listed with their specific attribute changes. This preview prevents accidental deletions and unexpected changes.

State Management

Terraform maintains a state file that maps your configuration to real infrastructure. The state tracks what exists, what’s changed, and what depends on what. State can be stored remotely (S3, Terraform Cloud) for team collaboration with locking to prevent concurrent modifications.

3,000+ Providers

Terraform providers connect to cloud platforms and services: AWS, GCP, Azure, Cloudflare, Datadog, PagerDuty, GitHub, and 3,000+ more. Each provider translates Terraform resources into API calls. If a service has an API, there’s likely a Terraform provider for it.

Modules

Package reusable infrastructure patterns as modules. A VPC module, a Kubernetes cluster module, a database module. The Terraform Registry has thousands of community modules. Use modules to standardize infrastructure patterns across teams.

Who Is This For?

Pros

  • Plan before apply (preview changes)
  • 3,000+ providers (works with any cloud)
  • Cloud-agnostic (one tool for multi-cloud)
  • Reproducible infrastructure
  • Massive community and module registry
  • Version-controlled infrastructure

Cons

  • State management complexity
  • HCL has a learning curve
  • License change (BSL) led to OpenTofu fork
  • State file can become a bottleneck for large teams
  • Drift detection is limited

Verdict

Terraform is the standard for infrastructure as code. The plan-before-apply workflow, the massive provider ecosystem, and the module system make it the right tool for managing cloud infrastructure at any scale. If you’re managing more than a handful of cloud resources, Terraform (or its open-source fork OpenTofu) should manage them.

The BSL license change in 2023 led to the OpenTofu fork (maintained by the Linux Foundation). For organizations concerned about licensing, OpenTofu is a drop-in replacement. The ecosystem, documentation, and concepts are the same regardless of which fork you choose.

Build an infrastructure or DevOps tool?

Get reviewed and linked from our 27-site network.

See Packages