What it is
Terraform is an infrastructure-as-code tool. Instead of clicking through cloud consoles by hand, a team describes resources in configuration, reviews a plan, and applies changes through providers. That makes infrastructure more reviewable: files can be stored in Git, reviewed, and repeated across environments.
The repository was created by HashiCorp in 2014. Terraform became popular because it offered a common language for different clouds and services: AWS, Google Cloud, Azure, Kubernetes, DNS, databases, SaaS platforms, and internal APIs connect through the provider model. A current licensing detail matters: newer Terraform versions are source-available rather than classic OSI open source; teams that require a fully open fork often evaluate OpenTofu.
What is inside
Inside are the CLI core, configuration language, resource graph engine, planning, state management, provider integration, and development documentation. The core workflow has three steps: describe desired state, inspect the plan, apply the change.
Terraform configuration idea
HCL is not one of the syntax-highlighting keys on this page, so the snippet is shown as plain text. It demonstrates the declarative style: describe a resource and Terraform computes the action order.
resource "aws_s3_bucket" "logs" {
bucket = "company-logs-prod"
}
output "bucket_name" {
value = aws_s3_bucket.logs.bucket
}
Where it is useful
Terraform is used by platform teams, DevOps engineers, and developers who need to create environments reliably, keep infrastructure in code, and understand the effect of a change before applying it. It is especially strong when infrastructure spans many external services.
Strengths and limits
Terraform’s strength is a mature approach to plans, state, and providers. The limitations are also real: state must be stored carefully, drift understood, provider versions managed, and permissions controlled. The licensing story matters for organizations with strict open-source requirements. Terraform remains a central tool, but the choice between Terraform, OpenTofu, and cloud CDKs should be made deliberately.