open cloud computing interface

7

Click here to load reader

Upload: augusto-ciuffoletti

Post on 14-Apr-2017

265 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

Open Cloud Computing Interface (OCCI)2nd Trentino Cloud Computing Meetup — Trento

Augusto CiuffolettiUniversity of Pisa

May 26, 2016

Open Cloud Computing Interface (OCCI)

Summary

• Why OCCI?• See how simple it is• Status and perspectives

Page 2: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

The problem: too many cloud interfaces

• Each provider has a different interface• Hybrid, federated clouds need one for all• Users fear lock-in• An open standard for cloud interface

• OCCI is cloud IP

• Relationships with OASIS-TOSCA?

Open Cloud Computing Interface (OCCI)

Why OCCI is not TOSCA

• Facts:• Core OASIS-TOSCA service template definition document

introduces 11 types in 100+ pages• Core OGF-OCCI core document introduces 2 types in 20

pages

• TOSCA approach tends to be exhaustive, stronglynormative, non expandable

• OCCI approach tends to be minimalistic, costumizable,extensible

• TOSCA defines a metamodel for defining service topologyand orchestration

• OCCI defines a API interface between a user applicationand a provider

• It’s like to compare a watermelon with an apple

Page 3: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

OCCI documents structure

• One core doc:• a meta-meta model that regulates extensions• a meta-model for cloud resources (core types)• REST principles regulate the interface

• Extension documents:• add new types to core ones to model specific kinds of

service• e.g. IaaS, PaaS, SLA, Monitoring etc.

• Rendering documents• how to represent entities in various languages

• e.g. plaintext, JSON, XML etc.

• Protocol documents• the protocol used to implement REST verbs

• e.g. HTTP, XMPP etc.

Open Cloud Computing Interface (OCCI)

OCCI: instances and kinds

• A cloud provision is made of entities• The type of an entity is indicated by a kind

• A certain kind is characterized by the names and the typesof its attributes

• Kinds are organized in a hierarchy (sub-kinds)• Two core kinds: resource and link (Lego bricks)

• So you can instantiate entities that are resources or links• Actions are associated to kinds

• Not executable pieces of code, just headers

Page 4: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

Example: IaaS extension

• Historically the first extension to be defined• An interface for an IaaS provider

• Sub-kinds of the resource are: compute, storage, network• Sub-kinds of link are: network interface, storage link.

• Some attributes of a compute entity (a few more in theofficial doc):

• Architecture• RAM• Clock speed

• An action that can be applied to a compute:• restart

Open Cloud Computing Interface (OCCI)

OCCI: mixins• Mixins are not new: they exist in Simula, OO Lisp and

other languages• It is a way to add new capabilities to a class, without

inheritance:• a mixin is included, not inherited

• In OCCI a Mixin is an aggregate of attributes and actions,similar to a kind

• A given mixin cannot be instantiated, but only associatedto an already instantiated entity

• Examples:• an Ubuntu 16.04 mixin is used to declare that a compute

entity has this OS installed

• Mixins, Actions and Kinds are Categories in the meta-metamodel

That’s all for the core model

Page 5: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

OCCI: restfulness

• Each entity, type, mixin, action is referred with an URI• The four REST verbs are used to manipulate entities:

• GET to obtain the definition of an entity• PUT to create a new entity• POST to add a subordinate entity in a collection• DELETE to remove an entity

• Similar for collections of entities

Open Cloud Computing Interface (OCCI)

Extensibility

• 1st method: the provider creates new sub-classes• Example: IaaS, one further class is a server (i.e. compute

resource kind), or a network link (i.e. network resourcekind), or a network interface (i.e. interface link kind)

• 2nd method: the provider creates new mixins to allow theuser to customize entities

Page 6: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

Status of release 1.2

• Minor differences with respect to 1.1 gatheringimplementation experience

• Public comment period finished, now in final review byOGF board

• Documents in the release• Core Model (*)• IaaS Extension• PaaS Extension• SLA Extension• HTTP Protocol (*)• Text Rendering (*)• JSON Rendering (*)

• The (*) indicates that a compliant interface MUST supportthe functionalities described in the document

• A release 2.0 in under way, though unscheduled

Open Cloud Computing Interface (OCCI)

Conclusions

• The OCCI interface is implemented in many languages(Python, Java, Ruby, Erlang etc.)

• It is adapted to work with many cloud control engines(OpenStack, OpenNebula, AWS and more)

• Adopted by the EGI cloud infrastructure• My role: I designed an extension for cloud monitoring, now

an informational document, targeting the inclusion in OCCI2.0.

Page 7: Open Cloud Computing Interface

Open Cloud Computing Interface (OCCI)

Further viewing and reading

• A presentation of the OGF chair during a NIST meeting(from 35:00 to 52:00)

• seehttp://www.nist.gov/itl/cloud/cloud_comp_webcast_viii.cfm

• Browse documents in the OCCI repository:• https://redmine.ogf.org/projects/occi-wg/repository

• These slides on SlideShare:• http://www.slideshare.net/AugustoCiuffoletti/open-cloud-

computing-interface-62384843