Category: Deployment, Business, Infrastructure, Architecture, github, automation

There is no doubt that in the past 5–10 years DevOps has come to prominence not only within the startup movement but also in the enterprise world. In this article I will explore with a simple example how to use Terraform (https://www.terraform.io/) to implement a fully automated process for provisioning infrastructure to AWS, adopting an Infrastructure as Code approach. If you just want to understand the elements you need to consider to apply Infrastructure as Code technologies to a dynamic environment such as AWS, you can skip this paragraph and go straight to Architecture chapter but, if you prefer to follow along and try the technologies in your own environment, you will first need to match some prerequisites and install the following utilities on your workstation: To test the full capabilities of Infrastructure as Code automation applied to a dynamic environment such as AWS I have developed a simple application (my Windfire Restaurant application) which is made of just 2 components, one rendering the UI (developed in Angular) and the other exposing a service layer (developed in Node.js).

This allows a blueprint of infrastructure architecture to be versioned and treated as you would with any other code.

Once you have defined how you want your infrastructure to look like, applying it is very easy and requires just a couple of steps: which, in our case, downloads Terraform AWS provider to allow Terraform to connect and interact with AWS APIs, and then: which interacts with AWS to actually provision the infrastructure and compute components, as defined in the various *.tf resources files.

Related Articles