The Open Cloud Manifesto was published earlier this week. I have been following this the development of this Manifesto along with the activity in the Cloud Interoperability Forum for several weeks now. Inevitably I have mixed feelings about a lot of the concepts being discussed.
What does it really mean to have an Open Cloud and why does that matter?
Advocates of Cloud Interoperability would like to be able to switch from one Cloud provider to another quickly and easily if their business requires so. They would also like to see a common API for provisioning of services and applications. For instance, something like "ODBC" for Cloud repositories. Efforts of standardization and industry cooperation always remind me of the development of GSM for wireless communication in Europe. One school of thought believes that it is better to let individual companies create their own standards and allow for open competition to select the best one. The other school of thought sees too much friction in that model and believes that cooperation by market leaders can ultimately produce a better solution faster.
In the history of technology innovation, standards have always followed the establishment of a dominant design. For the cloud, this is way too early. There are just too many viable offerings with clearly distinct functionality. First with ODBC, then with J2EE I have heard many people claim that standards reduce their risk because they could "easily" change providers (i.e. database or application servers). But was this ever the case? In spite of supporting a common connectivity layer each RDBMS offers so many unique features that porting applications is can be completely unpractical. The same with application servers, I believe. Vanilla functionality can be migrated from WebLogic to WebSphere relatively easily. But the best performing, mission critical, strategic applications are most often optimized for a specific platform.
The Cloud seems pretty open already. It is very accessible, easy to get started, well documented and it is already based on industry standards (http, XML, REST, SOAP). I can see how a number of vendors could expand their product's markets if they did not have to re-write them for each Cloud provider, but are we trying to boil the ocean?
It seems the Cloud is doing quite well and although it needs to continue to mature, why fix it if it ain't broken?