SlideShare a Scribd company logo
Open Cloud Computing
Interface
Jean Parpaillon
Inria Research Engineer
OGF-44, EGI Spring Conference, May 2015, Lisbon
21 May 2015 OGF-44 / EGI Spring Conference
REST API : a user point of view
21 May 2015 OGF-44 / EGI Spring Conference
REST API : a user point of view
●
Data format
– JSON format
– XML format
– Scalar data types (string, integer, float, etc)
●
Data access protocol
– Filtering
– Sorting
– Pagination
– Authnz (tokens, etc), return codes, etc.
●
Finally...
– Application level : data types (structures, relations, etc)
21 May 2015 OGF-44 / EGI Spring Conference
REST API : a user point of view
●
Data format
– JSON format
– XML format
– Scalar data types (string, integer, float, etc)
●
Data access protocol
– Filtering
– Sorting
– Pagination
– Authnz (tokens, etc), return codes, etc.
●
Finally...
– Application level : data types (structures, relations, etc)
Schemas ?
One to rule them all ?
A single meta-model ?
Let's speak about a standard ?
21 May 2015 OGF-44 / EGI Spring Conference
Let's speak about a standard for REST
●
A standard
– Is not a catalog of schemas
– Is not a constraint for developers
– Must be implemented (implementable)
●
A good standard
– Should allow to concentrate on the design, not the
implementation details
– Allow to build an ecosystem
– Allow to accelerate the development, not the contrary
21 May 2015 OGF-44 / EGI Spring Conference
The Open Cloud Computing Interface
●
OCCI is typed
– A ressource is an instance of a kind
– A kind is a named list of typed attributes and actions
●
e.g. : compute : # cores (integer), RAM (float), etc
– Attribute : name, type, default value, mutability, etc.
– Action : an invocable operation on a ressource
– Kinds are inheritable
21 May 2015 OGF-44 / EGI Spring Conference
The Open Cloud Computing Interface
●
OCCI is extensible
– Resource can be associated with mixins
– Mixin: a named set of additional attributes and actions
●
e.g. : IPNetworkInterface adds IP, netmask, etc to a
network interface
– User Mixin : aka « tags »
●
e.g. : http://example.com/occi/mixins#my_project1
21 May 2015 OGF-44 / EGI Spring Conference
The Open Cloud Computing Interface
●
OCCI is relational
– Links are ressources with additional attributes
●
occi.core.source : resource URI
●
occi.core.target : URI
– A bounded collection is a list of ressources of the same
kind/mixin :
●
e.g. : GET /collections/compute/
– An unbounded collection is a list of ressources with same prefix :
●
e.g. : GET /myresources/
21 May 2015 OGF-44 / EGI Spring Conference
The Open Cloud Computing Interface
●
OCCI is self-described
– GET /-/ (capabilities)
●
List of supported kinds
●
List of supported mixins
– Capabilities returns collection's URL
●
http://schemas.ogf.org/occi/infrastructure#compute
→ /collections/compute/
21 May 2015 OGF-44 / EGI Spring Conference
The Open Cloud Computing Interface
●
OCCI is meta-model based
– Model consistency checking
– Automatic model implementation
– Rendering independant
●
text/plain, application/json, …
– Transport independant
●
HTTP, ...
21 May 2015 OGF-44 / EGI Spring Conference
OCCI Ecosystem
●
Framework
– rOCCI (ruby)
– occi4java (not maintained)
– erocci (erlang/OTP)
●
Specific implementations
– CompatibleOne
– PyOCNI
– OpenStack, OpenNebula, etc
●
Limits
– Models are
language/extensions/lib dependant
– See
http://occi-wg/community/implemen
tations/
●
Tools
– DoYouSpeakOcci : tests
– Monitoring (Intel)
21 May 2015 OGF-44 / EGI Spring Conference
OCCI Infrastructure (model)
21 May 2015 OGF-44 / EGI Spring Conference
Infrastructure OCCI Model Instance
occi.storage.size = 100 000
storage1 : Storage
occi.compute.architecture = 'x64'
occi.compute.cores = 4
occi.compute.hostname = 'vm1'
occi.compute.memory = 4
vm1: Compute
occi.compute.architecture = 'x64'
occi.compute.cores = 2
occi.compute.hostname = 'vm2'
occi.compute.memory = 16
vm2: Compute
occi.network.vlan = 12
occi.network.label = 'private'
occi.network.address = '10.1.0.0/16'
occi.network.gateway = '10.1.255.254'
network1 : Network
IPNetworking
mixin
occi.storagelink.deviceid = 'nfs :...'
occi.storagelink.mountpoint = '/mnt/scratch'
StorageLink
occi.storagelink.deviceid = 'nfs :...'
occi.storagelink.mountpoint = '/mnt/scratch'
StorageLink
occi.networkinterface.mac = 'aa:bb:cc:dd:ee:11'
occi.networkinterface.address = '10.1.0.100/16'
occi.networkinterface.gateway = '10.1.255.254'
occi.networkinterface.allocation = 'static'
NetworkInterface
occi.networkinterface.mac = 'aa:bb:cc:dd:ee:11'
occi.networkinterface.address = '10.1.0.100/16'
occi.networkinterface.gateway = '10.1.255.254'
occi.networkinterface.allocation = 'static'
NetworkInterface
IPNetworkInterface IPNetworkInterface
mixin mixin
21 May 2015 OGF-44 / EGI Spring Conference
Questions / Feedback
●
Occi-wg@ogf.org

