The Open Cloud Computing Interface (OCCI) comprises a set of open community-lead specifications delivered through the Open Grid Forum, which define how infrastructure service providers can deliver their compute, data, and network resource offerings through a standardized interface. OCCI has a set of implementations that act as its proving-ground. It builds upon the fundamentals of the World Wide Web by endorsing the proven REST (Representational State Transfer) approach for interaction and delivers an extensible model for interacting with “as-a-Service” services.
The aim of the Open Cloud Computing Interface (OCCI) is the rapid development of a clean, open specification and API for cloud offerings. The current focus is on Infrastructure-as-a-Service (IaaS) based offerings but this might extend in future to Platform and Software as a Service offerings. IaaS is one of three primary segments of the emerging cloud computing industry in which compute, storage and network resources are provided as a services. The API is based on a review of existing service provider functionality and a set of use cases (see [1]) contributed by the working group members. OCCI is a boundary API that acts as a service front-end to an IaaS provider’s internal infrastructure management framework. It is OCCI that provides for commonly understood semantics, syntax and a means of management in the domain of consumer-to-provider IaaS. It covers management of the entire life-cycle of OCCI-defined model entities and is compatible with existing work such as the Open Virtualisation Format (OVF). Notably, it serves as an integration point for other standards efforts including DMTF, IETF and SNIA (eg see [2]) as well as research efforts such as SLA@SOI and RESERVOIR.
OCCI began in March 2009 and was initially lead by co-chairs from the once SUN Microsystems, RabbitMQ and the Universidad Complutense de Madrid. Today, the working group has a membership of over 250 members and includes numerous individuals, industry and academic parties. Some of these members that have contributed include:
- Industry: Rackspace, Oracle, Platform Computing, GoGrid, Cisco, Flexiscale, ElasticHosts, CloudCentral, RabbitMQ, CohesiveFT, CloudCentral.
- Academia & Research: SLA@SOI, RESERVOIR, Claudia Project, OpenStack, OpenNebula, DGSI.
The reasons driving the development of OCCI were identified as:
- Interoperability - Allow for different Cloud providers to work together without data schema/format translation, facade/proxying between APIs and understanding and/or dependency on multiple APIs
- Portability - No technical/vendor lock-in and enable services to move between providers allows clients easily switch between providers based on business objectives (eg cost) with minimal technical cost and enables and fosters competition.
- Integration: Implementations of the specification can be implemented with those with the latest or legacy infrastructure
Existing specifications for IaaS are provided by single vendors whereas OCCI is the first multi-vendor, community-based initiative to deliver a royalty-free, open standard API. OCCI will improve IaaS interoperability and increase competition. OCCI is also an important enabler for the creation of hybrid cloud architectures that bridge multiple data centers and cloud services. This and related open standards will lower the cost of migration to and from public clouds, delivering automated management of peak capacity, minimizing outages and reducing costs.
Figure 1: Open Cloud Computing Interface architecture.
An example of how OCCI acts as an enabler for the creation of hybrid cloud architectures is demonstrated through the successful collaboration of two major European Framework Programme 7 (FP7) research integrated projects; SLA@SOI and RESERVOIR. Both projects require the dynamic computing model offered by IaaS and each needed a means to interact with resources managed by IaaS. By choosing to implement the OCCI specification, the collaboration of both projects was significantly eased allowing for the interoperation of two very different infrastructural stacks. The importance of this ease of interoperation cannot be underestimated, especially in the context of large European projects, given their size. Further details of this work can be found in a technical report (see [3] and a soon to be released white paper.
The OCCI community works in a distributed, open community under the umbrella of the Open Grid Forum (OGF), using a wiki and mailing list for collaboration (see links below). The governance model ensures rights for every voice through the OCCI working group as an open body. Anyone can join free and participate. The OGF’s open process is comparable to Standard-bodies such as it’s sister organization IETF and the complete specification along with any companion documents are publicly and freely available in accordance with OGF’s Intellectual Property Rules. The OCCI working group will extend, contribute to and assist the efforts of other groups throughout the process. Having examined existing APIs as well as developing requirements through the collection of use cases, the group has been able to rapidly produce an implementable technical specification and implementations.
Looking forward, there is continuing work on-going with a number of OCCI implementations. Some interesting implementations include:
- OpenNebula, part of Ubuntu distributions, already supports OCCI
- SLA@SOI enables automated infrastructure service level agreements using OCCI
- The Italian National Institute of Nuclear Physics (INFN) are using OCCI to power their on-demand computing infrastructure
In parallel to this very practical and real work, the specification is currently under revision with excellent work happening in refining the core model of OCCI, seeking opportunities of exsisting standards reuse as ever and specifying how to present the OCCI core and infrastructural model using semantic web technologies using RDF, RDFa and HTML.
Many of these specification updates and details of implementations will be presented at the upcoming OGF30 conference in Brussels, Belgium.
Links:
Web site: http://www.occi-wg.org
http://www.ogf.org/Public_Comment_Docs/Documents/2010-01/occi-http.pdf
Wiki: http://forge.ogf.org/sf/go/projects.occi-wg/wiki
Mailing list: http://www.ogf.org/mailman/listinfo/occi-wg
SLA@SOI: http://www.sla-at-soi.eu
RESERVOIR: http://www.reservoir-fp7.eu
OpenNebula: http://www.opennebula.org
INFN: http://www.infn.it
OGF30: http://www.ogf.org/OGF30
[1] OCCI Use Cases: http://www.ogf.org/Public_Comment_Docs/Documents/ 2009-09/occi-usecases.pdf
[2] OCCI and SNIA: http://www.snia.org/cloud/CloudStorageForCloudComputing.pdf
[3]Using Cloud Standards for Interoperability Frameworks:
Please contact:
Andy Edmonds, Intel Ireland Limited, Ireland
Tel: +353 87 3074442
E-mail: