Open Cloud Computing Interface
The Open Cloud Computing Interface (OCCI) is a set of specifications delivered through the Open Grid Forum,[1][2] for cloud computing service providers. OCCI has a set of implementations that act as proofs of concept. It builds upon World Wide Web fundamentals by using the Representational State Transfer (REST) approach for interacting with services.
Status | Published |
---|---|
Year started | 2010 |
Latest version | 1.2 |
Organization | Open Grid Forum |
Related standards | Open Virtualisation Format (OVF), Cloud Data Management Interface (CDMI) |
Domain | Cloud computing |
Abbreviation | OCCI |
Website | OCCI working group |
Scope
The aim of the Open Cloud Computing Interface is the development of an open specification and API for cloud offerings. The focus was on Infrastructure-as-a-Service (IaaS) based offerings but the interface can be extended to support Platform and Software as a Service offerings[3] as well.
IaaS is one of three primary segments of the cloud computing industry in which compute, storage and network resources are provided as services. The API is based on a review of existing service-provider functionality and a set of use cases contributed by the working group.[4] OCCI is a boundary API that acts as a service front-end to an IaaS provider’s internal infrastructure management framework. OCCI provides 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 standards such as the Open Virtualization Format (OVF) and the Cloud Data Management Interface (CDMI).[5] Notably, it serves as an integration point for standardization efforts including Distributed Management Task Force, Internet Engineering Task Force and the Storage Networking Industry Association.[6]
Context
OCCI began in March 2009 and was initially led by Sun Microsystems, RabbitMQ and the Complutense University of Madrid. Today, the working group has over 250 members and includes numerous individuals, industry and academic parties. The OCCI operates under the umbrella of the Open Grid Forum (OGF),[7] using a wiki [8] and a mailing list [9] for collaboration.
Goals
- Interoperability: allow 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 to easily switch between providers based on business objectives (e.g., cost) with minimal technical costs, thus enabling and fostering competition.
- Integration: the specification can be implemented with both the latest infrastructures or legacy ones.
- Extensibility: thanks to the use of a meta-model and capabilities discovery features, an OCCI client is able to interact with any OCCI server using provider-specific OCCI extensions.
Specific Implementations
They implement specific extensions of OCCI for a particular service: IaaS, PaaS, brokering, etc.
Project | Link |
---|---|
European Grid Infrastructure | OCCI used in its multi-organization community Federated Cloud [10] |
OpenNebula | Supports OCCI, Amazon Web Services and its internal Sunstone GUI [11] interfaces. |
CloudStack | Supports OCCI, Amazon Web Services and its own internal interface [12] |
OpenStack | Supports its own internal interfaces with community-supported OCCI add-on available[13] |
SLA@SOI (website) | automated infrastructure service-level agreements using OCCI |
Italian National Institute of Nuclear Physics (INFN) | uses OCCI to power their on-demand computing infrastructure |
CompatibleOne (website) | An Open Source Cloud service broker |
Several implementations have been announced or released.[14][15]
Generic Implementations (frameworks)
Here are frameworks to build OCCI APIs.
Project | Language | Protocol | Backends |
---|---|---|---|
rOCCI | Ruby | HTTP | OpenNebula |
pySSF | Python | HTTP | multiple |
erocci | erlang | HTTP, HTTPS, XMPP | mnesia |
Complementing these are a variety of developer tools.[16]
Alternatives
Alternative approaches include the use of the Cloud Infrastructure Management Interface (CIMI) and related standards set from DMTF and the Amazon Web Services interfaces from Amazon. (The latter have not been endorsed by any known Standards organization.)
OpenNebula conducted a survey [17] of their users in which the results showed 38% do not expose cloud APIs, their users only interface through the Sunstone GUI, 36% mostly use the Amazon Web Services API, and 26% mostly use the OpenNebula’s OCCI API or the OCCI API offered by rOCCI.[18]
References
- OGF Open Cloud Computing Interface Working Group
- The “Open” Cloud is Coming
- A. Edmonds, T. Metsch, and A. Papaspyrou, "Open Cloud Computing Interface in Data Management-related Setups," Springer Grid and Cloud Database Management, pp. 1–27, Jul. 2011.
- "OCCI Use Cases" (PDF).
- "An Open, Interoperable Cloud".
- "OCCI and SNIA" (PDF).
- "New OGF Working Group to Create an API for Cloud Computing". Archived from the original on 2011-07-18. Retrieved 2009-05-14.
- OCCI Wiki
- OCCI Mailing List
- "EGI Federated Cloud". Retrieved Feb 26, 2014.
- http://archives.opennebula.org/documentation:archives:rel4.0:suns_views
- "OCCI Interface to CloudStack". Retrieved Feb 26, 2014.
- "OCCI Nova Interface to openStack". Retrieved Feb 26, 2014.
- OCCI Implementations
- Presentation on Cloud Standards Interoperability: Status Update on OCCI and CDMI Implementations at the Workshop on Science Agency Uses of Clouds and Grids
- OCCI Developer Tools
- http://opennebula.org/opennebula-cloud-api-amazon-ogf-occi-openstack-google-cloud-dmtf-cimi-or-vcloud/
- https://github.com/gwdg/rOCCI-server