Nuvem will define an open application programming interface for common cloud application services, allowing applications to be easily ported across the most popular cloud platforms.
An important issue for application developers is to avoid lock-in to a specific cloud application platform. By providing a cross-cloud application programming interface that abstracts common cloud platform services, Nuvem addresses this concern and strives to help make applications easily portable across multiple clouds.
In mixed cloud deployments, applications need to access platform services across cloud boundaries. Nuvem will make this possible by providing a remote API for these cloud application platform services.
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.
A Nuvem prototype is currently being developed in an Apache Tuscany sandbox, providing initial support for some cloud platform services from Google AppEngine and Amazon EC2. We look at moving this prototype to the Apache Incubator as the next step to broaden the community, expand the API to support more services and cloud platforms.
The initial code has been developed under the Apache Software License 2.0 by current Apache committers.
We recognize the importance of running the project as a meritocracy. We are eager to engage other members of the community and operate to the standard of meritocracy that Apache emphasizes; we believe this is the most effective method of growing our community and enabling widespread adoption.
The initial committer list consists of a couple of independent developers. We expect that the project will greatly increase in contribution base, and this is one aspect the project will monitor in becoming ready for graduation.
Currently, there are no other Apache projects concerned with building a cross-cloud API for application platform services. We feel that it would be a good complement to the set of Apache projects and could provide them with an API for interacting with cloud application platforms.
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.
The Nuvem developers have a long-term interest in use and maintenance of the code and there is also hope that different cloud providers will be interested in providing support for the Nuvem API and will join the project. We feel that it is important to put formal governance in place both for the project and the contributors as the project expands. We feel the ASF is the best location for this.
Luciano Resende have been involved with Open Source Software for several years; he has actively contributed to Apache Tuscany, Apache PhotArk and contributed to and/or mentored other Apache podlings. He is also part of the Apache Community Development PMC and Admin/co-Admin for the Google Summer of Code mentoring project. Raymond Fend, is also a long time committer and PMC member of Apache Tuscany and/or other Apache projects.
The project is being implemented by developers in their independent personal time and is not founded by a specific corporation.
Apache Tuscany is currently used to wire different implementations of application platform services to applications and expose these services remotely.
For clouds that does not provide a specific application service on their platform, we would work with Apache sibling projects such as Hadoop, CouchDB and Cassandra for data store, or ActiveMQ and Qpid for queueing for example, to close the gap.
We seek to build a lasting community around the Nuvem API. The most important reason for proposing this project for incubation is to gain visibility, and to allow contributors to more easily join and contribute to the project.
There isn't much of a documentation available.
The Apache Nuvem prototype has been developed in the Apache SVN repository and is available at:
https://svn.apache.org/repos/asf/tuscany/sandbox/sca-cloud-tutorial/
Nuvem is written in Java and is currently using Apache Tuscany.
N/A
Luciano Resende (lresende AT apache DOT org)
Raymond Feng (rfeng AT apache DOT org)
Senaka Fernando (senaka AT apache DOT org)
Selvaratnam Uthaiyashankar (shankar AT apache DOT org)
Sagara Gunathunga (sagara AT apache DOT org)
Jean-Sebastien Delfino (jsdelfino AT apache DOT org)
Sonal Goyal (sgoyal AT apache DOT org)
Donald Woods (dwoods AT apache DOT org)
Chintana Wilamuna (chintana AT apache DOT org)
Luciano Resende (lresende AT apache DOT org)
Jean-Frederic Clere (jfclere AT apache DOT org)
Paul Fremantle (pzf AT apache DOT org)
Ant Elder (antelder AT apache DOT org)
Donald Woods (dwoods AT apache DOT org)
Incubator PMC