Terraform

Infrastructure as code — define cloud resources in configuration files, not manual clicks.

Freemium macOSWindowsLinux ★ 4 editorial
401
Visit Terraform → terraform.io

Terraform Referral Code & Link

No referral code or link is currently available for Terraform.

Terraform logo — Infrastructure as code — define cloud resources in configuration files, not manual clicks.

Quick Summary

Terraform lets engineering teams define cloud infrastructure (servers, networks, databases) in declarative configuration files rather than manually clicking through cloud provider consoles, making infrastructure changes reviewable, versioned, and repeatable across environments. It works across virtually every major cloud provider, making it a common standard for infrastructure-as-code regardless of which cloud a team uses.

Pricing: Freemium Platforms: macOS, Windows, Linux Editorial rating: 4 / 5 Category: Infrastructure as Code Tools Origin: San Francisco, California, USA

Terraform at a Glance

Category Infrastructure as Code Tools
Pricing model Freemium
Starting price $0 (free plan available)
Platforms macOS, Windows, Linux
Editorial rating ★ 4 / 5 (Kreemhunt staff score)
Launched 2014
Headquarters San Francisco, California, USA
Best for Infrastructure as code — define cloud resources in configuration files, not manual clicks.
Community votes 401

Pros

  • Infrastructure changes are version-controlled and reviewable like application code
  • Works across virtually every major cloud provider through a large provider ecosystem
  • Declarative model means you describe desired end state, not manual step-by-step changes
  • Plan command shows exactly what will change before applying, reducing deployment surprises
  • Large, mature community with extensive documentation and shared configuration modules

Cons

  • Real learning curve for teams without prior infrastructure-as-code experience
  • State file management requires careful handling to avoid conflicts in team environments
  • 2023 license change to Business Source License has created some community and adoption uncertainty
  • Complex configurations across many resources can become difficult to manage without discipline
  • Errors in configuration can have significant real-world infrastructure consequences if not carefully reviewed

Terraform Pricing Plans

Official pricing as published by Terraform. Verify current rates before purchasing.

Open Source

$0

  • Full Terraform CLI
  • Community providers
  • Local state management
Get Terraform →

HCP Terraform Standard

Usage-based

  • Remote state management
  • Team collaboration
  • Policy enforcement
Get Terraform →

HCP Terraform Plus

Custom

  • Advanced governance
  • Audit logging
  • Self-hosted agents
Get Terraform →

Terraform lets engineering teams define cloud infrastructure (servers, networks, databases) in declarative configuration files rather than manually clicking through cloud provider consoles, making infrastructure changes reviewable, versioned, and repeatable across environments. It works across virtually every major cloud provider, making it a common standard for infrastructure-as-code regardless of which cloud a team uses.

What Makes Terraform Stand Out

Infrastructure changes are version-controlled and reviewable like application code. Works across virtually every major cloud provider through a large provider ecosystem

Declarative model means you describe desired end state, not manual step-by-step changes

Pricing and Plans

Terraform offers a free tier that provides meaningful value for individuals and small teams, with paid plans unlocking additional capabilities as needs grow.

Who Should Use Terraform

Terraform is best for teams and individuals who need infrastructure as code capabilities and where infrastructure changes are version-controlled and reviewable like application code. It may not be the right fit when real learning curve for teams without prior infrastructure-as-code experience.

Verdict

Terraform delivers on its core promise as a infrastructure as code tool. Terraform lets engineering teams define cloud infrastructure (servers, networks, databases) in decla... For teams evaluating infrastructure as code options, Terraform is worth considering based on its specific strengths and how they align with your requirements.

Overall rating: 4.4 / 5

Terraform is the industry standard tool for infrastructure as code — enabling engineers to define cloud infrastructure (AWS, Azure, GCP, and 3,000+ providers) in declarative configuration files that can be versioned, reviewed, and applied consistently across environments. Hashicorp's 2023 BSL license change created significant controversy, but Terraform's position in infrastructure workflows remains dominant.

Why Infrastructure as Code Matters

Before infrastructure as code, infrastructure was managed manually — engineers clicked through cloud consoles to provision servers, databases, and networking. This manual approach created several persistent problems: environments drifted from documented specifications, changes were not reviewed or audited, disaster recovery meant reconstructing infrastructure from memory, and replicating production environments was slow and error-prone.

Terraform solves these problems by treating infrastructure like software: written in files, stored in version control, reviewed in pull requests, and applied through automated pipelines. A Terraform plan shows exactly what will change before changes are applied, providing the same review and approval workflow that code changes go through.

HCL: Terraform's Configuration Language

Terraform uses HCL (HashiCorp Configuration Language) — a declarative syntax designed to be readable by both engineers and non-engineers. An HCL resource block describes the desired state of a resource:

resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  tags = {
    Name = "HelloWorld"
  }
}

Terraform determines the difference between the current state and the desired state, and applies only the changes needed to reach the desired state. This idempotent model means running the same configuration multiple times produces the same result without duplicating resources.

State Management

Terraform tracks the real-world state of managed infrastructure in a state file. This state file maps Terraform resources to real cloud resources, enabling Terraform to calculate diffs on each plan. Remote state (stored in S3, Terraform Cloud, or similar) enables team collaboration where multiple engineers share and lock state to prevent concurrent modifications.

State management is Terraform's most operationally complex aspect — corrupted, lost, or drifted state files create significant operational challenges. Organizations running Terraform at scale invest significantly in state backend reliability, access control, and backup strategies.

The BSL License Controversy

In August 2023, Hashicorp changed Terraform's license from MPL 2.0 to the Business Source License (BSL), which restricts use of Terraform in competing commercial products. This prompted the Linux Foundation to fork Terraform as OpenTofu — a genuinely open-source (MPL 2.0) compatible alternative that has gained significant adoption from organizations concerned about long-term licensing.

For most end-users (organizations using Terraform to manage their own infrastructure), the BSL has minimal practical impact. For companies building products on Terraform, OpenTofu is the safer licensing choice.

Terraform vs. Pulumi and AWS CDK

Pulumi uses general-purpose programming languages (Python, TypeScript, Go) rather than HCL, enabling more complex logic and better testing. It is the preferred alternative for teams that find HCL limiting. AWS CDK takes a similar code-first approach specifically for AWS. Terraform's HCL remains the most widely understood infrastructure language with the largest provider ecosystem.

Overall rating: 4.3 / 5

Discussion & User Ratings

Used Terraform? Rate it and share your experience — be specific and helpful.

No user ratings yet — be the first to rate Terraform.

  • No comments yet — be the first to share your experience.

Disclosure: Some links on this page are referral or affiliate links. When you click them and make a purchase, we may earn a commission at no extra cost to you. This does not influence our editorial ratings or recommendations. All tools are evaluated independently by our team.