Let me start today’s post with the news that Salesforce.com (NYSE: CRM) posted better than expected quarterly results. Salesforce’s results provide one more indication that SaaS companies are able to weather the recent financial storm better than their on-premise software counterparts. They also give further credence to the statement in last week’s Pacific Crest conference that the 2008 recession will prove to be a boon to SaaS companies in the same way that the 2001 recession was a boon to the Indian outsourcing companies.
Now onto the main topic. I’ve written in the past about ways to improve the capital requirements of the SaaS companies through the use of self service approaches for sales and services, the re-thinking of how to market the software and generate leads, and the use of open source components (as exemplified by the LAMP stack) for product development. Over the past few weeks I’ve participated in several very interesting discussions with existing portfolio companies as well as companies I’m considering for an investment on whether the three cloud-based application development platforms (Amazon’s EC2, Google’s App Engine, and Salesforce’s Force) are ready to serve as the foundation of robust, “enterprise class,” scalable SaaS applications. I should note that Azure is eagerly anticipated because of Microsoft’s claims for its flexibility and scalability.
Why the interest all of a sudden? Many of the companies that built their first generation of SaaS applications on the LAMP stack have come to realize that in the process they have implemented mini-platforms. Maintaining this infrastructure is becoming costly particularly as the applications incorporate more sophisticated functionality and they need to be integrated into complex enterprise IT architectures. Shifting the platform’s development and support onto a “platform specialist” can save development time and money, in a manner similar to past application architecture paradigm shifts, e.g., 3-tier architectures. Today it wouldn’t be unreasonable for a private company developing an enterprise SaaS application, for example an industry-specific ERP system, to spend more than $10M just on the development of a platform on top of which the actual application is built. I’m sure applications with broader scope, such NetSuite’s ERP, are implemented upon platforms that required an even higher investment. So, why wouldn’t a SaaS applications company pay, let’s say, 10% of the annual license fee it charges for its software for a robust third-party platform?
The short answer is that for prototyping any type of SaaS application or the development of transactional SaaS applications that are not mission-critical the available cloud-based platforms are more than adequate. EC2 and Google abstract hardware resources but require a lot of programming. This means that they may not yet provide enough of a benefit to the developer of a substantial enterprise SaaS application. In Google’s case this programming is done using Pearl and PHP which again appears to present a problem for the development of enterprise applications. However, developers are anticipating the App Engine’s upcoming support of Java. Force also uses a declarative language that is proprietary to Salesforce. The platform provides several application building blocks but application architects told me that are concerned about its scalability. Most of the SaaS application company executives I spoke with agreed that they would be ready to utilize one of these three platforms, or Microsoft’s Azure, as soon as they feel that they will realize productivity and cost benefits.
Of course there are SaaS application companies that regardless of the cloud-based platform’s cost benefit and functionality richness they will still not use it. The reasons I heard most frequently for such a decision included:
- Better control over the application’s and the platform’s scalability, software fixes and. SLAs, e.g., uptime.
- Customer ownership, i.e., since the platform itself is cloud-based they don’t want the third-party platform’s owner to have any access to the application company’s customers.
- Data ownership and data usage, i.e., the application’s owner doesn’t want the platform’s owner to have access to any of the data used by the application or be able to use that data for any other application.
- Speed of innovation, i.e., by developing a platform specific to the application, the application’s owner will be able to innovate at the platform level faster than the platform specialist which must ensure that the platform will be suitable for many different applications.
Cloud-based platforms will continue improving and Azure will only up the ante. While not yet ready to serve as the foundation of every SaaS application, particularly not the enterprise class mission-critical applications, in EC2, Google App Engine and Force we have three platforms that warrant serious consideration by companies that are looking for new ways to cut the costs of developing, supporting and maintaining their on-demand applications.