Sunday, February 1, 2009

Semantic Cloud Abstraction

The CCIF and it's members have recently focused on creating a common cloud taxonomy and ontology. I find it's starting to sound a lot like semantics, Cloud Semantics. We are in a sense defining what cloud computing is by describing it's "components" and their relationships to one another. One that is capable of expressing cloud computing and its subsequent parts in terms of a consensus data model.

So in this effort we may actually be defining a dynamic computing model that can, under certain conditions, be 'trained' to appropriately 'learn' the meaning of related cloud & infrastructure resources based on an common ontology / taxonomy. In a sense, we are talking about the Semantic Web applied to API's or more broadly, a unified cloud interface.

What is the Semantic Web and why does it matter for a unified cloud interface?

The Wikipedia describes the semantic web as "a vision of information that is understandable by computers, so that they can perform more of the tedious work involved in finding, sharing and combining information on the web."

Why not apply those same philosophies to the underlying control structures of the web (i.e. the cloud) itself? A Semantic Cloud Infrastructure capable of adapting to a variety of methodologies / architectures and completely agnostic to any specific API or platform being described. A general abstraction that doesn't care if you're focusing on a platform (Google App Engine, Salesforce, Mosso etc), application (SaaS, Web2.0, email, id/auth) or infrastructure model (EC2, Vmware, CIM, etc).

I'm the first to point out there are other groups attempting a similar approach for web services (i.e. Liberty Alliance), systems management (i.e. DMTF / CIM, OASIS) and others (i.e. OpenID/OAuth). However, I feel all of these groups lack a true consensus of how to describe "all" the aspects of the cloud using a unified semantic ontology.

I've been very impressed by the work the Distributed Management Task Force (DMTF) has achieved with their Common Information Model (CIM). It could be a key aspect of our unified cloud interface efforts. However, one of the problems a lot of these system management standards are missing is any kind of usage outside of the traditional "enterprise" system management platforms or in the case of VMWare or Microsoft, they are simply limited to their own platforms - interoperable, but only if you're using our software.

The key drivers of a unified cloud interface (UCI) is "One abstraction to Rule them All" - an API for other API's. A singular abstraction that can encompass the entire infrastructure stack as well as emerging cloud centric technologies through a unified interface. What a semantic model enables for UCI is a capability to bridge both cloud based API's such as Amazon Web Services with existing protocols and standards, regardless of the level of adoption of the underlying API's or technology. The goal is simple, develop your application once, deploy anywhere at anytime for any reason.

The other benefit of a semantic model is that of future proofing. Creating a model that assumes we as an industry are moving forward and not making any assumptions on the advancements in technology by implementing a static specification based on current technological limitations but instead creating one that can adapt as technology evolves.

The use of a resource description framework (RDF) based language may be an ideal method to describe our semantic cloud data model. The benefit to these types of RDF based ontology languages is they act as a general method for the conceptual description or modeling of information that is implemented by actual web resources. These web resources could just as easily be "cloud resources" or API's. This approach will allow us to easily take an RDF-based cloud data model and adapt it within other ontology languages or web service formats making it both platform and vendor agnostic. In applying this approach we're not so much defining how, but instead describing what. What is cloud computing?

The next steps in enabling a unified future for cloud computing will be to create a working group focused on an open semantic taxonomy and framework. This group will investigate the development of a functional unified cloud interface implementation across several cloud and infrastructure providers. To this end, we have created a Google Code project at http://code.google.com/p/unifiedcloud/ The current time frame for the public unveiling of an initial functional draft UCI implementation, taxonomy and ontology will be April 2nd at the upcoming Wall Street Cloud Computing Interoperability Forum.

If you'd like to be a contributor to the UCI working group please get in touch with me directly. If you would like to be involved without joining the UCI Working Group, you are encouraged to review and comment on the working drafts as they become available. Updates will be posted to the Cloud Computing Interoperability Forum mailing list. Feedback from people & companies actually implementing the specifications will be especially valuable and appreciated.

--Update --
Functional Implemntation of UCI on Amazon EC2 and Enomaly ECP

#DigitalNibbles Podcast Sponsored by Intel

If you would like to be a guest on the show, please get in touch.

Instagram