Reference architecture to deploy microservices to AWS
Goals
- Simple
- Reliable
- Cost effective
- Seamless updation of existing services.
- Easy to add new services.
Demo
Architecture
This is a reference architecture for deploying microservices to aws.
- Services are deployed to aws in docker containers.
- Services can be build using any language / technology as long as it can be dockerized.
- Comes with a reference network design for security and high availability
- Infrastructure as code - Cloud formation to create
- VPC
- Network links (internet gateway, nat wateway).
- Private multi AZ subnets for deploying fargate tasks.
- Public subnets for exposing service to internet.
- Logs in to cloud watch.
- Application load balancer and target groups to route traffic to appropriate services based on url.
- For example /api/v1/customerservice/* -> customer service fargate task
- For example /api/v1/orderservice/* -> order service fargate task
- Easy to add new serices to the service landscape.
- Deployments/ update to services without an outage.
Code
Follow github link here
Detailed descriptions
- Containerising API server - Part 1
- Create network infrastructure for secure deployment of applications. Part 2
- Scaling up and down.
TODO
- Seamlessly updating (deploying a new version of API) the server without an outage.
TODO