Virtualization is a Poor Man's Multi-Tenancy
A few years back I recall reading several analyst comments about how Siebel was going to eat salesforce.com's lunch just as soon as they could get that sucker online. I just laughed. I laughed because I had some experience with both salesforce.com and with another application provider who "put their app online," and I understood thoroughly the difference between an application that is architected for the Internet and multi-tenancy, and one that is not.
My experience with salesforce.com was both as a user (Red Hat was a very early customer in 2001)and as a supplier (my team called on salesforce.com as part of our Linux sales effort). I knew that salesforce.com had a pretty lean infrastructure due to multi-tenancy (serving lots of customers with just a small number of Linux servers). I also knew that they designed the application and the interface to tolerate the uncertainties of the Internet. By contrast, I had witnessed several cases where the ERP/CRM vendor simply put up a couple of machines dedicated to serving customers from their data-center. It was rarely successful, and the applications typically came back in house quickly. These legacy applications simply were not designed for the uncertainties of the Internet. Nor did they have a multi-tenant design to serve many customers from a set of shared systems (efficiency being the key to the SaaS model).
Well, part of that problem may be going away soon. High performing virtualization coupled with virtual appliances that are tuned to be efficient (i.e. no overhead from a bloated, general purpose OS) may provide the first hope of multi-tenancy for legacy applications. Add the soon-to-be-introduced quad-core processors from AMD and Intel, and you may just have a recipe for efficiently serving lots of customers from a common infrastructure. Add Amazon's EC2 and S3 services, and you may not have to endure fixed costs at all to effectively serve your customers with an on-demand version of your application.
None of these developments solve the latency problem of the Internet, but they do promise to make the costs of entering the SaaS space much lower for software application companies. Separating the infrastructure from the application architecture will be a very good thing for application companies that are looking for ways to better serve their customers and grow license revenue.