Professional Documents
Culture Documents
There is a Backend API Service that is hosted on one In-House server with 64GB
RAM & 1TB HDD right now, and running on ubuntu 16.04
Postgres is being used as the database on the same server
Few background jobs that are triggered by cron throughout the day
To reduce the load on the DB, the team is considering using some sort of
caching and search engine.
A React application, being hosted on the same server using NGINX
Everything being used in the application is on this one server
There is an Android App
Issues
As demand grows, at peak times in the day(Lunch/Dinner) the server comes
under immense load & make the application unresponsive
Creating an Order takes a long time sometimes
Logging In/Registration takes a lot of time
Huge log files make searching for issues a hassle
Images don't load sometimes
DB backup is a manual weekly task
Single point of failure
Everytime server is unresponsive, someone have to restart the server and
change C-Name to point domain to new public DNS assigned to EC2
Requirements
you need to architect a system leveraging AWS as the Cloud Platform & using their
managed services to make everyone's lives easier.
Create an Architecture Diagram on how you will design the system for FoodLeLo for
maximum Availability, Security, Scalability & Performance. You are free to use any tool
to create architecture design, draw.io, google drawing, power point, anything of your
choice.
Notes:
You are free to use any number of AWS services you need to design the
architecture
The Infrastructure should be easy/quick to replicate. For example, the team may
want to have a pre-production environment which is running on similar
infrastructure as production. Or the team may want to create a production
equivalent environment to test every release.