Tuesday, February 23, 2010

A Reliable "Cloud on the Horizon"?

In my previous blog post "The Private Computing Cloud. Balancing Control with Cost" I explored some of the big picture issues facing enterprises as they consider whether to pay for hosted software services versus deploying them as premise software solutions. The issue I focused on there was the concept of how much control an enterprise would have over hosted software services versus those deployed in corporate data centers.

A related concern for enterprises considering hosted software solutions is the issue of reliability. Will a hosted software solution be more or less reliable than a premise based solution? Another factor affecting this choice is how much reliability is actually required for a given type of software solution?

There is no single answer to this question. It will vary from one enterprise to the next. A highly trained and well staffed enterprise IT team at one company may be able to deliver reliability in deploying and supporting software solutions that is superior to that provided by a cloud computing vendor for a hosted "cloud-based" solution. But another less well-staffed enterprise may not have that luxury.

Each and every enterprise will also have to factor in how important reliability is for each and every solution they deploy. Some solutions, such as "call center" telephony systems, require extremely high reliability and quality as they are often directly related to an enterprises ability to generate revenue.

Other solutions, such as a customer tracking database used by a company's sales force, while important, won't have as high a standard for reliability and up-time as the call center does. An example of a very popular cloud based solution for tracking sales leads and interactions is Salesforce.com. It is one of the most, if not the most, popular and successful cloud applications available today. But the requirements for reliability, while significant, don't extend to achieving the "gold standard" of "Five 9's" reliability required by a call center.

Cloud computing vendors will argue that you can get very, very high reliability in cloud computing through the redundancy of having the same SW running on multiple/clustered servers deployed across geographically distributed data-centers. The economies of scaling definitely add weight to that argument. Deployed properly, hosted solutions can be extremely fault tolerant. Google, Amazon, Yahoo and others have proven that they can support 100s of millions of users on a continuous basis with only very rare instances when their hosted solutions are not reachable and available.

However, those solutions are largely web-based solutions where the requirements to manage a lot of dynamic, real-time information that must be continuously synchronized between server and client, are minimal. These kind of applications are what are called "stateless applications". A stateless application server simplifies the server design because there is no need to dynamically allocate storage to deal with storing the entire past and peresent state of every client/server conversation in progress. If a client web-browser session dies in mid-transaction, no part of the system needs to be responsible for cleaning the present state of the server.

This kind of stateless interaction is the common case for the majority of internet hosted solutions. As an example; customer-facing banking applications. There are a massive number of cloud-deployed solutions in the banking sector while their are few if any purely "cloud-based" real-time call-center solutions is use by medium and large enterprises.

Bottom Line: Reliability requirements for one enterprise and software solution are likely to be very different from reliability requirements for another enterprise and their software solutions. Reliability, like beauty, is in the eye of the beholder.

One thing is certain though. Cloud computing solutions will only get more "beautiful" over time as the access reliability to the cloud and the redundancy of the cloud solutions continue to improve.

What does hosted software reliability have to look like from your enterprise's point of view?

Labels: Cloud Computing Reliability Server Salesforce.Com Call center Enterprise Software
blog comments powered by Disqus