Cloud computing is modern. Therefore, it must be standards based, right? Well, no, not exactly. Some components are similarly handled across some cloud architectures – but the industry is not at a stage where an application or service built to run on one provider's cloud can be drawn down and swapped up to another provider's cloud without rework.
Various standards organizations are mulling different aspects of cloud computing with the intent to find common ground. The Object Management Group, the Distributed Management Task Force, Open Cloud Consortium and the National Institute of Standards and Technology are just some of the players in the burgeoning cloud standards space. In the words of Richard Soley, CEO of the Object Management Group, ''The great thing about standards is there are so many to choose from.''
Let's look at the work of one of these cloud standards undertakings, to get a sense of where cloud standards are headed from an architectural point of view. While much of its recent work has been in the area of data center issues, the Distributed Management Task Force (DMTF) has roots in distributed architecture concerns, and has launched a workgroup to address interoperability for cloud systems. That workgroup is known as the Open Cloud Standards Incubator.
The DMTF's Cloud Management Workgroup (CMWG) has taken recommendations of the Open Cloud Standards Incubator, and is working to standardize interactions between cloud environments. The group recognizes three distinct classes of 'actors' in a white paper entitled "Interoperable Clouds.'' The three cloud actors are developers, consumers and providers.
It has been said that SOA services may set the stage for cloud computing. A look at the DMTF's ''Interoperable Clouds'' may bear this out. The full names used to describe primary actors are Cloud Service Provider, Cloud Service Consumer and Cloud Service Developer.
What is the development role in all this? As stated in the DMTF literature:
The Cloud Service Developer designs and implements the components of a service. The developer describes the service in a service template. The developer interacts with the Cloud Service Provider to deploy the service components, based on the description in the templates, which the provider may customize before making them available as service offerings.
The DMTF's interoperability framework calls for provider interfaces that define how the developer and consumer interact with a provider. The architecture distinguishes between service endpoints that respond to messages data elements. Functional interfaces (over which data artifacts are exchanged) include a Service Catalog, a Security Manager and a Service managers.
Will efforts such as this ensure cloud architects do not inadvertently embrace 'API lock in?' It is too early to tell. But, on-going standards efforts for cloud today at least appear to be based in actual practice, rather than in blue-sky idealizations that may go unused.
Like others, the DMTF effort is based around describing use cases. That means that standards groups are attempting to find out how people are already solving interoperability issues in real-world implementations, and using these as the template for standards building.