Terraform
4 comparisons available
Terraform vs Every Rival
Compare Terraform versus every rival — head-to-head records, stats, and matchup breakdowns side by side, updated for 2026.
About Terraform
Terraform is an open-source Infrastructure as Code (IaC) tool created by Mitchell Hashimoto at HashiCorp in 2014, headquartered in San Francisco, California. HashiCorp was acquired by IBM in 2024 for $6.4 billion. Terraform enables engineers to define, provision, and manage cloud infrastructure using declarative configuration files (HCL — HashiCorp Configuration Language), where you describe the desired state of infrastructure and Terraform determines what actions to take to reach that state. Terraform's provider ecosystem is its core strength — 3,000+ providers covering AWS, Azure, Google Cloud, Kubernetes, GitHub, Datadog, PagerDuty, Snowflake, and virtually every infrastructure platform, all maintained by a combination of HashiCorp and the community. The plan/apply workflow (terraform plan shows what will change, terraform apply executes) creates predictable, reviewable infrastructure changes with state tracking in terraform.tfstate files. Terraform Cloud and Terraform Enterprise add team collaboration, remote state management, Sentinel policy-as-code, and private module registries for enterprise use. In 2023, HashiCorp controversially changed Terraform's license from MPL (open source) to BUSL (Business Source License), restricting commercial use — prompting the community to fork Terraform as OpenTofu under the Linux Foundation. Terraform remains the dominant IaC tool globally, used by 77%+ of infrastructure teams. Main competitors: Pulumi (general-purpose languages vs HCL), AWS CloudFormation (AWS-only, native), and Ansible (configuration management, weaker state management).
Frequently Asked Questions
Terraform vs Pulumi: which is better?
Terraform is better for teams that want a stable, battle-tested tool with the largest provider ecosystem and community — its HCL language, while domain-specific, is simple enough for non-developers (DevOps/platform engineers) to learn, and there's a massive library of community modules and examples. Pulumi is better for developer-led teams that want to use general-purpose programming languages (TypeScript, Python, Go, C#) for infrastructure — enabling unit testing, loops, functions, and abstractions that HCL handles clumsily. Pulumi's real-programming-language approach also integrates naturally with application code in the same repository. For most teams without strong software engineering culture, Terraform's simplicity wins. For developer-led platform teams who find HCL limiting, Pulumi's expressiveness is valuable.
What happened to Terraform's open source license?
In August 2023, HashiCorp changed Terraform's license from the Mozilla Public License (MPL 2.0 — permissive open source) to the Business Source License (BUSL 1.1). The BUSL restricts 'competing with HashiCorp' — specifically, building products or services that compete with Terraform Cloud/Enterprise. This means you can use Terraform internally (free), but you cannot build a managed Terraform service to sell commercially without a HashiCorp commercial license. The change prompted significant community backlash. The Linux Foundation quickly established the OpenTofu project (formerly OpenTF) as a true open-source fork of Terraform under the MPL license. OpenTofu is now at feature parity with Terraform 1.x and is supported by major cloud providers and infrastructure vendors as the community alternative.
What is Terraform state and why does it matter?
Terraform state is a JSON file (terraform.tfstate) that maps your Terraform configuration to real-world infrastructure resources. When you create an AWS EC2 instance with Terraform, the state file records that specific instance's ID — so Terraform knows which real resource corresponds to which configuration block. Without state, Terraform can't determine what exists vs. what needs to be created/modified/deleted. State also stores metadata for dependency tracking and performance optimization. The challenge with state: it can contain sensitive values (passwords, connection strings), it must not be lost (losing state = orphaned infrastructure), and concurrent modifications cause state conflicts. Terraform Cloud, S3 backends, and Terraform Enterprise solve these problems with remote state storage, locking, and versioning for team environments.
Top Alternatives to Terraform
Pulumi
Use Python, TypeScript, Go, or C# instead of HCL — same cloud coverage
AWS CloudFormation
Native AWS IaC with no state management overhead — but AWS-only
Ansible
Better for configuration management and application deployment vs infrastructure provisioning
OpenTofu
Open-source Terraform fork under Linux Foundation after HashiCorp license change
CDK
AWS Cloud Development Kit — define AWS infrastructure in TypeScript/Python
Crossplane
Kubernetes-native IaC for teams wanting infrastructure managed via kubectl