Luciano Resende wrote:
On Thu, May 6, 2010 at 12:41 PM, David Lutterkort <lut...@redhat.com> wrote:

Hi,

I would like to propose the Deltacloud API[1] for addition to the Apache
incubator.

I have added the initial proposal to the Wiki[2]; it is also included
below for convenience.

There are a few additional people that have expressed interest in
becoming initial committers; I am waiting for their express consent to
list them as committers, and will add them to the Wiki as I get that.

We are looking forward to any and all feedback and/or questions on the
proposal. We already have two mentors, but would very much welcome
additional volunteers to help steer Deltacloud through the incubation
process.

David

[1] http://deltacloud.org/
[2] http://wiki.apache.org/incubator/DeltacloudProposal


Deltacloud, a cross-cloud web service API
=========================================

Abstract
--------

Deltacloud defines a web service API for interacting with cloud service
providers and resources in those clouds in a unified manner. In addition,
it consists of a number of implementations of this API for the most popular
clouds.

Proposal
--------

 * Define a REST-based API for managing and manipulating cloud resources
   in a manner that isolates the API client as much as possible from the
   particulars of specific cloud API's
 * Provide an open API definition for cloud providers for their IaaS
   clouds and a basis on which PaaS providers can layer their offering
 * Provide image management and directory capabilities as part of the API
 * The current implementation allows instance lifecycle management
   (create, start, stop, destroy, reboot), and querying of related
   resources like available images, instance sizes, and allowed instance
   actions for a number of public and private clouds
 * Currently supported are Amazon EC2, Eucalyptus, Rackspace, RimuHosting,
   GoGrid, OpenNebula, and RHEV-M
 * Future enhancements should broaden the scope of the API to include
   networking, firewalling, authentication, accounting, and image
   management

Background
----------

An important issue for cloud users is that of avoiding lock-in to a
specific cloud. By providing a cross-cloud API for
infrastructure-as-a-service (IaaS) clouds, Deltacloud addresses this
concern and strives to provide the best possible API for writing
cloud-management applications that can target multiple clouds.

There are also no efforts currently to define a truly open-source cloud
API, one for which there is a proper upstream, independent of any specific
cloud provider. Deltacloud API strives to create a community around
building an open-source cloud API in a manner that fully allows for
tried-and-true open source mechanisms such as user-driven innovation.

By providing a web-service API, Deltacloud is language agnostic, and one of
its subordinated goals is to provide a practical vocabulary for talking
about IaaS cloud resources and operations on them.

Rationale
---------

IaaS clouds provide numerous advantages to their users, for example,
making provisioning new servers more agile. If users directly use the
'native' cloud API's, they risk locking themselves in to the API of a
specific cloud provider.

There is therefore a strong need for an API that can be used across a wide
range of public and private clouds, and that can serve as the basis for
developing cloud management applications; in contrast to several existing
language-specific efforts in this direction, Deltacloud is conceived as a
web service.

This will allow the project to attract a broad community of users of the
API and cloud providers interested in offering a truly open-source API,
with a proper upstream community.

We strongly believe that the best way to drive such an API effort is by
developing the API and open-source implementations of the API side-by-side.

Initial Goals
-------------

Deltacloud is an existing open source project; initially started by Red
Hat, it has attracted a number of outside contributors. We look at moving
this project to the ASF as the next step to broaden the community, and put
the project on solid footing since the ASF governance model is well suited
for the Deltacloud project goals. The ASF is a great location for
Deltacloud to build a community and will benefit from ASL licensing.

Current Status
--------------

