Source: build.thebeat.co

Scalable Terraform Architecture

Category: Database, Security, Terraform, Infrastructure

At Beat, we run all our workloads on AWS, and use infrastructure as code to create and manage our AWS resources. We started with AWS Cloudformation, and two years ago we decided to switch to Terraform 0.11 and started by creating one repository to store all of the Terraform code. We used Terraform modules, so that we can create abstractions and reuse the Terraform module code, and we stored the modules in the same repo alongside our multiple stacks logic.

In order to resolve the various problems we implemented a number of things: Firstly, we defined what modules we need for our infrastructure and created a policy for what a module is.

Following the use of unit and integration tests for our infrastructure code, we want to add a new category; ‘end to end tests’.

Related Articles