Goal is to create an 'application bundle' consisting of 2 services:
A simple Python (flask) app which returns hash for a string
Redis server to cache already computed hashes
Repo containing the flask app:
Containerize the given application and push the image to a public repository
Create a deployable application bundle with the flask and redis
Application bundle should have the following qualities:
Easy to orchestrate across multiple nodes.
Easy to scale on demand without downtime (automatic load balancing)
Fault Tolerant (should handle application failures and recover)
Should allow rolling deployments without downtime
Allow centralized logging (in theory, no need to implement)
You are free to use any open source tools to accomplish this. Any further optimizations are welcome.