Cloud computing is cool; everybody knows this. However, despite the allure and assumptions of openness, the platform actually has quite a bit of maturing to do around interoperability. In fact, the very definition of what openness means in a cloud environment is still up for debate.
Vendor Lock-In Now as-a-Service
Large technology implementations and frequently changing business needs have taught most IT leaders that vendor lock-in is rarely (never) a good thing. Even if the vendor is really cool or they use the word service and cloud and remote a great deal, it’s still bad. Organizations want the flexibility to move between cloud providers and implementations easily, but it’s rarely a reality.
There is a lot of momentum around cloud computing, but true maturity in terms of standards, openness and interoperability will have to develop over time just in as every technology before the cloud. There are no magic solutions. The pace of innovation in cloud computing dictates that, even if a standard emerges, vendors will continue to explore proprietary optimizations that differentiate their services. The likelihood of vendors implementing clouds the same way from storage, security, operating systems and programming interface is as likely as a yard full of snowflakes being identical -- it could theoretically happen, but if it does, larger forces are definitely at play.
Open, Interoperable Mean What Exactly?
There is now a common definition of cloud computing thanks to the NIST, but the words interoperable and open have no such commonality from source to source. Is it sharing information? Is it portability? Is it supporting the same programming interface? The answer depends on who you are and the project that’s underway.
In the past week, the Apache Software Foundation (news, site) and Microsoft (news, site) have moved forward initiatives in their personal stances on open cloud computing. The Apache Software Foundation (ASF) promoted LibCoud to a top-level project. Libcloud is a Python library that provides a vendor-agnostic interface to abstract consumers from proprietary vendor APIs.
Libcloud entered the Apache Incubator in November 2009 with a focus on cloud computing functionality. While incubating, Libcloud has gained support from some of the biggest players in the IaaS market, including Amazon EC2, IBM and Rackspace. The platform gives developers a simple API, that, once implemented, can protect from a cumbersome and time-consuming migration to another cloud platform. It won’t eliminate all of the pain, but it will help.
In addition to Apache’s project promotion, Microsoft, the former antithesis of open, has left that to Oracle. The company announced improved support for PHP on its Azure platform. Allowing more developer access is a move toward openeness and choice for developers, but Azure as a solution is not open source. Microsoft Azure has existing support for Java and Ruby, but they are not as extensive as what has been implemented for PHP. The company is attempting to make PHP development experience comparable to Microsoft’s own .Net.
The approaches are different strategies, but both are executed in the name of openness. Other initiatives are in play from the OMG and Apache’s DeltaCloud, and others will emerge. This conversation will continue unless customers start saying “I really enjoy being held hostage by my software vendors.” If you find that customer, let us know. I’m sure we can come up with a few product offerings.