occiware(people.rennes.inria.fr/adrien.lebre/public/cloudday/... · 2014-09-22 ·...

37
OCCIware un cadre formel et ou2llé pour la ges2on de toute ressource en nuage Philippe Merle Inria Journées Cloud Nantes 18 septembre 2014

Upload: others

Post on 08-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  un  cadre  formel  et  ou2llé  pour  la  

ges2on  de  toute  ressource  en  nuage  Philippe  Merle  -­‐  Inria  

 Journées  Cloud  Nantes  18  septembre  2014  

 

Page 2: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Cloud  Compu>ng  Par>>oning!   Lock  in!  

No  one-­‐fits-­‐all  solu>on!  

Lack  of  standards!  

Page 3: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Cloud  Standards      

•  Amazon  EC2  –  de  facto  standard  –  but  proprietary  

•  OpenStack  –  open  source  reference  –  but  IaaS  only  

•  ISO/IEC  OVF  –  interna2onal  standard    –  but  OS  image  only  

•  DMTF  CIMI  –  interna2onal  standard    –  but  IaaS  only  

•  OASIS  CAMP  –  industrial  standard  –  but  PaaS  only  

•  OASIS  TOSCA  –  industrial  standard  –  but  SaaS  only  

No  universal  standard!  

Page 4: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

What  about  OCCI?  •  Open  Cloud  Compu>ng  Interface  

•  Open  Grid  Forum  

•  Recommenda>ons  –  Not  standard  but  could  become  

•  Not  IaaS  only!  

•  Extensible  by  construc>on  

•  Various  implementa>ons  

Page 5: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Open  Cloud  Compu>ng  Interface  

Source:  hWp://occi-­‐wg.org/about/  

e.g.,  OpenStack  CloudStack  OpenNebula  

Page 6: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCI  Specifica>ons  

Source:  Jean  Parpaillon  

Page 7: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCI  Infrastructure  

Link

(from occi :: core )

Resource

(from occi ::core )

+ summary :String [0..1 ]

StorageLink

+ occi.storagelink.deviceid :String

+ occi.storagelink.mountpoint :String [0..1 ]

+ occi.storagelink.state :Enum

Storage

+ occi.storage.size :int

+ occi.storage.state :Enum

NetworkInterface

+ occi.networkinterface.interface :String

+ occi.networkinterface.mac :String

+ occi.networkinterface.state :Enum

Network

+ occi.network.vlan :Integer [0..1 ]

+ occi.network.label :Token [0..1 ]

+ occi.network.state :Enum

Compute

+ occi.compute.architecture :Enum[0..1 ]

+ occi.compute.cores :Integer [0..1 ]

+ occi.compute.hostname :String [0..1 ]

+ occi.compute.speed :Float [0..1 ]

+ occi.compute.memory :Float [0..1 ]

+ occi.compute.state :Enum

cd: Infrastructure

target

source+

*

links

Page 8: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCI  Core  1.1  

MixinKind

- entity_type :Entity

Action

Entity

+ id :URI+ title :String [0..1 ]

Resource

+ summary :String [0..1 ]

Link

Category

+ scheme :URI+ term :String+ title :String [0..1 ]+ attributes :Set<String>

1

1

target

1

source+

*

links

0..1 *actions

1 1category

*

1

kind

*

*

mixins

0..1*

actions *

*

related

0..1

*related

Page 9: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCI  Core  1.1  (errata)  Category

scheme: URIterm: Stringtitle: String [0..1]

Kind

Mixin

Action

Entity id: URI

Resource

Link

Attr ibutename: Stringtype: String [0..1]mutable: Boolean [0..1]required: Boolean [0..1]default: String [0..1]description: String [0..1]

0..1 *actions 1* actions

* mixins

* entit ies

1 kind

*entit ies

1 target

1 source *links

0..1 parent

*

* depends

*

1 *attr ibutes

* applies  

Seman>cs?    

Seman>cs?  

Name  conflit?  

Page 10: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCI  Issues  •  Lack  of  a  formal  specifica>on  •  Only  an  informal  defini>on,  aka  UML  +  English  •  Inconsistencies,  ambigui>es,  incomplete  LLL  •  Interoperability  issues  !!!  

•  Lack  of  so`ware  engineering  tools  •  Only  run>me  frameworks  (erocci,  rOCCI,  pyOCNI,    OCCI4Java)  •  How  to  model/develop/test/…  new  kinds  of  OCCI  en>>es  

•  Lack  of  standardisa>on  •  Large  community:  Oracle,  …,  OpenStack,  CloudStack,  

OpenNebula,  …,  Compa>bleOne,  …  •  Excepts  three  big  actors  (Amazon,  Microso`,  Google)!!!  

PIA  OCCIware  

Page 11: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  

•  A  formal  framework  for  OCCI  designing  –  Think,  model  and  analyse  OCCI  extensions  

•  A  model-­‐driven  tool  chain  for  OCCI  engineering  –  Design,  develop,  test,  and  simulate  OCCI  extensions  

•  A  Models@run.>me  kernel  for  OCCI  deployment  –  Deploy  and  execute  OCCI  models  directly  

 

Page 12: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Formal  Framework  •  Think,  model  and  analyse  OCCI  extensions  

•  Various  aspects  •  Structural  •  Behavioural  •  QoS  •  SLA  •  performance  •  etc.  

•  A  formal  specifica>on  of  OCCI  –  Consistent,  unambiguous,  complete,  and  proved  