Deltacloud API is licensed under the LGPL:

 * Deltacloud Website (http://deltacloud.org) There are two projects
hosted there: the API under consideration here and the Aggregator (not part
of this proposal, though also open source)
 * Deltacloud git repository (
http://git.fedorahosted.org/git/?p=deltacloud/core.git;a=summary)
 * Deltacloud mailing lists
   - users (https://fedorahosted.org/mailman/listinfo/deltacloud-users)
   - developers (
https://fedorahosted.org/mailman/listinfo/deltacloud-devel)

Transition to Apache
--------------------

All current contributors have consented to relicensing the Deltacloud API
code under the Apache Software License 2.0; the code will be relicensed to
ASL 2.0 on acceptance into the Incubator.

Meritocracy
-----------

Deltacloud API accepts patches from anybody, based solely on technical
merit, and will give commit rights to contributors with a proven technical
track record. Communication is done through an IRC channel on freenode and
the two mailing lists above. The mailing lists will be migrated to the ASF
project list on acceptance into the Incubator.

Community
---------

Because it was started by Red Hat, the majority of the initial contribution
is from Red Hat employees, though we have received and accepted a number of
patches from outside sources, particularly, from a number of cloud
providers. 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.

API Developers
--------------

 * Bob McWhirter (initial developer)
 * David Lutterkort (current maintainer)
 * Michal Fojtik
 * Ivan Meredith
 * Daniel Molina Aranda

Alignment
---------

Currently, there are no other Apache projects concerned with building a
cross-cloud API as a web service.  However, we feel it will be a strong
complement to the set of Apache projects, and provide any other Apache
project an API for interacting with any cloud provider.

Known Risks
-----------

 - Orphaned Products

   Deltacloud API is actively used by other Red Hat projects. I have
   received interest in Deltacloud API both from some cloud providers and
   other organizations in joining the project. We feel that it is
   importatant 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.

 - Inexperience with Open Source

   I have been involved with Open Source Software for over a decade; I
   have actively contributed to puppet (http://www.puppetlabs.com/), where
   I was one of the earliest contributors, libvirt (http://libvirt.org/),
   virt-manager (http://virt-manager.et.redhat.com/), and a number of
   other projects. I started and maintain two projects, Augeas
   (http://augeas.net/) and netcf (https://fedorahosted.org/netcf/)
   related to systems management.

  - Homogenous Developers

  While much of the initial code base has been written by Red Hat, several
  of the backend drivers and some important aspects of the API design have
  been heavily influenced by outside contributors.

  - Reliance on Salaried Developers

  Currently the project has mostly salaried developers. Expanding the
  diversity of the project's developers is one of the areas we will
  actively work on in the Incubator, and will be a crucial factor in
  making Deltacloud a successful project.

  - Relationships with Other Apache Products

  Currently there are not really any stong relationships with other Apache
  projects. There is a certain amount of overlap with libcloud
  (http://incubator.apache.org/libcloud/), though the projects differ in
  scope and goals. At its most basic, libcloud is a Python in-process API,
  whereas Deltacloud is a web service written in Ruby.

  - An Excessive Fascination with the Apache Brand

  We seek to build a lasting community around Deltacloud API; the most
  important reason for proposing this project for the incubator is to
  clarify project governance to other parties, to allow them more easily
  to join and contribute to the project, and for the project to be managed
  and governed independently.

Documentation
-------------

 * API definition (http://deltacloud.org/api.html)
 * Supported drivers (http://deltacloud.org/drivers.html)
 * Ruby Client (http://deltacloud.org/client-ruby.html)
 * Writing new drivers (http://deltacloud.org/framework.html)

Documentation is maintained in a separate, public git repository
(
http://git.fedorahosted.org/git/?p=deltacloud/docs.git;a=shortlog;h=refs/heads/next
)

Initial Source
--------------

All sources can be found in the git repositories mentioned above.

External Dependencies
---------------------

Deltacloud is written in Ruby; there are a number of Ruby libraries that
the code depends on, most importantly:

 * Ruby
 * Sinatra (http://www.sinatrarb.com/)
 * HAML (http://haml-lang.com/)
 * thin (http://code.macournoyer.com/thin/)

A complete list of dependencies can be found in the deltacloud-core.gemspec
in the core repository. All dependencies are licensed under either the Ruby
License or the MIT License.

Cryptography
------------

Uses standard Ruby APIs for SSL/HTTPS

Required Resources
------------------

 * Mailing lists

   * deltacloud-devel
   * deltacloud-commits
   * deltacloud-private

 * Subversion

   * https://svn.apache.org/repos/asf/incubator/deltacloud

 * Issue Tracking

   * Bugzilla (deltacloud)

Initial Committers
------------------

 * David Lutterkort <lut...@redhat.com>
 * Michal Fojtik <mfoj...@redhat.com>
 * Marios Andreou <mandr...@redhat.com>
 * Andrew N Cadel <cade...@jpmorgan.com>

Sponsors
--------

 Champion
   Carl Trieloff   <cctriel...@redhat.com>

 Nominated Mentors
   Carl Trieloff   <cctriel...@redhat.com>
   Craig L Russell <craig.russ...@sun.com>

 Sponsoring Entity
   Incubator PMC



---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org



I've been playing with something somewhat related in Tuscany to abstract
different Cloud infrastructure services, so this would be of my interest.
I'd like to be involved (maybe as initial committer) ...


Same here, as I've been exploring ways to abstract Cloud infrastructure services and deployment of components to clouds like EC2 and UEC using Tuscany/Java (and recently Tuscany/C++ as well). I'd like to get involved too, maybe as an initial committer...

--
Jean-Sebastien

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to