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.
I'm interested in hearing others opinions on Cloud Compatibility,
Portability and Interoperability and how they differ.
Original Post >
http://www.elasticvapor.com/2009/02/examining-cloud-compatibility.html
--
--
Reuven Cohen
CCIF Instigator
www.cloudforum.org
Hi, Stu.
What you call "interoperability" above is what I'd call "portability"
On Mar 2, 12:33 am, Stuart Charlton <stuartcharl...@gmail.com> wrote:
> Hi Greg,
>
> You've inspired a tl;dr post from me. ;-) I've blogged this here:http://www.stucharlton.com/blog/archives/000582.html
>
> Contents follow:
>
> I tend to think of interoperability as a gradient.
>
> The old industry stalwart from the 1990's is what I'd call "runtime
> interoperability", wherein you could write a Java EE application,
> deploy it on a Java EE application server, and (with a questionable
> amount of tweaking), get it to operate. SQL was another attempt at
> this, with mixed success. The later CORBA standards tried too, with
> the Portable Object Adapter (POA). And clearly, the ISO/ANSI C
> runtime libraries have been successful, as have many other programming
> libraries.
-- the ability to host an application (or other piece of software) on
multiple platforms with little, or at least manageable, alteration.
Is that a typo? Did you mean "Startling"? :-)
> Starting Observation: Microsoft Has A Clue.
My thoughts at http://doubleclix.wordpress.com/2009/03/02/cloud-interoperability-of-the-5th-kind/.
In the last couple of days there have been a few good posts on Cloud Interoperability from Reuven, Greg and Stu. I also had written a blog about standard cloud couple of months ago. To understand the cloud interoperability, we do not have to go that far - from the clouds I mean - just taking a cue from the world of UFOs would be enough !
1. Cloud Interoperability of the 1st Kind => Clouds exist and can be observed. This is the state we are in
2. Cloud Interoperability of the 2nd Kind => Cloud services can talk to each other
3. Cloud Interoperability of the 3rd Kind => Clouds can observe each other and some form of intelligent communication can happen
4. Cloud Interoperability of the 4th Kind => Cloud are abducted by each other - just VM movement from one cloud to another
5. Cloud Interoperability of the 5th Kind => This is where “joint, bilateral contact events produced through the conscious, voluntary and proactive … cooperative communication” happens. In essence, the clouds can work together
With this enlightenment, we can examine the POV of the cloud luminaries …
... <more on line>
…
…
As I have said earlier, we have to look at this from the four planes viz: policy, control, management & data. For Cloud Interoperability of the fifth kind, we need :
* A declarative policy plane that can be interpreted in a common way but implemented in proprietary ways as the platform sees fit
* A control plane that can be dynamic with rich attributes that are semantically equivalent across clouds (I do not care if they talk the same words so long as I know how to map them and do equivalence)
* A management plane - again built on semantically equivalent attributes so that I can make (collective and individual) inferences as and when needed
* And A data path which is the OS/technology of my choice and I do not want the cloud to change my data path characteristics.
Cheers
<k/>
From: cloud...@googlegroups.com [mailto:cloud...@googlegroups.com] On Behalf Of Stuart Charlton
Sent: Monday, March 02, 2009 9:41 AM
To: cloud...@googlegroups.com
I also really like the analogy, could be because I'm a geek who grew
up watching star trek..the original series :)
Also, would it be ok if I post this to the Cloud Interop Magazine
site? http://cloudinterop.ulitzer.com/
FYI the site gets a ridiculous amount of traffic 56,267+ viewers so
far this month and it's only the 3rd.
r/c