12
OCCIware A framework for Everything as a Service Marc Dutoo, Open Wide Jean Parpaillon, Inria Cloud Computing World Expo, Paris April, 1st 2015

OCCIware Presentation at Cloud Computing World Expo, April 1, 2015, Paris

Embed Size (px)

Citation preview

OCCIwareA framework for Everything as a Service

Marc Dutoo, Open Wide

Jean Parpaillon, Inria

Cloud Computing World Expo, ParisApril, 1st 2015

OverviewSpeakers

– Marc Dutoo, Head of R&D Dept. at Open Wide● OCCIware coordinator, SOA / Data expert

– Jean Parpaillon, R&D engineer at Inria● OW2 TC Chairman, author or erocci

Schedule

– 15' OCCI(ware) introduction

– 15' XaaS demo with erocci

OCCIware Factsheet

• 72 man month, 5,6m€ budget, sponsored by French ministry of Industry• 3 academics, 5 companies, 2 associations• To lower Cloud Computing adoption costs and break up barriers between its various implementations, layers, domains

- Especially Data Center, deployment, Big Data, Linked Data

• By bringing to OGF's Open Cloud Computing Interface (OCCI) the power of formal languages and model driven engineering (MDE)

Cloud Computing – the problem

Layers

Domains

Image : wikipedia.org

Partitioning! Lock in!

No one-fits-allsolution!

Lack of standards!

Layers

Domains

Too manystandards!

Lack of ecosystem!

Cloud Computing – the problem

Image : wikipedia.org

OCCI 101OCCI Core (metamodel)

Network

Container

Environment

Compute- memory- started- start()

Database

Application

Storage

Router

Deployable

NetworkLink

DatabaseLink

EnvironmentLink

Everything is Resource or Link, be it at …

Platformlevel

Infrastructurelevel

Applicationlevel

OCCI Extensions (models)

OCCIware Outputs• A formal, model-driven platform to manage any Cloud resource

- Formal model of OCCI, on MIT's Alloy – Inria & TSP- OCCIware Studio, on Eclipse EMF & Sirius – Obeo- OCCIware@Runtime & console, using Models@Runtime – ActiveEon & Scalair- Deploy@OCCIware - ActiveEon & UJF

• 4 Use cases- Data Center as a Service / IaaS, on Scalair infrastructure- Big Data / HPC, on ActiveEon ProActive HPC platform- Linked Open Data, on Ozwillo app store's Datacore – Pôle Numérique & Open Wide- Deployment interoperability, on Linagora & ActiveEon's

• Open Source (OW2, Eclipse) and standardization (OGF) with help from a 10-strong international Scientific Orientation Committee

01/04/15 9

OCCI Runtime Architecture

01/04/15 10

OCCI Model 1 : blog

<?xml version="1.0" encoding="UTF­8"?>

<occi:extension xmlns:occi="http://schemas.ogf.org/occi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance"  xsi:schemaLocation="http://example.org/occi occi.xsd " name="A REST blog" status="experimental" version="1">

    <occi:kind scheme="http://example.org/occi/test#" term="blog" title="A Blog">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resource" />

    <occi:attribute name="example.blog.title" type="xs:string" title="Blog title"  use="required" />

  </occi:kind>

  <occi:kind scheme="http://example.org/occi/test#" term="entry" title="entry">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resource" />

    <occi:attribute name="blog.entry.title" type="xs:string" title="Blog entry title" use="required" />

    <occi:attribute name="blog.entry.date" type="xs:string" title="Creation date"  use="optional" />

    <occi:attribute name="blog.entry.content" type="xs:string" title="Entry content" use="required" />

  </occi:kind>

  <occi:kind scheme="http://example.org/occi/test#" term="user" title="Blog user">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resources" />

    <occi:attribute name="blog.user.name" type="xs:string" title="User name"  use="required" />

    <occi:attribute name="blog.user.email" type="xs:string" title="User email" />

    <occi:attribute name="blog.user.role" type="xs:string" title="User role" />

  </occi:kind>

  <occi:kind scheme="http://example.org/occi/test#" term="author" title="Author">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="link" />

  </occi:kind>

