1) The traditional way of handling a two-tiered WEB architecture:

With a versatile (i.e. scriptable) hardware load-balancer (e.g. F5's BIG-IP), one could scale the traditional architecture (see 1) without having to change the application. In this situation, one is trading software development effort against the cost of additional equipment.