It's Amazing . . . It's Ridiculous
Earlier this week I attended the Sandhill.com Software 2007 trade show, and I was delighted to hear Marc Benioff make the following proclamation during his keynote address:
“It's amazing the amount of money we spent to be able to deliver the salesforce application in a SaaS model. In fact, it's ridiculous the amount of money we spent.”
Marc is a consummate salesman, and the point he was driving home was that application providers shouldn't think about building all of the infrastructure for SaaS on their own because it is just too expensive. Instead, they should leverage the infrastructure investments that salesforce.com has already made . . . and pay Marc to run their applications on Apex. Marc has moved beyond selling the salesforce.com CRM applications to selling the Apex SaaS platform. I think this is a smart strategy for salesforce.com, but I also believe there is a cheaper and better way to deliver SaaS value that will ultimately make the Apex approach a difficult one to swallow for the application vendors.
Marc raves about the importance of multi-tenancy so often that you would think this is a feature that customers actually care about. Well, they don't. Providers care about it because it gives them a cost effective way to deliver an on-demand application. Multi-tenancy allows sharing of hardware resources across the customer base, and it also enables a scalable system management model that is cost effective in terms of the administration labor required to maintain the software (i.e. one maintenance process serves all customers). But, as Marc points out, the engineering investment to design such a capability for any given set of applications is very expensive. Also, the first investment in the underlying infrastructure to make such an architecture robust and redundant is very steep. Fortunately, there is an alternative to Marc's very expensive design for SaaS: virtual appliances.
With a virtual appliance architecture, an application provider can use their current, single-tenant application architecture while gaining the benefit of high system utilization by running multiple customer instances of the application on the same system. Virtualization is a poor man's approach to multi-tenancy which provides all of the utilization and redundancy benefits without the “ridiculous” expense of re-engineering the application for salesforce.com style multi-tenancy. In addition to being a cheap way to enable multi-tenancy, virtual appliances offer the following additional advantages over a typical SaaS architecture:
portability – a virtual appliance can run on any machine in any location, without expensive configuration and maintenance procedures. The application can run locally on the customer's network in the event that data, latency, or security issues are important.
flexibility – if an important customer requires a unique feature, it is easy to provide that feature to one customer without forcing all customers to receive the feature also. This flexibility avoids the one-size-fits-all mentality that ultimately limits the markets that can be served with the application.
I am a big fan of salesforce.com for blazing a trail to a world where software value is delivered without the technical headaches of the legacy software approach. However, I also believe that salesforce.com's architecture is a first generation approach to the problem of software complexity, and innovations in the area of virtualization and virtual appliances are going to trump the Apex architecture for other software vendors to deliver the value of SaaS to their customers. Pay close attention to what is happening with Amazon's EC2 service, the growth of VMware, and the software appliance experience being pioneered by my company, rPath. The salesforce.com approach to SaaS is just the beginning of a wave of innovations that will transform the legacy application delivery model.