</occi:extension>

example.blog.title : string (1..1)

blog

summary : string (0..1)

resource linktarget

sourcelinks

example.entry.title : string (1..1)example.entry.date : string (0..1)example.entry.content : string (1..1)

entry

example.user.name : string (1..1)example.user.email : string (0..1)example.user.role : string (0..1)

user

author

01/04/15 11

OCCI Model 2 : storage

<?xml version="1.0" encoding="UTF­8"?>

<occi:extension xmlns:occi="http://schemas.ogf.org/occi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance" xsi:schemaLocation="http://schemas.ogf.org/occi occi.xsd " name="Storage" status="experimental" version="1">

  <occi:kind term="container" scheme="http://schemas.ogf.org/occi/storage#"   title="Container Resource (dir)">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resource" />

    <occi:attribute name="occi.storage.size" type="xs:integer" title="Container Size (#children)" />

  </occi:kind>

  <occi:kind term="containerentry" scheme="http://schemas.ogf.org/occi/storage#"  title="Container Entry Link">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="link" />

  </occi:kind>

  <occi:kind term="data" scheme="http://schemas.ogf.org/occi/storage#"  title="Data Resource (file)">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resource" />

    <occi:attribute name="occi.storage.mimetype" type="xs:string" title="Content Mimetype" />

    <occi:attribute name="occi.storage.size" type="xs:integer" title="Content Size" />

  </occi:kind>

  <occi:mixin term="rawdata" scheme="http://schemas.ogf.org/occi/storage#" title="Raw data mixin">

    <occi:attribute name="occi.storage.raw" type="xs:anyURI" title="Data content link" />

  </occi:mixin>

  <occi:mixin term="thumbnail" scheme="http://schemas.ogf.org/occi/storage#" title="Data thumbnail (light representation)" >

    <occi:attribute name="occi.storage.thumbnail.id" type="xs:anyURI" title="" />

    <occi:attribute name="occi.storage.thumbnail.mimetype" type="xs:string" title="" />

  </occi:mixin>  

</occi:extension>

occi.storage.size : integer (0..1)

container

summary : string (0..1)

ressource linktarget

sourcelinks

occi.storage.mimetype: string (0..1)occi.storage.size : integer (0..1)

data

occi.storage.raw : uri (1..1)

rawdata : mixin

occi.storage.thumbnail.id: uri (0..1)occi.storage.thumbnail.mimetype : string (0..1)

thumbnail : mixin

01/04/15 12

OCCI Model 3 : admin

<?xml version="1.0" encoding="UTF­8"?>

<occi:extension xmlns:occi="http://schemas.ogf.org/occi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance" xsi:schemaLocation="http://erocci.ow2.org/occi occi.xsd " name="Admin Resources for erocci" status="experimental" version="1">

  <occi:kind scheme="http://erocci.ow2.org/occi/admin#" term="system" title="System Informations">

    <occi:parent scheme="http://schemas.ogf.org/occi/core#" term="resource" />

    <occi:attribute name="erocci.admin.sysname" type="xs:string" title="System Name"   immutable="true" />

    <occi:attribute name="erocci.admin.sysdescr" type="xs:string" title="System Description"  immutable="true" />

    <occi:attribute name="erocci.admin.syscontact" type="xs:string" title="System Contact" immutable="true" />

    <occi:attribute name="erocci.admin.uptime" type="xs:integer" title="System Uptime"  immutable="true" />

  </occi:kind>

</occi:extension>

summary : string (0..1)

ressource linktarget

sourcelinks

erocci.admin.sysname: string (0..1)erocci.admin.sysdescr : string (0..1)erocci.admin.syscontact : string (0..1)erocci.admin.uptime : string (0..1

admin

Any questions ?Thanks for your attention !

Contact :

http://www.occiware.org ­ marc.dutoo at openwide.fr

Partners

Sponsors

DGE (PIA) & System@tic, SCS, Images & Réseaux, PICOM, Minalogic clusters