Earlier this year we announced Terraform Cloud Remote State Management: a free platform for users to more easily collaborate on Terraform configurations through remotely stored, versioned, and shared Terraform state files. Today, we’re excited to announce the full release of Terraform Cloud.
This release brings new features to enable Terraform user and teams to collaborate on and automate Terraform workflows. It includes remote operations, VCS connection, and unlimited workspaces, delivered through a web based application.
Terraform Cloud is free to get started and available today. You can sign up directly in the application here.
Here’s a short demo showing off some of the new features and workflow:
Terraform began as an open source tool first released in 2014. We could not have predicted the tremendous community of contributors and users from around the world that would form around this tool. Today, the Terraform repository has almost 25,000 commits from almost 1,300 contributors.
The next development, Terraform Enterprise, introduced a powerful, scalable solution to address the needs of businesses using the open source tool. It made collaboration among teams easier and gave businesses governance control over their deployments. Some of the largest organizations in the world use Terraform Enterprise for provisioning, and compliance and management of their infrastructure.
Having served both individuals with Terraform Open Source and large organizations with Terraform Enterprise, we saw a new need to be met: the teams and businesses that fit in between. Today, with Terraform Cloud, we hope to bridge that gap by taking the best workflow for Terraform and making it accessible to everyone. This new product is free to use and includes features that help users and teams move quickly and collaborate on Terraform, while also making it easier to get started.
Terraform Cloud is free to use for teams of up to 5 users and includes automation and collaboration features:
The automation features help streamline the workflow for deploying infrastructure as code with Terraform: store code in VCS and Terraform Cloud can automatically start runs based off pulls/merges. Additionally, users can trigger runs from the command line, the API, or from within the application UI.
The collaboration features help teams work together. With Terraform Cloud, teams of developers and operations engineers can collaborate on remote terraform runs through the VCS driven review/approval process. The private module registry allows those teams to easily share configuration templates and collaborate asynchronously using remote state file storage.
On top of the freely available features there are two paid upgrades for Terraform Cloud: Team and Governance— As part of this launch we will be giving a free trial of these upgraded features to users until January 1, 2020.
The first upgrade is Team and it allows you to add more than 5 users, create multiple teams, and control permissions of users on those teams. The team upgrade is for organizations that need to enforce RBAC (Role Based Access Control).
The next upgrade available is Team & Governance. It includes the team upgrade as well as the ability to use Sentinel and Cost Estimation. Sentinel is a policy as code framework for enforcing fine-grained rules against your infrastructure, which can help organizations enforce compliance and manage costs. Cost Estimation gives users an estimated cost of infrastructure before it is provisioned. Sentinel and Cost Estimation can be used in conjunction for enforcing cost management policies against your infrastructure. See our offerings page for a detailed comparison between Terraform packages.
Terraform Cloud brings users a new workflow to streamline infrastructure provisioning:
First, Terraform users define infrastructure in a simple, human readable configuration language called HCL (HashiCorp Configuration Language). Users can choose to write unique HCL configuration files from scratch or leverage existing templates from either the public or private module registries.
Most users will store their configuration files in a VCS (Version Control System) and connect that VCS to Terraform Cloud. That connection allows users to borrow best practices from software engineering to version and iterate on infrastructure as code, using VCS and Terraform Cloud as a provisioning pipeline for infrastructure.
Terraform can be configured to automatically run a plan upon changes to configuration files in a VCS. This plan can be reviewed by the team for safety and accuracy in the Terraform UI, then it can be applied to provision the specified infrastructure.
Terraform Cloud marks the continued evolution of Terraform. To date, the depth and breadth of ecosystem and community around Terraform has driven global adoption. Now, those users want to work with the tool in teams and drive even more complex automation. We hope to meet those needs with this release. You can sign up for Terraform Cloud today here.
Also, in celebration of the launch we will be randomly selecting from anyone who signs up for Terraform Cloud today to win a HashiCorp Terraform SWAG package.
Learn how to use best practices-based modules to build production-grade Terraform deployments on AWS.
Explore the pros and cons of five different ways to manage credentials and other secrets in Terraform Cloud & Enterprise.
The latest release of CDK for Terraform includes TypeScript unit testing via Jest, improved handling of native Terraform functions, and Bash and zsh shell completion.