This Company Takes the Grunt Work Out of Using the Cloud

HashiCorp has won fans among developers, and a billion-dollar valuation, by automating the mundane tasks of setting up and configuring servers.
HashiCorp cofounder and coCTO Mitchell Hashimoto
HashiCorp cofounder Mitchell Hashimoto wrote course registration software in college so he didn't have to wake up early to sign up for classes.HashiCorp

Like most 12-year-old boys, Mitchell Hashimoto played a lot of videogames. But he never liked the repetitive parts of games like Neopets, where players feed and care for virtual animals. "I used a lot of bot software that other people wrote to play the more mundane parts for me, so I could do the fun stuff," he says. Those bots were often blocked by gamemakers, so Hashimoto taught himself to program and created his own bot. When the creators of Neopets ordered him to stop using that bot, he was done with the game.

Along the way, he discovered that creating bots was more fun. "It's the dream of every child programmer to create an army of robots," Hashimoto, now 29, says. Soon he was writing scripts to automatically set up web forum software. As a student at the University of Washington in Seattle, he wrote course registration software so he didn't have to wake up early to sign up for classes.

But even as automation let Hashimoto avoid some tedious tasks, he learned that programming came with its own time-consuming drudgery. So in 2012 Hashimoto and college friend Armon Dadgar cofounded HashiCorp, which makes open-source software designed to free programmers and system administrators from grunt work. "The consistent thread of everything I've ever done is automating the things I don't want to do," Hashimoto says. "Humans are good at creativity; computers should be doing the repetitive work."

HashiCorp's flagship product, Terraform, has become the de facto standard for setting up, or "provisioning," cloud infrastructure since the product’s launch in 2014, says Forrester analyst Charles Betz. Many software development tools simply assume that you use Terraform. The software is used by companies like Barclays, Capital One, and General Motors' self-driving car company, GM Cruise. Along the way, HashiCorp has grown to more than 400 employees, raised $174.2 million, and was most recently valued at $1.9 billion.

Building and running applications requires programmers and system administrators to install and configure programming languages, database systems, and a host of other tools. Cloud computing made some of this easier, but there’s still plenty of rote work involved in setting up and configuring cloud servers and ensuring that applications have all the components they need to function. Terraform automates these sorts of tasks. Manuel Kiessling, a software architect in Cologne, Germany, likens the experience of using Terraform to ordering food from a restaurant: You don't have to give the chef explicit instructions on how to cook it.

The upshot is that it's much easier to get cloud applications up and running. "We've gone from minutes rather than days to provision infrastructure," says Kieran Broadfoot, head of developer experience at Barclays.

Developer Focus

Much of Terraform's success stems from HashiCorp's focus on developers’ experience. HashiCorp releases open source versions of its products that anyone can use without charge. The open source versions are usually used by individuals, smaller companies, or tests. The company sells versions of its products with advanced features for teams in larger organizations.

HashiCorp's first product, which Hashimoto built before starting the company, was a tool called Vagrant. Vagrant helps developers build ready-to-use "virtual machines" that bundle up all the software a developer needs for a particular project. Once a virtual machine is built, it can be reused for other projects: A developer doesn't need to again install or configure the software it contains. Vagrant was an instant hit with programmers, who shared virtual machines to save each other the effort, and helped HashiCorp attract a loyal following of developers who were happy to check out subsequent HashiCorp products like Terraform or its security product Vault.

"It's like Apple devices," Kiessling says. "You hold them in your hand and you're not sure if they have the features you need, but you can immediately sense that someone has put a lot of effort and love into them. You really sense that HashiCorp are people who know their stuff, people who care about quality, about technology."

Kiessling started with Vagrant, then used Terraform for some personal projects. So far he's only used it for tests for his work at German retail giant Galeria Kaufhof. But that sort of grassroots interest helped HashiCorp land customers like Barclays. "We knew many of our employees were using these technologies, so rather than go against the grain, we went with the tools our developers love," Broadfoot says.

Potential Threats

Cloud providers typically offer their own provisioning tools---but they tend to work only with that company’s technology. Amazon's CloudFormation tool, for example, only works with Amazon services. Terraform, by contrast, works with many cloud services. It can be configured to run an application's main code from, say, Amazon, but access data from Microsoft Azure.

Forrester’s Betz says there's a need for more of these sorts of "multi-cloud" setups. Many companies fear being locked in to a single cloud, he says. "There are people out there saying 'I just got out from under IBM 10 years ago, there's no way in hell I'm going to go all in on Amazon,'" he says. Others need tools that can work with so-called "hybrid clouds," which combine private data centers with public cloud services from companies like Amazon and Google. Acquisitions can also result in companies having software that runs in multiple clouds.

For now, Terraform has few direct competitors, Betz says. But it could eventually be displaced by software that accomplishes the same ends in a new way. That’s what happened to Vagrant. It wasn't displaced by a better virtual machine, but by Docker, which uses a potentially more efficient technology called "containers" to create bundles of ready-to-use, self-contained software without the need to virtualize an entire operating system.

Even if Terraform is eventually displaced, HashiCorp has developers' attention. Kiessling mostly uses Docker instead of Vagrant now, but he's an advocate for Terraform. Whatever HashiCorp does next, he and countless other developers will be watching.


More Great WIRED Stories