Terraform
Definition
An open-source Infrastructure as Code tool that allows users to build, change, and version infrastructure efficiently, promoting automation and
Use Cases
- HashiCorp: Managing repeatable infrastructure environments for product development and internal platforms — HashiCorp builds and maintains Terraform itself and uses Terraform configurations and modules to standardize infrastructure provisioning across teams, typically integrating runs into CI/CD pipelines and enforcing policies via code review and automated checks. (More consistent environments, faster provisioning, and reduced configuration drift through version-controlled infrastructure definitions.)
- Oracle: Infrastructure provisioning on Oracle Cloud Infrastructure (OCI) using a managed service — OCI Resource Manager provides a managed Terraform experience: teams store Terraform configurations, run plans/applies in OCI, and manage state through the service while provisioning OCI resources via the OCI Terraform provider. (Simplified Terraform operations for OCI users, centralized execution and state handling, and more repeatable provisioning for OCI environments.)
- Microsoft: Provisioning Azure infrastructure using Terraform as a supported IaC option — Teams use the AzureRM Terraform provider to define Azure resources (e.g., networks, compute, managed services) and automate deployments through CI/CD systems; Microsoft maintains documentation and collaborates on provider support for Azure. (Consistent, automated Azure deployments across environments with reusable modules and version-controlled change history.)
Frequently Asked Questions
- What's the difference between Terraform and AWS CloudFormation?
- Terraform is multi-cloud and can manage resources across many providers (AWS, Azure, GCP, OCI, SaaS tools) using a consistent workflow. AWS CloudFormation is AWS-only and uses AWS-native templates and tooling. If you need one IaC approach across multiple clouds or tools, Terraform is often preferred; if you are all-in on AWS and want a fully AWS-native experience, CloudFormation can be a good fit.
- When should I use Terraform?
- Use Terraform when you want repeatable, version-controlled infrastructure provisioning; need consistent environments (dev/stage/prod); want reusable modules for standard patterns (VPC/networking, Kubernetes clusters, databases); or need to manage resources across multiple clouds and SaaS services. It’s especially useful for teams practicing DevOps/GitOps-style workflows where infrastructure changes go through code review and automated pipelines.
- How much does Terraform cost?
- Terraform (the CLI and core) is open-source and free to use. Your main costs are the cloud resources you create and the operational tooling around Terraform (e.g., CI/CD runners, remote state storage). HashiCorp also offers paid products such as Terraform Enterprise and hosted offerings that add features like centralized governance, role-based access control, policy enforcement, and collaboration; pricing depends on edition and scale.
Category: software
Difficulty: advanced
Related Terms
See Also