Terraform 1.0 Reflects What HashiCorp Has Learned About Infrastructure-as-Code
The adoption of infrastructure as code (IaC) in many ways remains a work in progress, as providers respond to feedback from site reliability engineers (SREs) and DevOps teams on how to simplify and standardize the provisioning and managing of infrastructure. Often faced with managing infrastructures that span across a number of different environments, including multiclouds and different data centers, DevOps can still struggle on a number of fronts when relying on IaC, including meeting security, compliance, scaling and other infrastructure-management challenges.
It is in this context that HashiCorp has released Terraform 1.0 — which is particularly popular for cloud native migrations — as it seeks to improve its IaC platform for interoperability, ease of upgrades and maintenance for automation workflows, Meghan Liese, senior director of product marketing for Terraform, explained.
Liese said what HashiCorp has learned from Terraform adoption thus far is that “infrastructure automation is a four-phased journey” for organizations in order to:
- Adopt infrastructure as code.
- Build workflow for composition, collaboration and reuse of infrastructure as code.
- Standardize workflow to security, compliance and management requirements.
- Provide innovation through self-service infrastructure options for the end-user application developers and delivery teams.
While Terraform OSS addresses the first phase, Liese said Terraform Cloud and Terraform Enterprise offer the capabilities “to build, standardize and innovate with infrastructure as code for teams and organizations at any scale.”
HashiCorp is the main committer to the Terraform open source project. In addition to devoting engineering and product teams to the open source releases, HashiCorp also works with cloud providers for Terraform’s integration with environments on Amazon Web Services (AWS), Azure, Google Cloud and others, Liese said. HashiCorp also invests in commercial enterprise editions of Terraform for solving organizational challenges around infrastructure automation, including collaboration, governance and policy management for large organizations, Liese said.
Since the first version of Terraform was released in 2014, Liese said the technology has been downloaded more than 100,000,000 times. Organizations typically start with Terraform open source to reduce the time and complexity to provision infrastructure, especially across multi-provider cloud environments, she said. They then rely on Terraform Cloud (SaaS) or Enterprise (self-hosted) to standardize their usage of Terraform for security, compliance and management of their cloud spends. “Security is becoming front and center of everything IT teams do,” Liese said. “Code standardization, visibility, policy enforcement and audit are key tenets for infrastructure automation workflows used by any organization.”
With Terraform Cloud and Enterprise, autonomous car startup Cruise demonstrated in a case study how it was able to reduce provisioning time by up to 75%. Electronic-payment provider Cielo maintained in a Cielo case study that it was able to use Terraform Cloud and Enterprise to see a five-fold improvement in business velocity through faster applications delivery, Liese said.
HashiCorp’s Terraform and Red Hat’s Ansible, according to data from a 2020 StackOverflow survey (see the charts above), have emerged as leading options, with Terraform has emerged as a dominant choice for Kubernetes deployments. However, missing from the survey — and which will be included in this year’s StackOverflow study — is IaC contender Pulumi, in addition to SaltStack.
“Looking into the future, a key point we will have to investigate is to what extent Terraform is the primary tool being used to manage IaC deployment. Terraform adoption drops dramatically among developers that have also done extensive development work with a major cloud provider,” Lawrence Hecht, an analyst for The New Stack, said. “Why use Terraform if you already need to use AWS CloudFormation? Is HashiCorp the vendor the best way to handle multicloud configuration management?”