Terraform is HashiCorp's open source infrastructure-as-code tool for provisioning and managing cloud and on-premises infrastructure declaratively.
About
Terraform is an open source infrastructure-as-code (IaC) tool created by HashiCorp that enables teams to define, provision, and manage cloud and on-premises infrastructure using a declarative configuration language. By expressing infrastructure requirements as code, Terraform makes infrastructure reproducible, versionable, and collaborative in the same way that application code is.
The HashiCorp Configuration Language (HCL) is the domain-specific language used to write Terraform configurations. HCL is designed to be human-readable and writable, with a syntax that balances readability for operators who may not be professional developers and expressiveness for those who need complex logic. Infrastructure resources are declared as blocks with named types and configuration attributes that correspond to the properties of the underlying resource in the target provider.
The provider ecosystem is one of Terraform's greatest strengths. Providers are plugins that expose the resources and data sources of a particular platform or service. There are official providers for AWS, Azure, Google Cloud, VMware, Kubernetes, GitHub, Datadog, PagerDuty, and hundreds of other platforms and services. The Terraform Registry hosts thousands of providers and modules contributed by both HashiCorp and the community, covering virtually every cloud service and infrastructure platform.
Terraform modules are reusable, composable infrastructure components that encapsulate a set of resources with a defined interface of input variables and output values. Modules allow teams to create internal libraries of standardized infrastructure patterns such as a VPC module, a database module, or a complete application stack module, and reuse them across multiple projects and environments. The Terraform Registry hosts thousands of community-contributed modules for common infrastructure patterns.
The Terraform state mechanism tracks the current state of managed infrastructure in a state file. The state maps the resources defined in configuration to their real-world counterparts and records their attributes. State can be stored locally or in a remote backend such as S3, Azure Blob Storage, Google Cloud Storage, or Terraform Cloud. Remote state enables team collaboration by providing a shared, consistent view of infrastructure state and supporting state locking to prevent concurrent modifications.
The plan and apply workflow is fundamental to Terraform operations. The terraform plan command compares the current state with the desired configuration and produces a detailed execution plan showing exactly what changes will be made. This allows operators to review and understand the impact of a change before it is applied. The terraform apply command executes the approved plan, making only the changes that were shown in the plan output.
Terraform Cloud and Terraform Enterprise provide collaborative, managed execution environments for Terraform with features such as remote plan and apply execution, private module registry, policy as code through Sentinel, cost estimation, audit logging, SSO, and Terraform version management. These managed offerings are particularly valuable for organizations running Terraform at scale across many teams and environments.
The drift detection capability in Terraform allows teams to identify when the actual state of infrastructure has diverged from the desired configuration, helping maintain consistency and compliance in production environments. Terraform is a foundational tool in the modern DevOps and platform engineering stack.
Positioning
Terraform provides terraform is hashicorp's open source infrastructure-as-code tool for provisioning and managing cloud and on-premises infrastructure declaratively.
As an open source project, Terraform gives teams full transparency and control over their tooling. There are no licensing costs and no vendor lock-in — the source code is available for inspection, modification, and self-hosting.
With self-hosting support, Terraform can be deployed on your own infrastructure, giving you complete control over data residency and security.
What You Get
- API Access
Integrate Terraform with your existing tools and workflows through a well-documented API - Open Source
Full access to source code for transparency, customization, and community contributions - Self-Hosting
Deploy on your own infrastructure for complete control over data and configuration - Documentation
Comprehensive documentation and guides to help you get started and master the platform - Professional Support
Access documentation, community forums, and professional support options - Regular Updates
Benefit from continuous improvements and security patches
Core Areas
API & Integration
A comprehensive API enables automation and integration with third-party tools and custom workflows.
Open Source Community
An active open source community contributes plugins, extensions, and improvements to the platform.
Operations
Terraform helps teams streamline their operational workflows and reduce manual overhead.
Why It Matters
Terraform addresses a real need in the IT landscape: terraform is hashicorp's open source infrastructure-as-code tool for provisioning and managing cloud and on-premises infrastructure declaratively.
Founded in 2014, Terraform has proven its reliability over years of production use. Longevity in the technology industry is a strong signal of product quality and sustained value.
Reviews
1 reviewTerraform manages our entire multi-cloud infrastructure. The declarative approach and state management make infrastructure changes predictable and reviewable. The HCL language is easy to learn. Main complaint: state file management can be tricky in large teams.
— David L., Cloud Engineer
Log in to write a review
Related
Atlantis
Atlantis is an open source Terraform pull request automation tool for running plan and apply operations triggered by pull request comments.
Spacelift
Spacelift is a cloud infrastructure management platform for Terraform, OpenTofu, Pulumi, and Ansible with policy as code, drift detection, and self-service.
Pulumi
Pulumi is an open source infrastructure-as-code platform using real programming languages like TypeScript, Python, Go, and C# to manage cloud resources.