DevOps
Terraform icon

Terraform

The standard for infrastructure as code, now under IBM after the HashiCorp acquisition. Still the most widely documented option even with the licensing baggage.

What is Terraform?

Terraform is a declarative infrastructure-as-code tool: you describe the cloud resources you want (servers, databases, networking, DNS records, IAM policies) in HCL config files, and Terraform figures out the plan to make reality match that description. It works across nearly every major cloud and SaaS provider through a huge ecosystem of providers, which is why it became the default even outside HashiCorp's own stack. Teams reach for it when infrastructure needs to be versioned, reviewed, and reproduced instead of clicked together by hand in a console.

Key features

  • A single HCL syntax for describing resources across hundreds of providers (AWS, GCP, Azure, Cloudflare, Datadog, and far more)
  • terraform plan shows exactly what will change before anything actually applies, which is the main safety net against surprise destructive changes
  • State files track what Terraform believes exists, enabling diffing and drift detection against real infrastructure
  • A massive public registry of community and provider-maintained modules, so common patterns (a VPC, a Kubernetes cluster) rarely need to be written from scratch
  • Works the same whether you're managing one server or a multi-cloud, multi-account setup

Who it's for

Teams and solo builders who've outgrown manually provisioning cloud resources and need infrastructure changes to be reviewable, repeatable, and rollback-able. Less necessary for a single-service app on a PaaS like Vercel or Railway, where there's no real infrastructure to codify in the first place.

Pricing

Terraform itself (the open-source CLI) is free to use. HashiCorp (now IBM) sells paid tiers for team collaboration, remote state management, and governance through Terraform Cloud/Enterprise, alongside a licensing model that shifted after the IBM acquisition, so check current terms before committing to the paid tiers.