You can’t go a day without a dozen or so pundits preaching the value and virtues of the cloud. Most folks seem to accept its enevitable conclusion, that all things software will eventually be powered by a “cloud infrastructure” – just as soon as we can define what the cloud means. I think this diagram is one of the best logical descriptions going right now.
I don’t see a whole lot of conversation about how ISVs or enterprises can tap into the cloud without getting locked into a particular cloud provider. If you go down the list of major providers, and remove the IaaS services(which is really a hop and a skip from datacenter hosting with better pricing) , each PaaS, SaaS is a full fledged lock-in strategy for ISVs & enterprises.
If I’m an ISV and I want to write a brand new application, I must decide a couple things right out of the gate:
1. Which language I am willing to write it in?
2. What VM environment do I want to write to?
3. Do I need associated data within the providers environment(ie. google, AWS, salesforce.com, etc.)?
4. Do I want to attract other ISVs already inside the providers cloud for ease of interoperability?
More recently, Coghead(a PaaS) provider just went belly up. So now what for the customers using that platform, or better yet, the company running their application business on it? Whoops.
I was at a Virtual Appliance conference and a member of the audience asked an Amazon rep, “when will you provide the tools and capabilities that are compatible with industry standards so I can write my application using your PaaS services and then take it elsewhere(or expand it) as I need?” The Amazon rep could only say, use our IaaS service and you can build whatever you want. I don’t think that answer won the room over. But, its early days……so does anyone really care?
If an ISV needs some basic services for their application in the form of a database, a webservice, authentication, caching, load balancing, storage, etc. these are all unique per cloud provider. Google, Azure, AWS, Salesforce, etc. Then you have to decide, python, php, java, .Net….So what do ISVs do to now to build on the RIGHT cloud the first time without getting locked in? Or should they build/port(like this VMware to Xen conversion) their app to each cloud platform for maximum coverage?
Again, its early days and most ISVs will have to pick or simply go with EC2 and IaaS to avoid the analysis. I know groups are in early days of being formed to create some standards. I wish them luck, but this is big business folks, when you’ve got a lineup that includes GOOG and MSFT, I just don’t see it happening. However, I don’t think standards are the immediate answer to the conundrum. Discussion is needed in order for the next generation of applications to move past this “cloud lock-in” debate. Standards always seem to be viewed as limiting, and I think I agree with this for the most part, but de facto standards seem to move quickly among like minded smart people who are trying to accomplish the same thing. I hope in this world of connectedness, that a cloud application service abstraction can be born (or possibly a startup like Gigaspaces or Enomoly to avoid one vendor to take all.