Introduction

Part 5, Lesson 1



In Part 5, we'll dive into container orchestration with Amazon ECS as we move our staging and production environments to a more scaleable infrastructure. We'll also add the Docker Hub image registry and Amazon EC2 Container Registry. Finally, we'll utilize Amazon's Elastic Load Balancing for load balancing and Amazon's Relational Database Service for data persistence.

Objectives

By the end of part 5, you should be able to...

  1. Integrate Docker Hub, an image registry, into the continuous integration process
  2. Configure Amazon ECS and Amazon EC2 Container Registry to manage container orchestration for our staging and development environments
  3. Set up Elastic Load Balancing to manage service discovery, run status health checks again each service, enable zero-downtime deployment
  4. Add Relational Database Service, for data persistence, to our production stack

App

microservice architecture

Check out the live app, running on EC2 -

  1. Production
  2. Staging

You can also test out the following endpoints...

Endpoint HTTP Method Authenticated? Result
/auth/register POST No register user
/auth/login POST No log in user
/auth/logout GET Yes log out user
/auth/status GET Yes check user status
/users GET No get all users
/users/:id GET No get single user
/users POST Yes (admin) add a user
/ping GET No sanity check

Grab the code:

  1. flask-microservices-main
  2. flask-microservices-users
  3. flask-microservices-client
  4. flask-microservices-swagger

Introduction

In Part 5, we'll dive into container orchestration with Amazon ECS as we move our staging and production environments to a more scaleable infrastructure. We'll also add the Docker Hub image registry and Amazon EC2 Container Registry. Finally, we'll utilize Amazon's Elastic Load Balancing for load balancing and Amazon's Relational Database Service for data persistence.

Objectives

By the end of part 5, you should be able to...

  1. Integrate Docker Hub, an image registry, into the continuous integration process
  2. Configure Amazon ECS and Amazon EC2 Container Registry to manage container orchestration for our staging and development environments
  3. Set up Elastic Load Balancing to manage service discovery, run status health checks again each service, enable zero-downtime deployment
  4. Add Relational Database Service, for data persistence, to our production stack

App

microservice architecture

Check out the live app, running on EC2 -

  1. Production
  2. Staging

You can also test out the following endpoints...

Endpoint HTTP Method Authenticated? Result
/auth/register POST No register user
/auth/login POST No log in user
/auth/logout GET Yes log out user
/auth/status GET Yes check user status
/users GET No get all users
/users/:id GET No get single user
/users POST Yes (admin) add a user
/ping GET No sanity check

Grab the code:

  1. flask-microservices-main
  2. flask-microservices-users
  3. flask-microservices-client
  4. flask-microservices-swagger