Note: This post was written in 2015. The tutorial linked below runs on an expired version of Terraform and is no longer up-to-date. You can find a relevant and working blog post on the configuration here, and its github repository here. It uses a cloud.ca plugin rather than the CloudStack one.
Today, thanks to the cloud, all the computing resources you need are just a few API calls away. A whole infrastructure can be created and modified this way. Then, to treat infrastructure as code, you just need a tool that translates a plain text description of your infrastructure into a sequence of those API calls. That's what Terraform does. In this post, we will see how it is possible to treat infrastructure as code with the use of Terraform and cloud.ca.