Page 13: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Formal  Framework  

•  Implemented  with  Alloy  –  a  lightweight  specifica>on  language  based    on  first-­‐order  rela>onal  logic  

–  hWp://alloy.mit.edu    

Page 14: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Alloy4OCCI  

Page 15: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Alloy4OCCI  

Page 16: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Think,  Model  and  Analyse  mul>-­‐layer  cloud  systems  

Page 17: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Model-­‐Driven  Tool  Chain    •  Design,  develop,  test,  and  simulate  OCCI  extensions  

•  A  Domain  Specific  Modeling  Language  for  OCCI  DSML  for  OCCI  

•  Metamodel  •  Textual  concrete  syntax  •  Graphical  nota>on  

•  An  Eclipse-­‐based  Studio  –  OCCIware  Editor  –  OCCIware  Modeler  –  OCCIware  Simulator  –  OCCIware  generators  

•  Documenta>on:  HTML,  PDF,  LaTex,  M$  Word,  etc.  •  Code  for  already  exis>ng  OCCI  run>mes  

–  OCCIware  transforma>ons,  aka  converters,  extractors  

Page 18: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Metamodel  

Page 19: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Textual  Concrete  Syntax  <?xml version="1.0" encoding="ASCII”?>!

<OCCI:Extension … name="OCCI Core” scheme=”http://schemas.ogf.org/occi/core”>! <kind term="entity" scheme="http://schemas.ogf.org/occi/core#" title="Entity type”>! <attribute name="occi.core.type" type="string" mutable="true"/>! </kind>! <kind term="resource" scheme=http://schemas.ogf.org/occi/core# title="Resource type" parent="//@kind[term='entity']">! <attribute name="occi.core.summary" type="string" mutable="true"/>! </kind>! <kind term="link" scheme="http://schemas.ogf.org/occi/core#" title="Link type" parent="//@kind[term='entity']"/>!</OCCI:Extension>!

Page 20: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCCI  Core  

Page 21: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCCI  Infrastructure  

Page 22: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCCI  Infrastructure  

Page 23: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

Page 24: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

Page 25: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCCI  Plahorm  

Page 26: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCCI  Applica>on  

Page 27: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  OCNI  

Page 28: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Graphical  Nota>on  

OCNI  

Page 29: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Metamodel                  

Data  Type  System  

Configu  ra2on  

En2ty  State  

Page 30: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Studio  

Eclipse  Modelling  Framework  

OCCIware  Metamodel  Ecore   OCL  

OCCIware  Editor  

OCCIware  Modeler  

OCCIware  Simulator  

OCCIware  …  

OCCIware  Generators  

   

occi2java  occi2js  occi2py  occi2ruby  occi2c  …  

occi2html  occi2pdf  

OCCIware  Transfor-­‐ma2ons  

 occi2als  als2occi  occi2uml  uml2occi  

…      

Xtext   Sirius   Kermeta   Acceleo   MMT  

Page 31: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Studio  

Page 32: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Models@run.>me  Kernel  •  Deploy  and  execute  OCCI  models  directly  •  Based  on  [email protected]  principles  

•  Repository  of  OCCI  models  •  Directory  of  OCCI  resources  •  Run>me  for  OCCI  resources  •  SLA  &  monitoring  support  •  OCCIware  Explorer  for  discovering  OCCI  resources  (HTML5/JavaScript)  

•  A  marriage  of  partner  technos  –  Erocci  (Lizenn,  OW2)  –  OCCI4Java  (TSP,  Ac>veEon)  –  Kevoree  (Inria)  –  ProAc>ve  (Ac>veEon,  OW2)  –  ROBOconf  (Linagora/UJF)  –  Compa>bleOne  (Ac>veEon,  TSP,  OW2)  –  …  

Page 33: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Erocci  Architecture  

Source:  Jean  Parpaillon  

Page 34: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Web  Explorer  

Source:  Jean  Parpaillon  

Page 35: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

OCCIware  Big  Picture  

DSML  for  OCCI  

Exis>ng  OCCI  

Run>me  

Formal  Specifica>on  

Formal  Extension  

Extension  Model  

Meta  Model  

Extension  Code  

(4)  Translate  

(9)  Translate  

(11)  Generate  

(1)    Encode  

(7)  Model  

(5)  Invent  

Conforms  to   Conforms  to  

Plugs    to  

Models  @run.>me  for  OCCI  

(12)  Deploy  

OCCI  Core   (3)  Feedback  

(2)  Refine  

(6)  Contribute  

Conforms  to  

Exis>ng  OCCI  

Run>me  

Exis>ng  OCCI  

Run>me  

OCCI  Extension  

(8)  Refine  

Graphical  Nota>on  

Textual  Syntax  

(10)  Simulate  

ar>fact   (n)  step  n   tool  

Page 36: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

Conclusion  

•  Formal  specifica>on  of  OCCI  à  OGF  then  …  •  DSML  for  OCCI  à  OGF  

•  Open  source  model-­‐driven  OCCI  tool  chain  à  Eclipse  •  Open  source  OCCIware  Models@run.>me  à  OW2  

•  Industrial  OCCI  extensions  and  use  cases  à Industrial  partners  à Industrial  consor>a  

Page 37: OCCIware(people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay/... · 2014-09-22 · OCCIware(uncadre(formeletoullé(pour(la gesondetouteressourceennuage! Philippe!Merle!*!Inria! Journées!Cloud!Nantes!

PIA  OCCIware  Partners  

Pôle  Numérique