Terraform is a modern staple in our diet of complex deployments and multi-cloud architectures with adoption increasing every day. So when HashiCorp announces they’re declaring version 1.0, what does this actually mean for us, the users?
HashiCorp Terraform is an infrastructure as code (IaC) tool. Simply, it allows you to write a configuration file explaining all the infrastructure you need to set up for a solution and Terraform figures out how to put it together. Whether it’s provisioning load balancers in AWS, installing packages on a Linux server, or data warehousing solutions in Azure, Terraform can do it.
You may also be familiar with other IaC tools, especially in the cloud, like AWS CloudFormation, or Azure’s ARM Templates. Terraform was designed to be utterly cloud-agnostic so that you could use the same projects to deploy your infrastructure across multiple platforms. With an active developer community, you can use any number of providers that allow Terraform to provision across many systems. You can even order a pizza from Dominos with it.
Terraform is open-source software that can be readily downloaded and run on your servers or through HashiCorp’s commercial offering with Terraform Cloud.
No new features
Wait, what? That’s right. Typically a major software version release is met with a lot of new shiny features to be explored. Hashicorp has taken a much more sober approach.
This latest release with Terraform v1.0.0 contains plenty of minor patches, stability fixes, and other routine updates, but no remarkable additions have come with them. In fact, Hashicorp has announced that all v1.0.x releases will be purely to address existing bugs with minor updates. Any new features will be on their way as of the future-planned minor version of v1.1.0.
So… what’s so special about this release?
Milestone of Maturity
Developers regard version 1.0 as a state of completion, where its features and stability are considered ready for general use. Every vendor treats their v1 milestone differently, and Hashicorp is no different. When they released HashiCorp Packer v1.0 in 2017, HashiCorp described what they consider to be “A HashiCorp 1.0”, which they’ve now used to define the release for Terraform v1.0:
- Deployed broadly
- Major use cases are understood and well-supported
- Well-defined user experience
- The product’s technical architecture is mature and stable
With over 100 million downloads, 120,000 users of Terraform Cloud, 1,500 developing contributors, 100,000 monthly users of the Terraform learning site, and over 1,000 different providers for various technical platforms, Hashicorp can be justified in judging that they’ve met their criteria. The meaning behind the decision has much more relevance than simple technical updates.
The fact it aligns neatly with the ongoing HashiCorp conference, HashiConf (exceptional name) is no coincidence either.
Defined Release Life
Like most open-source software, keeping up with versions can be challenging, and Terraform is no exception. The production nightmare of updates to maintain a supported deployment is complete with critical fixes isn’t something anyone enjoys.
In their blog post “Announcing HashiCorp Terraform 1.0 General Availability”, Hashicorp has committed to all Terraform v1.x versions having a maintenance period of at least 18 months. During that time, HashiCorp will make additional releases to patch fixes for that minor version. This is great news for anyone running Terraform in production, knowing they can have at least a year between significant upgrades for their Terraform infrastructure.
How this looks in practice will take some time to see. Provider changes continue to be at the mercy of their respective developers, but specifying versions in your provider requirements where necessary can mitigate any issues.
Future of Terraform
Terraform isn’t perfect and still leaves plenty of room for improvement. And for many simple deployments, other IaC tools might be preferable. But where you need a level of complexity in your solution or deployments across multiple platforms, Terraform is still the undisputed leader.
Over 10 years since the initial concept of Terraform was first conceived, through the extensive growth across many technology platforms, adoption by customers from small startups to Fortune 500 companies, all the way to millions of users in the era where complex multi-cloud solutions are relatively normal, Terraform has blazed a trail, and continues to lead the way ahead.
If you’re working as a Sysadmin, Cloud Engineer, DevOps Specialist, or Infrastructure Architect, Terraform is almost certainly somewhere in your career future. Unsurprisingly, it remains one of our most commonly searched-for topics at ACG.
Congratulations to the team at HashiCorp, contributors to the project, and developers of the many providers that make Terraform the powerful engine that it is!
Ready to take the next step with Terraform? Start our Hashicorp Certified Terraform Associate course today!