More Related Content

PPT
Methodology for the publication of Linked Open Data from small and medium siz...
PPTX
CRIS 2014 - OpenAIRE Guidelines: supporting interoperability for Literature R...
PDF
Leaving Blackboxes Behind - ELAG 2016
PDF
Seige arndt-lightning talk swib13
PDF
Geant4 Model Testing Framework: From PAW to ROOT
PDF
xlwings Presentation (Excel & Python) Swiss FinteCH event
PDF
CROSSMINER - Developer-Centric Knowledge Mining from Large Open-Source Softwa...
 
PDF
xlwings – Make Excel Fly with Python
Methodology for the publication of Linked Open Data from small and medium siz...
CRIS 2014 - OpenAIRE Guidelines: supporting interoperability for Literature R...
Leaving Blackboxes Behind - ELAG 2016
Seige arndt-lightning talk swib13
Geant4 Model Testing Framework: From PAW to ROOT
xlwings Presentation (Excel & Python) Swiss FinteCH event
CROSSMINER - Developer-Centric Knowledge Mining from Large Open-Source Softwa...
 
xlwings – Make Excel Fly with Python

What's hot (10)

PPTX
Biblio-transformation-engine slides in Open Repositories 2012
PDF
xlwings - Connecting Python with Excel
ODP
Incubating Apache Linda (ApacheCon Europe 2012)
PPTX
Open Data Mashups: linking fragments into mosaics
PPTX
Automated interpretability of linked data ontologies: an evaluation within th...
PDF
Advanced Topics in OpenAPI: Added Value Services and Protection in the OpenTr...
PDF
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
PDF
Lime broker
PDF
Apache Marmotta (incubating)
PDF
Automate your PDF factsheets with xlwings Reports
Biblio-transformation-engine slides in Open Repositories 2012
xlwings - Connecting Python with Excel
Incubating Apache Linda (ApacheCon Europe 2012)
Open Data Mashups: linking fragments into mosaics
Automated interpretability of linked data ontologies: an evaluation within th...
Advanced Topics in OpenAPI: Added Value Services and Protection in the OpenTr...
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
Lime broker
Apache Marmotta (incubating)
Automate your PDF factsheets with xlwings Reports
Ad

Similar to Open Cloud Computing Interface (20)

PDF
erocci, a scalable model-driven REST framework
PDF
OW2con'14 - erOCCI, a scalable, model-based REST API framework
 
