complex
, by the name indicates that it's a microservice rather than a monolith. This repo is a proof of concept that we can do microservices (aka multi-container) deployment to beanstalk and managed Kubernetes services like EKS.
We have a variety of containers running to serve this single application. These are:
- A postgres instance. To store data.
- A redis instance. For cache.
- A worker instance. Worker takes request from application logic and makes calculation as a separate service; allowing the app to take next request without waiting
- A frontend instance. For UI.
- A backend instance. Application logic.
In this version of repo we did multi-container deployment to beanstalk. This version demonstrate GitHub -> Travis CI -> Elastic Beanstalk pipeline. See https://github.com/santosh/complex/blob/8d14a48633d1f861f74e545cad53dc20a932355e/.travis.yml to get a glimpse of that goes when any commit is push to GitHub.
In this version we did a minikube install on a local/dev environment.