Terraform orchestration has become the connective tissue between clouds for some advanced enterprise IT shops,...
but HashiCorp must make the product more accessible to gain wider adoption.
The company took steps toward that end in late October, with the 0.12 release of its Terraform orchestration software. Terraform is an open source infrastructure as code tool that allows rapid infrastructure provisioning in cloud environments to support ephemeral microservices apps. As with HashiCorp's other IT management software, such as the Vault secrets manager, Nomad workload scheduler and Consul service discovery tool, Terraform is offered in an Enterprise edition for a fee that includes a GUI and remote state storage for infrastructure code used by collaborative enterprise teams.
Terraform 0.12 makes remote state storage available free to users of the open source edition as well. Without this feature, multiple IT administrators might overwrite one another's infrastructure code or lack a single "source of truth" for infrastructure configurations. With 0.12, HashiCorp established a SaaS remote state management product for open source users that can indefinitely store an unlimited amount of state information. Terraform 0.12 also revamps the HashiCorp Configuration Language (HCL), its domain-specific language for infrastructure code, to make it more consistent and easy to use.
Enterprise IT shops already favor Terraform orchestration for multi-cloud microservices management but said there was a time when ease of use was an issue.
"Terraform has been instrumental for us to tame the chaos of multiple clouds and data centers," said Zack Angelo, director of platform engineering at BigCommerce, an e-commerce company based in Austin, Texas. "But in the past, if you weren't on Terraform Enterprise, migrating a state file was a pain point -- and we have ops folks in four countries, time zones and continents, so it's tough for us not to step on each other's toes."
A lack of consistency with remote state data was problematic for Terraform orchestration users since release 0.9, which lacked any remote state support at all; the Terraform 0.10 update added this feature, but was a disruptive upgrade for users. HashiCorp officials said upgrades to 0.12 will be less onerous for users, provided they already run version 0.10 or higher.
"Everyone I've talked to that uses Terraform has had this complaint," Angelo said. "This addresses the Achilles' heel of Terraform."
Terraform orchestration must continue to mature
Terraform 0.12's language overhaul also makes support for translation of HCL into more widely machine-readable JSON files more consistent than previous versions. This will be a boon to open source users who want to feed Terraform orchestration data into a third-party GUI for novice administrators to use.
Zack Angelodirector of platform engineering, BigCommerce
"Terraform gives us one tool to rule them all -- vSphere, Amazon, and Azure," said Mark Tinderholt, global cloud practice lead at Harman International, an audio system and connected consumer products maker based in Stamford, Conn. "But the Terraform JSON [translation] could lend itself more easily to GUI integration -- not everyone wants to invest in hiring developers for infrastructure as code."
Tinderholt said he'd look into Terraform 0.12 improvements before he considers an upgrade.
HashiCorp established a Partner Network in 2017 to help partners create their own Terraform providers, the company's term for the plugins that allow Terraform orchestration code to make changes to underlying infrastructure systems. Still, the company must continue to stay ahead of infrastructure product releases to keep Terraform orchestration current, users said.
"An infrastructure as code tool is only as good as its coverage of the IT environment," said John Mitchell, chief platform architect at SAP Ariba, a business procurement software company in Sunnyvale, Calif. SAP Ariba has used open source Terraform but will also roll out Terraform Enterprise in the coming months.
Terraform's F5 Big-IP provider, for example, has some known issues to work out, Mitchell said.
Terraform orchestration faces innovator's dilemma
Terraform proponents have said the product is better suited to fast-changing, high-scale ephemeral cloud infrastructure environments than its competitors, such as Chef and Puppet. Those tools are geared toward maintaining configurations and preventing drift within infrastructures that changed more slowly.
Meanwhile, however, tools from startups wait in the wings to disrupt Terraform orchestration the same way HashiCorp disrupted the industry's first infrastructure as code pioneers. It's a classic example of the phenomenon known as the innovator's dilemma, in which a company must continue to rework the tools that made it successful or be surpassed by a competitor.
"Everyone starts out wanting to write a DSL, but over time it just ends up being a poor imitation of the established programming languages we know and love," said Joe Duffy, founder and CEO of Pulumi. Pulumi's tool has an adapter layer that can incorporate Terraform providers, but Duffy was on-site at HashiConf in San Francisco in October 2018 specifically to woo Terraform loyalists.
"Terraform users already understand infrastructure as code, but that means they also understand its limitations," Duffy said. "That, in turn, may attract them to Pulumi."