PDF
4th Content Providers Community Call
PDF
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
PPTX
UCIAD overview
PDF
OPEN SOURCE SOFTWARE BY Ar. Abhishek Rohit.pdf
PDF
Executable papers
PPT
Resource discovery and information sharing: reaching the 2.0 turn
PPT
Agrega - JEM - 2008
PPT
Agrega - JEM workshop
PPTX
OA - Shared Canvas - TEI - Biblissima project
PPT
Modern repositories for storage of scientific information, K. Stefanov
PPT
Digital libraries, K. Stefanov
PPTX
A user journey in OpenAIRE services through the lens of repository managers -...
PDF
Semtech web-protege-tutorial
PPTX
Sakai11 la assessmentportfolio
PPTX
The nature.com ontologies portal: nature.com/ontologies
PPT
Resource Discovery Landscape
PDF
IPMI is dead, Long live Redfish
PPTX
OpenAIRE services and tools - presentation at #DI4R2016
erocci, a scalable model-driven REST framework
OW2con'14 - erOCCI, a scalable, model-based REST API framework
 
4th Content Providers Community Call
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
UCIAD overview
OPEN SOURCE SOFTWARE BY Ar. Abhishek Rohit.pdf
Executable papers
Resource discovery and information sharing: reaching the 2.0 turn
Agrega - JEM - 2008
Agrega - JEM workshop
OA - Shared Canvas - TEI - Biblissima project
Modern repositories for storage of scientific information, K. Stefanov
Digital libraries, K. Stefanov
A user journey in OpenAIRE services through the lens of repository managers -...
Semtech web-protege-tutorial
Sakai11 la assessmentportfolio
The nature.com ontologies portal: nature.com/ontologies
Resource Discovery Landscape
IPMI is dead, Long live Redfish
OpenAIRE services and tools - presentation at #DI4R2016
Ad

More from Jean Parpaillon (6)

PDF
Kerrighed cluster deployment
PDF
Facing the Open Cloud Challenges: the OCCIware approach
PDF
Ow2 webinar erocci
PDF
Industrial occi
PDF
OCCI XML representation
PDF
Configuration management state of the art
Kerrighed cluster deployment
Facing the Open Cloud Challenges: the OCCIware approach
Ow2 webinar erocci
Industrial occi
OCCI XML representation
Configuration management state of the art

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
top salesforce developer skills in 2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
System and Network Administraation Chapter 3
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
L1 - Introduction to python Backend.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Digital Strategies for Manufacturing Companies
PPTX
ai tools demonstartion for schools and inter college
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Operating system designcfffgfgggggggvggggggggg
wealthsignaloriginal-com-DS-text-... (1).pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
top salesforce developer skills in 2025.pdf
Softaken Excel to vCard Converter Software.pdf
System and Network Administraation Chapter 3
Design an Analysis of Algorithms II-SECS-1021-03
2025 Textile ERP Trends: SAP, Odoo & Oracle
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
L1 - Introduction to python Backend.pptx
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Digital Strategies for Manufacturing Companies
ai tools demonstartion for schools and inter college

