Terraform https://www.terraform.io/ allows the definition of infrastructure as code. What this means is that, using a few lines of code we can create a set of virtualised hardware that forms part or the whole of a system. For example we could use Terraform to launch two servers, one for as an Encoder and one as a Packager.
Because we are using code, we can essentially automate this process so that we can launch and tear down services or functions as we need them. Although Terraform sounds a bit like using batch or macro files, it's way more intelligent, Terraform can track changes in a running system, and these can be incorporated as a permanent change, or used to roll back to a known state.
Here we will explore how to create a Terraform file to launch a simple Virtual Server. The example will be based on using Amazon Web Services for now, and if in time I start to use other providers, I will add them here as well.