aicoolies logo

Terraform Review: The Infrastructure as Code Tool That Defined the Category — And the License Change That Shook It

Terraform is the most widely adopted Infrastructure as Code tool, enabling declarative provisioning of cloud resources across AWS, Azure, GCP, and hundreds of other providers. Its HCL language and state management model set the standard for IaC — but HashiCorp's BSL license change in 2023 reshaped the competitive landscape.

Reviewed by Raşit Akyol on March 28, 2026

Share
Overall
85
Speed
72
Privacy
80
Dev Experience
78

What Terraform Does

Terraform didn't invent Infrastructure as Code, but it made it accessible to a generation of developers and operations engineers who had been provisioning cloud resources through web consoles and ad-hoc scripts. The concept is deceptively simple: describe the infrastructure you want in declarative configuration files, run 'terraform apply', and let Terraform figure out how to make reality match your description.

HCL and the Provider Ecosystem

HCL (HashiCorp Configuration Language) is the domain-specific language that defines Terraform configurations. It strikes a balance between readability and expressiveness that most developers find approachable — more structured than YAML, less verbose than JSON, and more constrained than general-purpose languages. Variables, modules, loops, conditionals, and data sources provide enough flexibility for complex infrastructure without the footguns of arbitrary code execution.

The provider ecosystem is Terraform's most significant moat. Over 4,000 providers cover AWS, Azure, Google Cloud, Kubernetes, Cloudflare, Datadog, GitHub, PagerDuty, and virtually every cloud service with an API. Each provider translates HCL configurations into API calls, meaning you can manage your entire infrastructure stack — compute, networking, DNS, monitoring, version control — through a single tool and workflow.

State Management and Modules

State management is both Terraform's superpower and its most common source of pain. Terraform maintains a state file that maps your configuration to real-world resources, enabling it to determine what needs to be created, updated, or destroyed on each apply. This works well when state is properly managed — stored remotely in S3, GCS, or Terraform Cloud — but state drift, state locks, and state corruption are operational realities that every Terraform team eventually encounters.

Modules enable reusable, composable infrastructure patterns. Instead of duplicating VPC configurations across environments, you write a module once and instantiate it with different variables. The Terraform Registry hosts thousands of community modules for common patterns — EKS clusters, RDS databases, VPC networking — that accelerate infrastructure development. Well-structured modules are the difference between maintainable and unmaintainable Terraform codebases.

The Plan-and-Apply Workflow

The plan-and-apply workflow provides a safety net that manual provisioning lacks. Running 'terraform plan' shows exactly what changes will be made before any resource is touched. In CI/CD pipelines, plan output becomes a reviewable artifact that teammates can audit before applying. This preview capability has prevented countless accidental resource deletions and configuration errors.

The License Change and Enterprise Offerings

The BSL license change in August 2023 was the most consequential event in Terraform's history. HashiCorp switched from the open-source MPL 2.0 to the Business Source License, which restricts competitive use. This prompted the creation of OpenTofu, a community fork under the Linux Foundation that maintains MPL 2.0 licensing. For organizations that require truly open-source infrastructure tooling, OpenTofu has become a viable alternative with growing ecosystem support.

Terraform Cloud and Terraform Enterprise add collaboration, governance, and operational features on top of the CLI. Remote state management, policy-as-code with Sentinel, cost estimation, private module registries, and team-based access controls address enterprise needs. Terraform Cloud's free tier covers small teams, but the pricing for larger organizations reflects HashiCorp's commercial ambitions.

Learning Curve

The learning curve is moderate but real. Understanding the declarative model, resource dependencies, state management, and module patterns takes time. Debugging 'terraform plan' output that doesn't match expectations requires understanding the provider's API behavior, not just Terraform's abstractions. For complex infrastructure, Terraform configurations can become sprawling and difficult to reason about without disciplined code organization.

The Bottom Line

