Terraform
Terraform Editions
As your organization adopts infrastructure as code (IaC), you will encounter increasingly complex technical and collaboration challenges. We offer three Terraform editions designed to help you solve them.
Terraform Community Edition
Terraform Community Edition is a free, downloadable tool that you interact with on the command line. It lets you provision infrastructure on any cloud provider and manages configuration, plugins, infrastructure, and state.
Why Terraform Community Edition?
Terraform Community Edition lets you:
- Adopt infrastructure as code and use a common configuration language to provision thousands of different types of resources and services.
- Codify your infrastructure so that you can check configuration files into a version control system (VCS) to safely manage contributions. Manually pull the most up-to-date version to perform Terraform operations.
- Use and publish public infrastructure templates called modules to implement industry and organization best practices, group your infrastructure into logically-related components, and deploy infrastructure more quickly.
Resources
- Get Started tutorials for popular providers: Amazon Web Services, Azure, Google Cloud Platform, Oracle Cloud Infrastructure, and Docker
- What is Terraform?
- Configuration Language Documentation
- CLI Documentation
HCP Terraform
HCP Terraform is a SaaS application that runs Terraform in a stable, remote environment and securely stores state and secrets. It includes a rich user interface that helps you better understand your Terraform operations and resources, allows you to define role-based access controls, and offers a private registry for sharing modules and providers. HCP Terraform also integrates with the Terraform CLI and connects to common version control systems (VCS) like GitHub, GitLab, and Bitbucket. When you connect an HCP Terraform workspace to a VCS repository, new commits and changes can automatically trigger Terraform plans. HCP Terraform also offers an API, allowing you to integrate it into existing workflows.
Many HCP Terraform features are free for small teams; we offer paid plans for larger organizations with additional collaboration and governance features.
Why HCP Terraform?
HCP Terraform lets you:
- Run Terraform from the local CLI or in a remote environment, trigger operations through your version control system, or use an API to integrate HCP Terraform into your existing workflows.
- Ensure that only approved teams can access, edit, and provision infrastructure with HCP Terraform workspaces, single sign-on, and role-based access controls.
- Securely store and version Terraform state remotely, with encryption at rest. Versioned state files allow you to access state file history.
- Publish configuration modules in the HCP Terraform private registry that define approved infrastructure patterns. For example, a module may allow users to choose the cloud provider on which to deploy their Java application. This allows consumers to implement your organization’s best practices without becoming infrastructure or cloud experts.
- Enforce best practices and security rules with the Sentinel embedded policy as code framework. For example, policies may restrict regions for production deployments.
Resources
- Create an HCP Terraform Account
- HCP Terraform Documentation
- Sentinel Documentation
- Get Started - HCP Terraform tutorials show you how to manage infrastructure using HCP Terraform's VCS integration
Terraform Enterprise
Terraform Enterprise allows you to set up a self-hosted distribution of HCP Terraform. It offers customizable resource limits and is ideal for organizations with strict security and compliance requirements.
Why Terraform Enterprise?
Terraform Enterprise lets you:
- Set up a private instance of HCP Terraform with dedicated support from HashiCorp.
- Accommodate advanced security and compliance requirements. Terraform Enterprise supports several types of installations, including air gapped and active/active architecture, and allows private networking and job scaling for better performance.