Mitchell Hashimoto, the guy who created the popular Vagrant tool for setting up development environments, has gone and built another useful tool for developers working on public-cloud platforms.
No longer must developers sign in to one or more online portals and hit a bunch of buttons to load up or adjust the public-cloud infrastructure they use. With Terraform, that work can happen right from a developer’s command line.
“With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers,” Hashimoto’s company, HashiCorp, wrote in a blog post today announcing the new tool.
Terraform already supports and can manage physical servers, virtual machines and application containers on a wide range of clouds, including Amazon Web Services, Heroku, Google Compute Engine, DigitalOcean, and Cloud Foundry.
From the beginning, then, Terraform could be useful for developers at companies who want to create or manage IT architectures across multiple clouds.
And that right there is what separates it from some tools that already exist for manipulating cloud infrastructure. The Amazon cloud’s CloudFormation tool, for instance, can only handle Amazon infrastructure.
Meanwhile, Terraform can work in lock step with existing configuration-management tools like Puppet and Chef. It’s not a competitor of those widely used services.
Mostly cast in the increasingly popular Go programming language, Terraform can come in handy for several purposes. For instance, launching the infrastructure for a demonstration of software becomes faster. From the Terraform site:
Software writers can provide a Terraform configuration to create, provision and bootstrap a demo on cloud providers like AWS. This allows end users to easily demo the software on their own infrastructure, and even enables tweaking parameters like cluster size to more rigorously test tools at any scale.
Keep an eye on Terraform. If Vagrant’s success is any indicator, it could end up becoming a common element of many developers’ tool sets.