Lack of Good Platforms is Stunting SaaS and Business Web 2.0
Posted by Bob Warfield on October 18, 2007
There is a misperception out in the world that 3 developers can build a 1.0 web product and get it to market for a few hundred thousand dollars. It’s a story that’s been true for a variety of consumer web products, the Twitter, Facebook, and MySpace gang, but it is most assuredly not true for business web products. Why not?
Because businesses require all sorts of things in their software that consumers don’t care about or think about. Security, configuration to fit business processes, and the desire to actually produce a measurable ROI and not just play around and have fun are all part of it. Robustness, scalability, and the desire to make sure that when you pay for a service you will actually receive that service are another.
Chris Cabrera, CEO of two and a half year old SaaS provider Xactly, has 40 engineers on his payroll last I talked to him. I know Chris and I know his VP of Engineering Satish. These guys are smart, pragmatic people. They know you can’t wastefully put 40 on one product, so they break it up into modules and infrastructure subsystems. They wouldn’t hire 40 unless they had to build a lot of darned difficult software. It is hard to build business web software.
But here is the rub: there is huge duplication of effort across the ISV’s laboring to build these business web applications. The reason is that so many of the features business demands are generic. The list of things you have to build under the heading security is pretty much the same for every SaaS business software vendor.
This brings me to another advantage the consumer folks have that drives their costs way down: they have platforms. The LAMP stack is a platform for creating consumer web software. RSS is part of a platform. There are many others. Some carry across to the business world, but not too many. Not enough.
The lack of available platforms is radically slowing the availability of new SaaS and Business Web 2.0 offerings. Companies that want to play in these arenas have to raise a lot more capital and take a lot longer to build their first release than their consumer brethren.
What should such a platform offer? Let me give you my wish list that is not exhaustive, but focuses on some items of particular interest:
Security and the Rest of the IT Check Offs
There is a long list of items around this area that are frankly very boring and time consuming to build. They add no differentiation to your offering, they are just the price of admission for even being considered. Customers want to know how to incorporate your offering into their single-sign on portals. How to implement their password policies on your SaaS offering. How to implement their data backup and retention policies. And all the rest. The Business Web Platform has to make this dead easy and require almost no coding to use.
Multitenancy and Version Control
This is a complex and inter-related issue. I want to run many tenants as efficiently as possible. I want a metadata-based approach to configure the minor differences in the tenants. I want to manage patches and updates so I can test them out on a few tenants, and if all is well, rapidly roll them out to all tenants as automatically as possible. I want to write my software as though it only knows about one tenant, except when the software needs to see all the tenants. I want a whole lot of something for almost nothing in terms of effort on my part.
Scalability and a Head Start on the Database
Business software needs slightly different scalability. Most business “seats” use more resources than a consumer “seat” in these apps. A cheap mySQL backed by memcached may not work well at all for this model. At the same time, Oracle license fees are extremely cost prohibitive. Most of my web pages are dynamic and they have to be right. I can’t sacrifice accuracy for availability as much as consumer sites do. My accounts payable clerk can’t see we owe $10,000 if the real number is $100,000. All this points to some sophisticated database capabilities the likes of which are just not out there at the moment. Companies are either living with the pain of Oracle, or building fancy partitioning and other layers on top of mySQL.
Let’s don’t even get started on ad hoc reporting, which is another database layer the platform needs as well as metadata to let end users add fields or new objects and so on.
Customization and Configurability
I’ve talked about customization and configurability before as a stumbling block for many types of business web software. This is hard stuff. Many enterprise categories have been non-starters on SaaS because they require too much customization. Anything the platform can do to help is welcome. I break customization into three categories:
- Presentation Logic: Can I change all the text on any screen for localizaton or to accomodate my company’s terminology? Can I change workflows? Can I completely change the layout of the screens, which fields are presented, sort orders, and all the rest?
- Data Model: Can I add new objects and fields at will? Do I have an easy way to populate from my other systems?
- Business Logic: This is the hardest and most open ended piece.
Lowers My Service Delivery Costs
SaaS vendors have a cost to deliver their service. It directly affects their margins in a profound way. Let’s take an average of 3 public SaaS vendors: Salesforce, Concur, and RightNow. On average, these three pay about 23% of revenue to deliver their services. That’s actually quite low for SaaS companies, and the numbers range much higher for young companies that haven’t had a chance to work on this area.
Now suppose you wanted to use a platform like Force.com, which charges $25 seat/month. Let’s be generous and say your business model allows your cost of service to be 25%. Using Force, you must charge your customers $100 or you have an uncompetitive offering from a margin standpoint. That’s a total non-starter for most. Suppose you have a nifty service that’s worth $20 seat/month. Can you get everything delivered for $5 cost?
Some of the cost comes from hosting. Some comes from IT overhead associated with the care and feeding of the software. The secret to driving these costs down is relentless automation. This is another area where a good platform should help, not hinder. Which delivery costs does your platform automate?
Open Source + Friendly Ecosystem + PaaS
Delivery cost leads me to think of Platform as a Service (PaaS). Customers buy SaaS because ultimately TCO is much lower. The same will be true for this platform. There are economies of scale and other refinements that will make it cheaper when delivered as a service in the cloud.
SaaSWeek says PaaS may be a passing fad. The author says this not for technology reasons but for political reasons. It boils down to the fear your platform can turn against you at some point. This is a risk for any platform (DOS and Windows?), BTW, and not just PaaS. I’ve said before I don’t like platform vendors building apps, they should be like Switzerland.
But there is an antidote to the potential bad behaviour that boils down to creating a friendly ecosystem that counterbalances the vendor. I’d look for a platform that has been Open Sourced like mySQL. There is a limit to how much bad mySQL can do before people take their Open Source and go elsewhere.
UnreasonableMen have some interesting thoughts on the PaaS issue as well that I want to comment on briefly.
On the issue of scale, I don’t think a good PaaS has to have huge scale to be of benefit. The reason I say this is that there are fixed costs to small business web projects. You need at least one IT guy to manage the servers. You need something like 8 servers on average. Yada, yada. If you pool all that, 1 IT guy can be responsible for a lot more than 8 servers. Industry averages say twice that without automation, and companies like 3Tera claim 1 guy can manage a hundred servers. A small PaaS provider can pass along those savings to a lot of startups, and it will achieve scale pretty quickly in that way. What the small provider needs to do is offer load tests and other proofs that it will be able to scale its infrastructure over time, but that’s very doable. If you have the open source ecosystem underway, the fear of what to do if the small vendor folds (or is acquired by an unfriendly) is greatly reduced.
Unreasonable is willing to see vendors who are quasi-Switzerlands. He feels Salesforce will isolate CRM and Force in their quest for a bigger market. He also gives the example of Telcos as platforms. I’m queasy about these examples. Yes, telcos carry data for the Internet which becomes a platform and they don’t interfere (much) with that. However, it took a fantastic amount of regulatory wrangling and competition from other infrastructures like cable to keep the telcos reasonable. Their progress innovating was poor in retrospect, and we still have “last mile” issues with infrastructure. WiFi access is a mess as well.
I think the closer analogs to “disinterested” quasi-Switzerlands are companies like mySQL. There’s kind of a fine line between mySQL and Oracle. The latter is very much not Switzerland and leaves their bootprints all over the Enterprise landscape. I’ll stick to my guns on the Open Source as I think it keeps platform vendors honest.
Zuckerberg just said, “We reserve the right to build anything and compete with any of our applications.” Facebook is no Switzerland!
Dare Obasanjo throws some interesting platform criteria into the pot. I like the following:
- Platform reach. Many have said Force.com is a better platform for generating sales leads than anything else. Certainly Facebook gets a lot of traffic.
- Applications shield from the winner’s curse: This is basically scalability tied with making it easy to scale up/down on a utility grid so you can pay as you go but respond in real time. Argues strongly for PaaS.