Stateful programming models have inherent user(first) level cache. This reduces interaction with the database during conversation. So stateful models can scale reasonably well without caching and very well with jvm(second) level cache. Stateless models tend to punish the poor database while trying to scale. Often, database becomes bottleneck in this model. Even, stateless models in JavaEE (advocated by Spring) scale with second level cache. But this is not the case with dynamic language platforms. This is one of the points often bragged by the enterprise java community. With the cloud computing/storage(S3, GFS) getting prominence, the dream of infinitely scalable database (at low cost) is coming to reality. Companies like elastra will reduce learning curve and increase cloud storage adoption. Will this equalize dynamic languages to claim enterprise scalability? http://manidoraisamy.blogspot.com/2008/06/cloud-storage-javaee-equalizer-for.html