The web has changed drastically the last few years. The browser is becoming the de-facto application platform for online cooperation. To accommodate this, applications need to be able to scale up and down dynamically as the number of users fluctuates. While a few years ago planned downtime was as normal as anything, nowadays most applications need 100% uptime. Furthermore, the continuous need to innovate stresses the importance of extensibility and maintainability of these applications.