More Open Source Cloud with Apache Nuvem?
Unless you've been stuck on an island for the past few years you can't help to have noticed the amount of effort being expended in Cloud. Whether or not you believe Cloud to be a "fundamental shift" in software, it is clear that the next few years will be Cloudy indeed. Although it is still early for many standards, we are starting to see a few arise in areas such as security/identity and basic fabric.
Typically for this open source influenced century, there are an ever increasing number of cloud-related projects in full swing. In Apache these include Deltacloud and libCloud, which aim respectively to provide "an API that abstracts the differences between clouds" and "a unified interface to the cloud". So of course if one cloud project is good, two must be better, so what does that make three? We could find out soon, because the Nuvem project may well be going to the Apache incubator stage soon. According to the information available, it will:
- Define an open API that abstracts common cloud platform services to help decouple the application logic from the particulars of a specific proprietary cloud.
- Implement the Nuvem API for popular clouds such as Google AppEngine, Amazon EC2 and Microsoft Azure.
- Initially focus on User Authentication and Authorization, Distributed Cache, Data Store, Queuing; then extend to other services such as Chat, Logging, and Debugging.
The wiki page also talks about the need for a common API to help avoid vendor lock-in when moving between cloud implementations. As with Deltacloud and libCloud, it seems that Nuvem will target Infrastructure as a Service (IaaS). It is interesting to note that according to the submitters, there is a prototype under development which uses Tuscany, the Apache SCA implementation. So perhaps this effort will go some way to answering the questions around SOA and its relationship to Cloud.
Unfortunately the article has this to say about related projects in Apache:
There are currently no efforts to define a truly open-source API to abstract common cloud platform services. Nuvem strives to create a community around building an open-source cloud application programming interface in a manner that fully allows for tried-and-true open source mechanisms such as user-driven innovation.
It's possible that the submission of the libCloud and Deltacloud efforts to Apache superseded this Nuvem documentation, which hasn't been updated since June 2010. Regardless though, hopefully there will be some clarifications and unification before (and if) the Nuvem project starts officially so that everyone can agree on a single unification API in open source.
Crippled, incompatible JPA(-ish) implementations don't count! :)
It just occurred to me...
I'd still love to see it working, though :)
In summary, from the Apache Nuvem project proposal :
"Nuvem complements Apache libCloud and Deltacloud projects (which both cover provisioning and elasticity in the cloud), providing portability of applications and application services across heterogeneous cloud environments."
Hopefully this helps clarify any confusion, and I hope to see you all helping on the Nuvem community.