The official goal for the project according to the documentation is to be a tool for building, changing, and versioning infrastructure safely and efficiently.
Terraform is the fifth product from HashiCorp. Their products are quite popular. As a reminder, their products are :
Terraform use the concept of Infrastructure as Code. This concept is already omnipresent and well-known because of the mainstream adoption of provisioning tools like Puppet or Chef. In Terraform, one person can declare resources, which will be managed by the tool, in a configuration file. With this configuration file, the tool is able to :
This tool should be set on top of existing provisioning tools. Terraform calls provisionners (local or remote) declared in the configuration right after allocation of resources.
HashiCorp’s new product is cloud computing provider agnostic and based on Infrastruture as Code. Framework and libraries exists but there isn’t a tool to use them declaratively. There is also AWS CloudFormation (first release was in 2011) but you are stuck with AWS.
Written by Philippe Lewin, French Software Engineer. twitter