Open Cloud Computing Interface

{{Short description|Open protocol for cloud computing}}

{{Infobox standardref

| title = Open Cloud Computing Interface

| image = 200px

| status = Published

| year_started = 2010

| version = 1.2

| organization = Open Grid Forum

| base_standards =

| related_standards = Open Virtualisation Format (OVF), Cloud Data Management Interface (CDMI)

| abbreviation = OCCI

| domain = Cloud computing

| license =

| website = [http://occi-wg.org/ OCCI working group]

}}

The Open Cloud Computing Interface (OCCI) is a set of specifications delivered through the Open Grid Forum,{{Cite web |title=Open Cloud Computing Interface | Open Standard | Open Community |url=https://occi-wg.org/ |access-date=2021-11-22 |website=occi-wg.org}}[http://cloudscaling.com/blog/technology/the-open-cloud-is-coming The “Open” Cloud is Coming] 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.

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 offeringsA. 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. 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.{{cite web|title=OCCI Use Cases|url=http://www.ogf.org/Public_Comment_Docs/Documents/2009-09/occi-usecases.pdf}} 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).{{cite web|title=An Open, Interoperable Cloud|url=http://www.infoq.com/articles/open-interoperable-cloud}} 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.{{cite web|title=OCCI and SNIA|url=http://www.snia.org/cloud/CloudStorageForCloudComputing.pdf}}

Context

OCCI began in March 2009 and was initially led by RabbitMQ and the Complutense University of Madrid. Today,{{When |date= June 2013}} 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),{{Cite web |url=http://cloudcomputing.sys-con.com/node/939230 |title=New OGF Working Group to Create an API for Cloud Computing |access-date=2009-05-14 |archive-url=https://web.archive.org/web/20110718053155/http://cloudcomputing.sys-con.com/node/939230 |archive-date=2011-07-18 |url-status=dead }} using a wiki [http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/HomePage OCCI Wiki] and a mailing list {{Cite web|title=occi-wg Info Page|url=https://www.ogf.org/mailman/listinfo/occi-wg|access-date=2021-11-22|website=www.ogf.org}} 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.

ProjectLink
European Grid InfrastructureOCCI used in its multi-organization community Federated Cloud {{cite web|title=EGI Federated Cloud|url=http://www.egi.eu/infrastructure/cloud/|accessdate=Feb 26, 2014}}
OpenNebulaSupports OCCI, Amazon Web Services and its internal Sunstone GUI {{Cite web|title=OpenNebula - Flexible Enterprise Cloud Made Simple|url=https://archives.opennebula.org/documentation:archives:rel4.0:suns_views|access-date=2021-11-22|website=archives.opennebula.org}} interfaces.
CloudStackSupports OCCI, Amazon Web Services and its own internal interface {{cite web|title=OCCI Interface to CloudStack|url=http://sebgoa.blogspot.com/2013/11/occi-interface-to-cloudstack.html|accessdate=Feb 26, 2014}}
OpenStackSupports its own internal interfaces with community-supported OCCI add-on available{{cite web|title=OCCI Nova Interface to openStack|website=GitHub|url=https://github.com/IFCA/occi-os|accessdate=Feb 26, 2014}}
SLA@SOI ([https://web.archive.org/web/20150907032038/http://www.sla-at-soi.eu/ 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 ([http://compatibleone.org website])An Open Source Cloud service broker

Several implementations have been announced or released.{{Cite web|title=Open Cloud Computing Interface | Implementations |url=https://occi-wg.org/community/implementations/ |access-date=2021-11-22 |website=occi-wg.org}}[http://www.ogf.org/SAUCG/materials/2342/Cloud+Standards+Interoperability+-+Status+Update+on+OCCI+and+CDMI+Implementations.pdf Presentation on Cloud Standards Interoperability: Status Update on OCCI and CDMI Implementations at the Workshop on Science Agency Uses of Clouds and Grids]

Generic Implementations (frameworks)

Here are frameworks to build OCCI APIs.

ProjectLanguageProtocolBackends
[https://github.com/gwdg/rOCCI rOCCI]RubyHTTPOpenNebula
[https://github.com/tmetsch/pyssf pySSF]PythonHTTPmultiple
[https://jeanparpaillon.github.io/erocci erocci]erlangHTTP, HTTPS, XMPPmnesia

Complementing these are a variety of developer tools.{{Cite web |title=Open Cloud Computing Interface | Tools |url=https://occi-wg.org/community/tools/ |access-date=2021-11-22 |website=occi-wg.org}}

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 {{Cite web|title=OpenNebula Cloud API: Amazon, OGF OCCI, OpenStack, Google Cloud, DMTF CIMI or vCloud? - OpenNebula – Open Source Cloud & Edge Computing Platform|url=https://opennebula.io/opennebula-cloud-api-amazon-ogf-occi-openstack-google-cloud-dmtf-cimi-or-vcloud/|access-date=2021-11-22|website=opennebula.io|language=en-US}} 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.{{Citation|title=gwdg/rOCCI-server|date=2017-04-10|url=https://github.com/gwdg/rOCCI-server|publisher=Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen|access-date=2021-11-22}}

See also

References

{{reflist|2}}