With Terraform, Hashicorp has been offering comprehensive deployment software for infrastructure-as-code for years. Terraform is now available in version 1.0 and, in addition to the open source version, the manufacturer also offers its tool as a cloud service and for local installation. These paid versions offer additional features for the central management and execution of Terraform code, security, expandability and integration into third-party products.
Terraform Enterprise as a tool for Infrastructure-as-Code (Iac) is currently available in four versions, whereby the “Free” version is primarily aimed at individual developers. It offers a graphical portal for managing your own “Terraform State” and a module registry is available for module management. There is no support from the provider here – this must be obtained from the community. The “Team & Governance” edition extends the free version to teams and allows the use of Sentinel. This is a policy framework that allows the user to restrict what Terraform can deploy. The version is licensed per user and also comes with support from the manufacturer.
The business version, which offers enterprise features such as single sign-on, audit logging, agents and premium support, is aimed at major customers. Terraform Enterprise is available as a self-installable version. This self-operated software offers comparable features to its Terraform counterpart in the cloud, which we take a closer look at below.
Quickly set up your first workspace
The initial setup of the version hosted in the cloud is very simple and only takes a few minutes. Once we had registered, we were able to create a workspace. Hashicorp offers a workflow for this, which consists of just a few steps: The first step was to select a workflow type. To do this, we could either bind Terraform to a Git repository to execute Terraform runs based on requests or merges, trigger Terraform via CLI or control it using the Terraform API. If a Git repository is used, it is necessary to log in there with the corresponding credentials. Finally, you can specify which repositories are to be used.