Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 2.01 KB

README.md

File metadata and controls

41 lines (26 loc) · 2.01 KB

Infrastructure and Architecture

This IAC project builds using the components in the core IAC repo. You are encouraged to read the rationale behind this in detail in order to understand the choices and structures implemented in this project.

In short, modules in that repo are designed to be used as both:

  1. a backdrop of common structures; and
  2. a series of homogenous components

Both of these characteristics are intended to result in:

  • Predictable behaviours
  • Familiarity for engineers

Network Architecture

The architecture model in the original project is based around a classic persistent-compute model, with various Load Balancers and Service Instances waiting for requests to process.

This style of structure necessitates a multi-tier network architecture. The core IAC repo provides a ready-built four-tier VPC model and you are encouraged to read the documentation provided with that module to understand its use.

Service Architecture

This application has two main component services:

These are discussed in more detail below.

Buyer UI

The Buyer UI service consists of:

  • An Application Load Balancer in the public subnet, sharing out the incoming requests
  • An ECS Service in the web subnet servicing those requests

The Buyer UI is written in NodeJS and uses Express to serve the web requests it receives.

CAT API

The CAT API consists of:

  • An Application Load Balancer in the public subnet, sharing out the incoming requests
  • An ECS Service in the application subnet servicing those requests

The CAT API is written in Java and uses Spring as a framework.