
Above figure shows stateless architecture.
In this stateless architecture, HTTP requests from users can be sent to any web servers, which fetch state data from shared data source. State data is stored in a shared data source and kept out of the web servers. A stateless system is simpler, more robust and scalable.
Below figure shows updated design with stateless web tier.

We move the session data out of the web tier and store them in the persistent data store. The shared data store could be a relational database, Memcached/Redis, NoSQL, etc. The NoSQL data store is chosen as it is easy to scale.
Autoscaling means adding or removing web servers automatically based on the traffic load. After the state data is removed out of web servers, auto-scaling of the web tier is easily achieved by adding or removing
servers based on traffic load. Your website grows rapidly and attracts a significant number of users internationally. To improve availability and provide a better user experience across wider geographical areas,
supporting multiple data centers is crucial.


Leave a comment