Focusing on open APIs for enterprise applications

Open Web Magazine

Subscribe to Open Web Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Open Web Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Open Web Authors: Jnan Dash, Jayaram Krishnaswamy, Bob Gourley, Kevin Benedict, Pat Romanski

Related Topics: Cloud Computing, MultiTouch Developer Journal, Cloud Interoperability, Infrastructure On Demand, Cloudonomics Journal, Infrastructure 2.0 Journal, SOA Best Practices Digest, SOA & WOA Magazine, SOA in the Cloud Expo, Open Web Magazine

Cloud Computing: Blog Post

Examining Cloud Compatibility, Portability and Interoperability

One such example that address several of these concepts is the Open Virtualization Format (OVF)

Over the last few months there has been a growing amount of momentum around cloud interoperability. Lately it seems that a few in the industry have gotten a little confused on the differences between Cloud Compatibility, Portability and Interoperability. So I thought it might be time to take a closer look at the various terms and how they relate as well as how they differ.

First lets start with Cloud Interoperability. As I've described before, Cloud Interoperability refers to the ability for multiple cloud platforms to work together or inter-operate. A key driver of an interoperable cloud computing ecosystem is to eliminate what I call proprietary "API Propagation" whereby each new cloud service provides their own unique set of web services and application programming interfaces. Simply, the goal of Cloud Interoperability is to make it easier to use multiple cloud providers who share a common set of application interfaces as well as a consensus on the terminology / taxonomies that describe them.

The next logical question is "how?" which brings us to Cloud Compatibility & Portability, something I would describe as a subset of Interoperability. What I find interesting about Cloud Computing is that unlike traditional CPU centric software development, in a cloud computing infrastructure the underlying hardware is typically abstracted to a point that it no longer matters what type of hardware is powering your cloud. Cloud Computing is about uniformity -- all your systems acting as one. Within this vision for the cloud we now have the opportunity to uniformly interact with a virtual representation of the infrastructure stack, one that can look and act anyway we choose (See my Multi & Metaverse posts). Whether you're using a component centric virtual environment (IaaS) or an application fabric (PaaS ) is completely secondary. What matters now is ensuring that an application has a common method of programmatic interaction to the underlying resources & services. More simply, Cloud Compatibility means your application and data will always work the same way regardless of the cloud provider or platform, internally or externally, open or closed.

Lastly is that of "Cloud Portability", this is where the application components are able to be easily moved and reused regardless of the provider, location, operating system, storage, format or API. The prerequirement for portability is the generalized abstraction between the application logic, data and system interfaces. When you're targeting several cloud platforms with the same application, portability is the key issue for development & operational cost reduction as well as a critical requirment when trying to avoid cloud lock-in.

One such example that address several of these concepts is the Open Virtualization Format (OVF). The format is an "open" standard proposed by the DMTF for packaging and distributing virtual appliances or more generally software to be run in virtual machines. The proposed specification describes an "open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines". The OVF standard is not tied to any particular hypervisor or processor architecture. Like most standards, the major problem is it's only useful if all platforms / clouds actually support the OVF format. That's where a "semantic abstraction layer" comes in handy, with semantic cloud abstraction it doesn't matter if any providers actually implement the standard because it acts as a unifying agent capable of adapting to the similarities all cloud API's share while either ignoring the unique aspects.

I believe that without first a common consensus and eventually set of cloud standards, that the cloud ecosystem will likely result in a series of proprietary cloud's giving cloud users little hope of ever leaving. Cloud customers will be forced to be locked-in to a particular cloud vendor, unable to use another cloud without substantial switching costs. At the end of the day, this is the problem we're trying to solve at the CCIF.

More Stories By Reuven Cohen

An instigator, part time provocateur, bootstrapper, amateur cloud lexicographer, and purveyor of random thoughts, 140 characters at a time.

Reuven is an early innovator in the cloud computing space as the founder of Enomaly in 2004 (Acquired by Virtustream in February 2012). Enomaly was among the first to develop a self service infrastructure as a service (IaaS) platform (ECP) circa 2005. As well as SpotCloud (2011) the first commodity style cloud computing Spot Market.

Reuven is also the co-creator of CloudCamp (100+ Cities around the Globe) CloudCamp is an unconference where early adopters of Cloud Computing technologies exchange ideas and is the largest of the ‘barcamp’ style of events.