Where's Your Cloud Model?
"Cloud model" isn't just the single vs. multi-tenant issue. It goes to the heart of how you actually deliver your service. There are too many outages lately, and many of them are simply due to inadequate infrastructure to support vendors' cloud visions. Services like phone, gas, water and electricity use redundancy and preventative maintenance. We need a similar approach to cloud computing.
Most of the people I talk to think of a business model as the way a company makes money. We certainly agree on that. One's business model can encompass numerous things, like product mix, marketing and sales plan, how you sell -- direct, channel, retail -- and lots more. One thing that usually misses inclusion, at least where SaaS companies are concerned, is the cloud model, which I consider as important as the sales and marketing piece.
By "cloud model," I mean even more than you might think. It's not just the single vs. multi-tenant issue, but it goes to the heart of how you actually deliver your service. When all this cloud stuff got started, a vendor more or less promised a level of access, and that came to be symbolized by the number of "nines" in their service level agreements. Five nines became the unattainable (or barely) goal for most vendors, and most delivered less -- most got by on a paltry three nines, and for a long time no one noticed.
But that was before SaaS and cloud took on an air of inevitability and we assumed the solutions were able to stay up almost permanently like the electric or phone services. When SaaS companies file to go public, among the things they say they need money for is to beef up their infrastructures. Typically, they want to build a new data center in another part of the world to aid expansion and to provide a failsafe. That's prudent too, but these are the good old days; I will explain.
The Evolution of a Market
The SaaS companies around today were the pioneers; they battled the naysayers and grew an industry and a new way of doing business from nothing. Because they were first, they didn't worry so much about system redundancy and the attendant headaches -- like how to pay for it. But today everyone worries about redundancy because everyone is concerned about when and where the next outage will happen. Lately we've had plenty to worry about as some of the biggest vendors had to deal with these issues.
Future SaaS or cloud vendors won't have it so good. They'll be tasked with building redundant systems right from the start. Their revenue models won't look so good because they will be dealing with extra costs that the pioneers avoided until later. Still, that's what the market is beginning to require. It's a barrier to entry, and that's the way markets evolve.
So that's the back story. The headline is that there are too many outages lately, and many of them are simply due to inadequate infrastructure to support vendors' cloud visions. No service -- phone, gas, water, electricity or whatever -- operates with as little redundant infrastructure as cloud computing. Maybe the water company doesn't have duplicate pipes, but the things that can break are, to the degree possible, backed up. Also, these utilities have practices in place that provide maintenance that prevents outages. Certainly the power company has more generators than it uses at any one time -- it makes maintenance easier, and that avoids failures.
We need a similar approach to cloud computing. Fault-tolerant systems, mirrored data and much more are in our futures. There was an outage of the popular Blogger blogging site recently and it might provide a case in point. The system went down when a software update was either misapplied or was buggy to start with. It doesn't matter; some people lost their work.
The Customer Shouldn't Have to Fix It
I've heard all kinds of pronouncements, including smart people suggesting that cloud computing needs user-assisted backup. I couldn't agree less. I don't think the customer should be fixing a problem made by a vendor. It's time for vendors to put in place an appropriate infrastructure. The outage in question could have been prevented, I think, if the vendor simply had a real-world testing facility to try the software patch before applying it to a live system.
Having a test system isn't the most expensive part of building redundancy, and it is telling if a vendor doesn't have at least that level of support. But this episode does show how far we need to go to make cloud computing as reliable as it needs to be if the great majority of businesses are to trust it enough.
So that brings us to the need for better standards and a cloud computing model that encompasses more than the demo system. Various certifications check for some of this, but apparently not enough. An industry-wide standard that talks about redundancy, mirroring and the like might be hard to administer and enforce, so it's up to the individual vendors and their customers, and frankly it's really about the customers. Customers need to know what's going on in the back room, and they need to hold vendors' feet to the fire, to know what questions to ask and what the answers mean.
Finally, don't make the mistake of thinking that because a service is free you don't have rights to expectations of high up time. A free service or freemium is often a vendor's way of attracting you so that the vendor can make an upsell. If the freemium is not stable, paying money for it isn't likely to improve the situation.