The Story of HashiCorp Terraform with Mitchell Hashimoto
Watch Mitchell Hashimoto, the co-creator of HashiCorp Terraform, share the history and state of Terraform today.
I want to talk today about a big milestone, the general availability of HashiCorp Terraform 1.0.
» The History of Terraform
I want to start by taking a step back to understand how we got here. And the story starts almost three years before we even began coding Terraform. In 2011, AWS introduced CloudFormation. The very next day I posted a blog post on Tumblr — yeah, Tumblr — saying how impressed I was with this idea. But what I thought we really needed was an open source, cloud-agnostic solution; a tool that could provide the same workflows, no matter what cloud you were using. And in this blog post I invited someone — anyone — to solve this problem. I basically gave the idea for Terraform away.
A few years passed, and this request I made in the blog post remained unanswered. Meanwhile, the challenges predicted became very real, and we needed a solution. So we decided to solve it ourselves and in July of 2014, we released Terraform 0.1, an open source, cloud-agnostic infrastructure as code solution — exactly the idea I presented in that blog post in 2011. Terraform 0.1 supported only AWS and DigitalOcean. The idea was to start there and extend this automated provisioning workflow to any infrastructure simply by adding a new provider for that specific piece of infrastructure.
» The Year of Terraform
Terraform was far from an overnight success. Downloads were mostly stagnant for the first 18 months. We even talked at one point about maybe shutting down the project. But we believed in what we built, and we felt that long term Terraform would live or die primarily based on the ecosystem we created around it: the providers it would support. And we knew that building this ecosystem required an active and vibrant open source community. So we focused on making Terraform providers easy to write, easy to use, and continuing to iterate on the core workflow to ensure it solved real world problems. By the end of 2016 — two and a half years after we initially released Terraform — we had over 750 contributors, and dozens of providers including Microsoft Azure, Google Cloud, OpenStack, and more. Downloads started slowly, but were finally starting to tick up! They began doubling every month! Then in 2017, things really began to take off. This really felt like the "year of Terraform" to us. Downloads continued to double every single month!
During this year, we announced our first major cloud partnership — with Microsoft — where we mutually committed to a full featured Azure provider. This was huge! This was the first time a major cloud provider very publicly acknowledged — and supported — Terraform. This was a huge vote of confidence in what we had built.
We also introduced an official Terraform provider program, a structured program for individuals and companies to introduce official providers into the Terraform ecosystem. And we launched the Terraform Registry, so that the community could publish and share reusable Terraform modules.
» Scaling Terraform for the Enterprise Use Case
From 2018 to 2020, we began to focus more on commercializing Terraform. This was an important step to ensure the open source project and the company behind it were sustainable. We released Terraform Enterprise and began adding large organizations as paying customers. Meanwhile, we continued to iterate on Terraform and released the largest, most impactful open source release still to this day: Terraform 0.12.
» Terraform Today
It has been over 10 years since I first wrote that fateful blog post. And over 7 years since we wrote the first line of code for Terraform. And now that Terraform is now officially a 1.0 product, it's amazing to look at how far the product has come. Terraform, by our records, has been downloaded over 100 million times on its way to becoming the de facto standard for cloud provisioning. Today we count more than a thousand Providers and 5,500 modules.
Of course, we hardly did this by ourselves. Terraform is what it is today because of the community around it: the open source contributors, the ambassadors, our users, and our partners.
As the community adopted Terraform for infrastructure as code, many large organizations also realized that Terraform had what they needed for successful infrastructure automation. As they scale, these organizations need a standardized approach to compose, collaborate, and reuse infrastructure as code to provision infrastructure. Today, there are more than 1200 Terraform commercial customers, including some 10% of the Global 2000, and more than 15% of the Fortune 500.World class organizations like 3M, Allstate, Samsung, H&R Block, GitHub, and many others are standardizing on Terraform Enterprise to help drive their digital transformations. Terraform is boosting their operations productivity, reducing risks, and increasing the velocity of their application teams.
» What Terraform Customers Say
I’m a hands-on developer at heart, and it is always amazing to hear how Terraform is not only helping DevOps teams, but also how it is helping our customers transform their businesses.
Here are a few great examples of customer quotes:
“We have enabled teams to go faster. That's one of the key things that is an outcome for us in terms of NEF — as we call it. Productivity improvements help every bit of the organization so we can get outcomes to our customers faster.”
“We’ve chosen to adopt Terraform to give oomph to our deployment platform, to make sure we scale to our user and engineers demands.”
“One of my favorite things about Terraform is that there are many ways to structure your approach to the workspaces, states, modules, and code. From a simple VM — with the necessary surrounding services — or entire stacks with the interdependencies.”
“It really for us has been a source of happiness. Everyone has more free time. They're not doing stuff that they don't want to do, so you end up with a happier team altogether, which is really nice.”
» Terraform 1.0
When it comes to why we’re so excited about the arrival of Terraform 1.0, that pretty much says it all. Thanks to everyone in our open source and customer community who have been such an important part of Terraform’s journey so far. We look forward to being your partner and making Terraform better and better for a long time to come.