An example of various cloud colors

Image via Wikipedia

Tim Bray, while discussing about the advantages of moving to the clouds during these tough economic times, was talking about the vendor lock-in being the biggest obstacle in the path towards the success of cloud computing paradigm

When times are tough, money is tight. Which means, you’d think, that the golden era of Cloud Computing, as in pay-as-you-go infrastructure, is upon us. It should be, but we’re not there yet.

He went on to explain his point further by saying

I mean a really big issue: if cloud computing is going to take off, it absolutely, totally, must be lockin-free. What that means if that I’m deploying my app on Vendor X’s platform, there have to be other vendors Y and Z such that I can pull my app and its data off X and it’ll all run with minimal tweaks on either Y or Z.

At the moment, I don’t think either the Amazon or Google offerings qualify.

Are we so deranged here in the twenty-first century that we’re going to re-enact, wide-eyed, the twin tragedies of the great desktop-suite lock-in and the great proprietary-SQL lock-in? You know, the ones where you give a platform vendor control over your IT budget? Gimme a break.

I’m simply not interested in any cloud offering at any level unless it offers zero barrier-to-exit.

DeWitt Clinton, currently working at Google and who was at Amazon during his earlier avatar, counters Tim’s arguments by saying

you can already do that in both the case of Amazon's services and App Engine. Sure, in the case of EC2 and S3 you'll need to find a new place to host the image and a new backend for the data, but Amazon isn't trying to stop you from doing that. (Actually not sure about the AMI format licensing, but I assumed it was supposed to be open.)

In App Engine's case people can run the open source userland stack (which exposes the API you code to) on other providers any time the want, and there are plenty of open source bigtable implementations to chose from. Granted, bulk export of data is still a bit of a manual process, but it is doable even today and we're working to make it even easier.

Tim’s question is very much valid as we try to push cloud computing in both the consumer space and the enterprise space. However, as DeWitt pointed out, the situation is not as bad as Tim portrays it. There are ways you can move your data to other providers from, for example, Amazon EC2 and S3 instances and Google App Engine. Simplistically speaking, it is still not as easy as copying a file and pasting it on an another service much like how we do with the file folders. However, we are seeing an ecosystem building around Amazon’s cloud offerings with companies offering different services from deployment to monitoring to analytics. I am sure similar ecosystems will come up around products of other cloud vendors too. It is just a matter of time before these companies develop solutions for data portability.

The key to success of cloud computing is the availability of open API and open standards for data. This will ensure that we can take our data wherever we go. The data portability standards are key not only for the success of Platform as a Service (PaaS) like Google App Engine or Infrastructure as a Service like Amazon EC2 or S3 but also for the SaaS players. If I add documents to Google Docs or Zoho Docs, I should be take it out whenever I want without any penalty. Unlike in the case of PaaS (where DeWitt has explained how developers can take their app and data to other providers from Google), SaaS players are expected to offer an easy one click option to export user’s data into one of the open standards based formats. It is imperative that the option to export data is made as easy as possible. In the absence of any such options to export data, no one (whether it is consumers or small businesses or enterprises) will trust and use SaaS based offerings. Data portability is the key to the success of cloud computing and any attempts to lock-in the user will only put of potential customers.

It is very important that SaaS vendors really open up their API and encourage developers to develop applications forming an ecosystem around their offering (just like how Twitter has done with their service). This will bring in smaller companies to build apps that can migrate data from one service to another, eventually, resulting in a wider adoption of cloud computing by consumers and businesses.

Comments

Post Comment