If your business depends on your web application/website then even a small downtime can also cause big losses in businesses and worse customer trust.
Recently we have designed a practically deployable architecture for our client for non-stop high availability of their web application.
We have proposed two architectures based on complexity and cost influence.
The architecture shown in diagram 1 is most robust option and ensures that web application has maximum uptime in case of some of the components goes down or in case of high traffic situation.
Diagram 2 proposes a second option which is less complex and requires fewer resources hence cheaper than option 1.