Tuesday, July 29, 2008

Are Clouds Suitable for Enterprise?

For the third time (that I can remember anyway), Amazon S3 went down again. It was a short 6 hours this time, much shorter than the previous outage (I think it was a day or two?). That, however, did not change the fact that the service, which many entities come to rely on, is unavailable.

So is Amazon S3 unreliable?

From the Amazon S3 SLA:

...use commercially reasonable efforts to make Amazon S3 available with a Monthly Uptime Percentage (defined below) of at least 99.9% during any monthly billing cycle.

99.9% per month, for a month of 30 days, translates to 43 minutes. That is 43 minutes that your data on Amazon S3 is not available to you. Now, imagine you are a business relying on Amazon S3 to store your critical business data. That is 43 minutes you are unavailable to fulfill your business order.

43 minutes do not sound that bad, does it? Now, imagine, though, that your customer would like to perform a business transaction with you. And you tell your customer that he would have to come back later, when Amazon S3 is up. Ideally, you would like to tell him 43 minutes later. But seriously, you cannot know when the service will be up. It could be the next minute, it could be the next day. Congratulations, you just lost a customer. Mathematically it is one, but potentially, that customer could have brought you more in the long run. Opportunities lost.

Now that is just storage. Imagine your database (ok fine database is technically storage too) is in the cloud. Your virtual applications hosted in a Amazon EC2. Messaging service in Amazon SQS. These are infrastructural clouds. Then there are platforms in the clouds like Salesforce.

Business needs reliability. 99.9999% uptime.

Of course, to be fair, achieving 99.9999% uptime is not easy. It could be extremely costly too. It is not just a technical decision, but a financial decision too, to go Cloud hosting, to scale as you need. Weighing the risks with the cost is important.

But the topic here is Enterprise, who actually have the funds to go 99.9999% availability. For them, do they need to go to the cloud?

To the external parties, the customers view the Enterprise as a single entity. Not as two seperate entities. The Enterprise is responsible for its service to the customer. No amount of explaining (that the cloud service they are using) can qualify a service outage. To them, it is better to maintain control over their Enterprise service infrastruture, which cannot be achieved when that service is a cloud provided by another Enterprise.

That said, there are applications that can live in the cloud for the Enterprise. Applications that are not crucial to the business service execution of an Enterprise. Applications that need to scale on storage, and infrequent execution. For example, in the Identity Lifecycle Management, companies perform yearly re-certification of user system accounts, to verify if there are any unnecessary system accesses. These happen once a year for some companies, and actually require a once a year application hosting. They might also require storage of reports. But all these, while important, can afford cloud service outage. Alternatively, they could be archival of archives (better to backup your backup too!) which are not sensetive (can you rely on your service to be secure? Can they be responsible for losing your highly sensitive and important data? The ones utimately affected is you, not them, after all)

So, are clouds suitable for Enterprise? It is not a straight out yes/no answer. Crucial business functions must be always reliable. Idenfity which those are, and which are not. Those that are not are likely good candidates for cloud services.