Terraform remains the tool that most infrastructure engineers know and most organizations use. Its provider ecosystem is unmatched, the plan-and-apply workflow is genuinely valuable, and the community knowledge base is vast. The license change is a legitimate concern that has created a meaningful fork in the ecosystem, but for pure capability and maturity, Terraform is still the benchmark against which every IaC tool is measured.

Pros

  • Provider ecosystem of 4,000+ covers virtually every cloud service, SaaS platform, and API available
  • Plan-and-apply workflow shows exact changes before execution, preventing accidental resource modifications
  • Module system enables reusable, composable infrastructure patterns with a rich community registry
  • HCL language balances readability and expressiveness — approachable without sacrificing capability
  • Terraform Cloud adds collaboration, policy enforcement, and governance for team-based infrastructure management
  • Massive community knowledge base with extensive documentation, tutorials, and battle-tested patterns
  • State management enables tracking of real-world resources and intelligent change detection across applies

Cons

  • BSL license change restricts competitive use and has fractured the community with the OpenTofu fork
  • State management is a persistent operational concern — drift, locks, and corruption require active management
  • Complex configurations can become sprawling and difficult to reason about without disciplined organization
  • HCL is a proprietary DSL — skills don't transfer to other tools and lack general-purpose language flexibility
  • Debugging plan output requires understanding provider API behavior beneath Terraform's abstractions

Verdict

Terraform is the most mature and widely adopted IaC tool available, with an unmatched provider ecosystem and a workflow that has become the industry standard. The BSL license change is a legitimate concern for organizations that require open-source guarantees — OpenTofu offers a credible alternative in those cases. For teams evaluating IaC tools in 2026, Terraform's capability is not in question; the decision is whether the license terms and HashiCorp's commercial direction align with your organization's values and requirements.

View Terraform on aicoolies

Pricing, platforms, and community stacks — explore the full tool page

Alternatives to Terraform

Netlify logo

Netlify

Web platform for modern development

Jamstack-focused cloud platform specializing in deploying static sites, serverless functions, and modern web applications with Git-based CI/CD. Features instant rollbacks, deploy previews for every PR, split testing, edge functions, form handling, identity/auth, and a global CDN with automatic HTTPS. Native support for Next.js, Nuxt, Gatsby, Hugo, Astro, and all major static site generators. Free $0 forever plan plus Personal and Pro credit-based tiers for growing traffic and team workflows.

freemium
Railway logo

Railway

Infrastructure, instantly

Modern cloud platform for deploying full-stack apps, databases, and workers with instant provisioning and usage-based pricing. Deploy from GitHub or CLI with zero config for Node.js, Python, Go, Rust, and Docker. Built-in PostgreSQL, MySQL, Redis, and MongoDB with auto backups. Features private networking, environment management, cron jobs, TCP proxying, and real-time logs. Popular with indie hackers and startups for fast MVPs with a generous free trial including $5 monthly credits.

freemium
Fly.io logo

Fly.io

Run your app close to users

Global application hosting platform that runs full-stack apps, databases, and services close to users in 30+ regions using lightweight Firecracker micro-VMs. Deploy Docker containers or use built-in builders for Rails, Laravel, Django, Node.js, and Go. Features persistent volumes, private networking, auto-scaling, PostgreSQL/Redis managed databases, and a powerful CLI. Ideal for latency-sensitive apps needing multi-region presence. Generous free allowance with pay-as-you-go pricing.

freemium
Crossplane logo

Crossplane

Kubernetes-native cloud infrastructure control plane

Crossplane is a CNCF Graduated open-source project that extends Kubernetes to manage cloud infrastructure through declarative APIs. Platform teams compose custom infrastructure abstractions as Compositions and publish them as self-service APIs. It provisions resources across AWS, Azure, GCP, and 200+ providers directly from kubectl. Used by 450+ organizations with 11,000+ GitHub stars.

open-sourceOpen Source