

Why is scaling a web application hard?  - drubio
http://www.webforefront.com/archives/2010/11/why_is_scaling.html

======
kls
_However, there are two particular design choices that increase complexity
when attempting to horizontally scale each tier: Decoupling and sessions._

Session is by far the deal with the devil that comes back to haunt you later
in life. Introducing a stageful concept into a stateless medium was destin to
have ramifications. I remember the first implementation of the concept of
session in a web framework. I remember a developer that I worked with going on
and on about it and I remember thinking right there that is a very dangerous
pattern.

At our shop we do three things. One we only store the most critical
information in session (if at all), we have an audit script on our source
control system that generates a warning to the leads any time new access to
session is developed and finally we always ensure that session can be
recreated from a stateless medium. Therefore session acts like an in memory
cache for us.

