Thursday, April 24, 2008

Building an Interoperability Layer ...

Over the last few years, the question of portability in the cloud computing world, has been growing steadily louder. I tackled this particular issue at OSCON in 2007. It is good to hear that Tim is advocating the building of an "interoperability layer".

With one exception, the only way that we can achieve such portability in the cloud (whether at the application, framework or hardware end of the stack) is to have open sourced standards, where the standard is a fully operating open sourced piece of software.

The Open SDK for Google's AppEngine is a fledgling example of this concept. The Open SDK is the standard and AppEngine merely one implementation of it. Within a few days of its release, it had been re-implemented elsewhere.

Open source is an essential part of portability. Though I'm supportive of the general aims of groups like DataPortability, I'm opposed to their approach. Focusing on "open standards" diminishes the value of "open source" and provides a simply marketing tool for describing a computing cloud as "open". This approach may well lead to more not less lock-in. Open standards are necessary for portability but they are not sufficient for it.

Now an open sourced standard doesn't mean that what is built upon it has to be open sourced. However as we move towards a more service based economy in IT, this is likely to become more common. This shouldn't be seen as somehow diminishing the software industry, but instead allowing for the creation of entire new industries based upon an ecosystem of competing providers. Such competitive utility computing markets will require monitoring and compliance services and allow for exchanges and brokerages. Innovation within those providers will occur at the operational rather than the product level, with competition based upon price vs QoS (quality of service) rather than feature set. This will allow for more efficient use of resources, a more effective balancing of supply and demand, and further innovation within society.

This move towards commoditisation of ubiquitous and defined services isn't a negative thing. It's going to create a wealth of opportunity, as long as we avoid the interoperability disaster of different clouds all built on different "secret sauces" with no open source standards and hence no functioning marketplace.

Few companies are ready to enter this world which competes on service rather than product. Few are ready to encourage competitors and to create an ecosystem.

This is an opportunity that is ripe for harvesting - "Carpe diem"