Design Strategy:
To build high scaling application with ~zero downtime ~high availability one of our strategy would be to use Microservice based approach. Microservices is an approach to application development where a large application is built as a suite of granular services. Each service supports a specific business goal and uses a simple, well-defined interface to communicate with other services.
https://blog.gainlo.co/index.php/2016/08/28/design-ecommerce-website-part-ii/