Skip to content


It would be a bit brutal if I were to delve straight into Terraform code that produced a complex (for some) solution in AWS without first visualising what that solution looked like:


This diagram is just a place holder. A much nicer diagram will be developed and will replace this one in due course.


Let's break this down into its components and expand on them a bit more. We'll go over each part of the architecture in two parts.

First we'll talk about the technology and explain what it does and explore the reasons we're using it. Each technology we're using has an important role to play in the construction of our architecture. No one piece of the architecture is more important than another - they all come together to make HTTP Cats possible.

Secondly we'll cover the finer, technical implementation details that will make it into the Terraform code and make the architecture possible. These details will be presented to you in tables, like this:


This is an example table.

Name Description Tier CIDR
httpcats-vpc The VPC for our entire solution VPC
application-subnet-a An application subnet Subnet
application-subnet-b An application subnet Subnet

These tables will make it easier for you to find the specific information you're looking for when writing out the Terraform code.


Let's start by exploring the networking stack we're using in AWS to make our solution available to the public Internet.