HashiCorp’s annual conference HashiConf Global started today, and after a keynote where new and upcoming products that developers and operators could get excited about were discussed, the company’s vice president of engineering, Paul Hinze, joined the stage to share some recent developments for the company’s flagship product Terraform, as well as new features on the roadmap.
Some of the recent updates that Hinze highlighted include updates to the Workspace dashboard, Structure Run outputs, Workspace tags, and TFC Agents on TFE. He also noted that recently a number of new verified providers were added to the ecosystem.
One main element of Terraform that he highlighted, however, was the HashiCorp Configuration Language (HCL), which is the language that is used to configure all HashiCorp products, but is especially front and center in Terraform since the language is used to write infrastructure as code (IaC), Hinze explained.
Hinze described three goals that the company had when designing HCL:
- Make it declarative
- Have it be both human and machine friendly
- Balance constraint and complexity
“We wanted users to be able to express a lot of really complicated infrastructure configurations, and we wanted to pack in enough features to allow us to do that elegantly. However, we also wanted to avoid adding so many features that any given Terraform configuration could really explode in complexity. So there were a lot of very tactical, strategic omissions from the language in order to keep it relatively small and keep the total sum total of complexity possible in a Terraform configuration relatively limited. And then that JSON compatibility layer was there as an escape hatch. So you can generate the JSON that you need if you want to do something more fancy. But for most users, we still believe that HCL strikes this balance really well,” said Hinze.
Another item on the roadmap is the Cloud Development Kit (CDK), which HashiCorp has been working on with Amazon. CDK allows developers to write IaC in different languages and then CDK handles the translation.
According to Hinze, a tool called cdktf essentially takes over the JSON compatibility later. The company hopes that cdktf will make writing infrastructure as code feel more like writing software.
Currently CDK supports five languages, but that list of languages will continue to grow.
According to Hinze, one of the best ways to learn more is to watch sessions at HashiConf that will dive deeper into them. Tomorrow, Charles McLaughlin of ShopStyle will give the talk Getting Started with CDK for Terraform at 2 PM ET and Melissa Kam and Kim Ngo of HashiCorp will give the talk Network Automation on Terraform Cloud with CTS at 1:30 PM ET.