Open Cloud Computing Interface

  • 1. Open Cloud Computing Interface Jean Parpaillon Inria Research Engineer OGF-44, EGI Spring Conference, May 2015, Lisbon
  • 2. 21 May 2015 OGF-44 / EGI Spring Conference REST API : a user point of view
  • 3. 21 May 2015 OGF-44 / EGI Spring Conference REST API : a user point of view ● Data format – JSON format – XML format – Scalar data types (string, integer, float, etc) ● Data access protocol – Filtering – Sorting – Pagination – Authnz (tokens, etc), return codes, etc. ● Finally... – Application level : data types (structures, relations, etc)
  • 4. 21 May 2015 OGF-44 / EGI Spring Conference REST API : a user point of view ● Data format – JSON format – XML format – Scalar data types (string, integer, float, etc) ● Data access protocol – Filtering – Sorting – Pagination – Authnz (tokens, etc), return codes, etc. ● Finally... – Application level : data types (structures, relations, etc) Schemas ? One to rule them all ? A single meta-model ?
  • 5. Let's speak about a standard ?
  • 6. 21 May 2015 OGF-44 / EGI Spring Conference Let's speak about a standard for REST ● A standard – Is not a catalog of schemas – Is not a constraint for developers – Must be implemented (implementable) ● A good standard – Should allow to concentrate on the design, not the implementation details – Allow to build an ecosystem – Allow to accelerate the development, not the contrary
  • 7. 21 May 2015 OGF-44 / EGI Spring Conference The Open Cloud Computing Interface ● OCCI is typed – A ressource is an instance of a kind – A kind is a named list of typed attributes and actions ● e.g. : compute : # cores (integer), RAM (float), etc – Attribute : name, type, default value, mutability, etc. – Action : an invocable operation on a ressource – Kinds are inheritable
  • 8. 21 May 2015 OGF-44 / EGI Spring Conference The Open Cloud Computing Interface ● OCCI is extensible – Resource can be associated with mixins – Mixin: a named set of additional attributes and actions ● e.g. : IPNetworkInterface adds IP, netmask, etc to a network interface – User Mixin : aka « tags » ● e.g. : http://example.com/occi/mixins#my_project1
  • 9. 21 May 2015 OGF-44 / EGI Spring Conference The Open Cloud Computing Interface ● OCCI is relational – Links are ressources with additional attributes ● occi.core.source : resource URI ● occi.core.target : URI – A bounded collection is a list of ressources of the same kind/mixin : ● e.g. : GET /collections/compute/ – An unbounded collection is a list of ressources with same prefix : ● e.g. : GET /myresources/
  • 10. 21 May 2015 OGF-44 / EGI Spring Conference The Open Cloud Computing Interface ● OCCI is self-described – GET /-/ (capabilities) ● List of supported kinds ● List of supported mixins – Capabilities returns collection's URL ● http://schemas.ogf.org/occi/infrastructure#compute → /collections/compute/
  • 11. 21 May 2015 OGF-44 / EGI Spring Conference The Open Cloud Computing Interface ● OCCI is meta-model based – Model consistency checking – Automatic model implementation – Rendering independant ● text/plain, application/json, … – Transport independant ● HTTP, ...
  • 12. 21 May 2015 OGF-44 / EGI Spring Conference OCCI Ecosystem ● Framework – rOCCI (ruby) – occi4java (not maintained) – erocci (erlang/OTP) ● Specific implementations – CompatibleOne – PyOCNI – OpenStack, OpenNebula, etc ● Limits – Models are language/extensions/lib dependant – See http://occi-wg/community/implemen tations/ ● Tools – DoYouSpeakOcci : tests – Monitoring (Intel)
  • 13. 21 May 2015 OGF-44 / EGI Spring Conference OCCI Infrastructure (model)
  • 14. 21 May 2015 OGF-44 / EGI Spring Conference Infrastructure OCCI Model Instance occi.storage.size = 100 000 storage1 : Storage occi.compute.architecture = 'x64' occi.compute.cores = 4 occi.compute.hostname = 'vm1' occi.compute.memory = 4 vm1: Compute occi.compute.architecture = 'x64' occi.compute.cores = 2 occi.compute.hostname = 'vm2' occi.compute.memory = 16 vm2: Compute occi.network.vlan = 12 occi.network.label = 'private' occi.network.address = '10.1.0.0/16' occi.network.gateway = '10.1.255.254' network1 : Network IPNetworking mixin occi.storagelink.deviceid = 'nfs :...' occi.storagelink.mountpoint = '/mnt/scratch' StorageLink occi.storagelink.deviceid = 'nfs :...' occi.storagelink.mountpoint = '/mnt/scratch' StorageLink occi.networkinterface.mac = 'aa:bb:cc:dd:ee:11' occi.networkinterface.address = '10.1.0.100/16' occi.networkinterface.gateway = '10.1.255.254' occi.networkinterface.allocation = 'static' NetworkInterface occi.networkinterface.mac = 'aa:bb:cc:dd:ee:11' occi.networkinterface.address = '10.1.0.100/16' occi.networkinterface.gateway = '10.1.255.254' occi.networkinterface.allocation = 'static' NetworkInterface IPNetworkInterface IPNetworkInterface mixin mixin
  • 15. 21 May 2015 OGF-44 / EGI Spring Conference Questions / Feedback ● Occi-wg@ogf.org