Auto Scaling Infrastructure for Fit Restaurant with Nginx and Docker
Ho, Hoang Phuc (2019)
Ho, Hoang Phuc
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019112823122
https://urn.fi/URN:NBN:fi:amk-2019112823122
Tiivistelmä
The thesis covered the infrastructure and back-end development for Ravintola Fit restaurant located in Jyväskylä. The aim of the study was to develop a good system where different parts of structure were bundled as standalone containers working together to serve the end-users whilst maintaining their functionalities, portability as well as flexibility. The most important point, the infrastructure can be scaled vertically or horizontally based on the need due to the spike in traffic or business expansion since they all hosted on cloud computing service. This guarantees the demands are efficiently served, both the hardware cost and the experience of the user.
The groundwork contained four parts, the orchestration, load balancer, back-end, and database. Every piece was built from scratch without the help from any content management system and bundles. Docker Swarm and Docker command line interface were used to construct and manage the containers within the orchestration. Traffics travel back and forth the system were instructed by Nginx thanks to the lightweight, stability and high performance as a web server. The back-end server inquired Postgres database through GraphQL application programming interface, gathered data to feed the front-end server via the REST application programming interface, and held the integration for third-party services at the same time.
The work was successfully delivered to the restaurant and the web application has been in production for some times since the requirements were met. It even went beyond the expectation of the owner in the perspective of performance, cost and design.
The groundwork contained four parts, the orchestration, load balancer, back-end, and database. Every piece was built from scratch without the help from any content management system and bundles. Docker Swarm and Docker command line interface were used to construct and manage the containers within the orchestration. Traffics travel back and forth the system were instructed by Nginx thanks to the lightweight, stability and high performance as a web server. The back-end server inquired Postgres database through GraphQL application programming interface, gathered data to feed the front-end server via the REST application programming interface, and held the integration for third-party services at the same time.
The work was successfully delivered to the restaurant and the web application has been in production for some times since the requirements were met. It even went beyond the expectation of the owner in the perspective of performance, cost and design.