Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
OCCIware
One Cloud API To Rule Them All
Marc Dutoo, Open Wide
Etienne Juliot, Obeo
EclipseCon France, Toulouse
June, 09th ...
Overview
Speaker
– Marc Dutoo, Head of R&D Dept. at Open Wide, a Smile group company
●
OCCIware coordinator, Data / Cloud ...
Once upon a time...
Once upon a time...
• In a hole in the ground there lived a hobbit.
Once upon a time...
• In a hole in the ground there lived a hobbit.
• On his shoulders the fate of the world came 
to rest...
Wait a minute.
Err... sorry, this would have been easy
peasy, but that's folktales. Let me try
again :
• In order to save ...
Monitor energy consumption
• Not only per user, or per utility provider
company,
• but per city, region, country,
- and pe...
Linked Data & Datacore
• Linked Open Data ? That's Open Data sets that can
be cross-queried because they have been
semanti...
Linked Data, as a Service
Linked Data as a Service
(LDaaS)
But not your dad's Linked Data. If you want it to save
the world, it has to scale up the ...
Cloud Computing - The solution
• Luckily for our hobbit, there are well-
known standards, solutions and tools.
The solution The problem
• Oops… too many actually.
Cloud Computing – the problem
Cloud Computing – more
problems
And that's not like choosing one single provider for all
layers would solve the problem :
...
From a single Cloud provider...
… to a noodle plate
Cloud Computing – down the
hobbit hole
But our hobbit just wants to be a Cloud consumer !
• he doesn't want to become a Cl...
A light of hope
• But in this fragmented landscape of layers, 
APIs and implementations, each coming with 
its own tools a...
A light of hope
• One ring one Cloud API to rule them all.
Cloud Studio, with Docker
Custom Studio for LdaaS
(Linked Data as a Service)
Docker Studio
IaaS - Virtual Box machine
Docker Studio
IaaS - Open Stack machine
Docker Studio
… started !
Linked Data Studio
SaaS - Linked Data with
dedicated analytics entry point
Linked Data Studio
… using a specific mongodb
replica within its cluster !
How did we get there ?
- 1. OCCI(ware) introduction
OCCIware Product
OCCIware Studio
Design, Verify, Simulate & Develop
Everything as a Service
OCCIware Runtime
Deploy, Execu...
OCCI 101
OCCI Core
(metamodel)
Network
Container
Environment
Compute
- memory
- started
- start()
Database
Application
Sto...
OCCIware Factsheet
• 72 man year, 5,6m€ budget, sponsored by
French ministry of Industry over 2015-2018
• 3 academics, 5 c...
OCCIware Objective
Managing Everything as a Service in the clouds
Software as a Service (SaaS)
Big Data as a Service (BDaa...
How did we get there ?
- 2. Eclipse Modeling
approach
Cloud Designer – modeleur de
configuration générique
Occi tools creation with EMF
Ecore
Your Domain Model
Your Model
EClass, EReference
Occi standard
Occi Extension
Occi Confi...
Occi tools creation with EMF
Occi standard
Occi Extension
Occi Configuration
Entity, Kind, Link
Docker, Infrastructure
Ser...
Domain Model « Promotion »
Occi.ecore
MyExtension.occi
Entity, Kind, Link
Docker, Infrastructure
Ecore
EClass, EReference
...
OCCI vs Ecore
● OCCI is a meta-meta model but we don't want to
reinvent the wheel :
1) Creation of your OCCI Extension con...
OCCIware Studio Factory
<<E>>
Designer
Skeleton
e.ecore
<<E>>
Extension
e.genmod
el
e.odesign
Occie2Ecore
Ecore2Sirius EMF...
Making this process generic
● Generate a metamodel (ecore, genmodel, code) from
an OCCI Extension
● Generate the skeletton...
Making this process generic
Making this process generic
How did we get there ?
- 3. Step-by-step demo
- File > New >
Other…
- Cloud Designer >
OCCI Extension
Project
New Linked Data OCCI Extension - wizard
OCCI Extension designer
Linked Data Extension – adding kind
Linked Data Extension – adding attribute
Linked Data Extension – adding parent
Linked Data – 3 target scenarii
3.2.1.
Linked Data Extension – modeling
configuration of all 3 target scenarii
1. 2.
3.
Linked Data Extension – alternate DSL editor
Linked Data Extension – generate...
Linked Data Extension – generated files
Linked Data Extension – generated doc
Linked Data Extension – generated runtime
configuration
Linked Data Extension – register
.ecore > generate Linked Data Designer
Linked Data Designer –
Sirius editor
Linked Data Designer – adding Drag'n'Drop
from another Cloud layer configuration - 1
Linked Data Designer – adding Drag'n'Drop
from another Cloud layer configuration - 2
Running Linked Data Designer
Linked Data Designer – original LDProjects
Linked Data Designer – adding analytics-
optimized LDProject
Linked Data Demo – Docker Studio
Linked Data Demo – configuring 1 java node &
a 3-node mongodb cluster in Docker Studio
Linked Data Demo – Docker OCCI configuration
Linked Data Designer – drag'n'dropping
Infrastructure configuration from other file
Linked Data Designer – drag'n'dropped
Virtual Machine from Infrastructure config.
Linked Data Designer – selecting secondary
mongo to use for analytics instead of primary
- File > New >
Other…
- Cloud
Designer >
Java
Connector
Project
Linked Data Connector – code setup of
Datacore API's Java client
Linked Data Connector – code action by calling
Datacore API using its client
OCCI attributes
and links are
auto injected :
Linked Data Demo – Datacore before update
Data project geo_analytics_1 doesn't exist :
Debugging a query shows that data i...
Linked Data Demo – doing « update » action
Linked Data Demo – Datacore after update
Data project geo_analytics_1 has been created :
Debugging a query shows that data...
Upcoming in OCCIware
- Studio : more generators & connectors, improve existing
ones, integrate simulator, decision-making ...
Any questions ?
Thanks for your attention !
Contact : http://www.occiware.org - marc.dutoo at openwide.fr
Source : https:/...
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
Prochain SlideShare
Chargement dans…5
×

EclipseCon 2016 - OCCIware : one Cloud API to rule them all

820 vues

Publié le

The need for a Cloud consumer platform, Eclipse Modeling approach, tooling & runtime demo

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

EclipseCon 2016 - OCCIware : one Cloud API to rule them all

  1. 1. OCCIware One Cloud API To Rule Them All Marc Dutoo, Open Wide Etienne Juliot, Obeo EclipseCon France, Toulouse June, 09th 2016
  2. 2. Overview Speaker – Marc Dutoo, Head of R&D Dept. at Open Wide, a Smile group company ● OCCIware coordinator, Data / Cloud expert – Etienne Juliot, Obeo Founder ● Eclipse Sirius expert Schedule – 7' the need for a Cloud consumer platform – How did we get there ? ● 7' OCCI(ware) introduction ● 7' Eclipse Modeling approach ● Demo : 7' tooling, 7' runtime
  3. 3. Once upon a time...
  4. 4. Once upon a time... • In a hole in the ground there lived a hobbit.
  5. 5. Once upon a time... • In a hole in the ground there lived a hobbit. • On his shoulders the fate of the world came  to rest. • In order to save creation, he had to cross the  world and drop a ring in a volcano to rid it  of evil.
  6. 6. Wait a minute. Err... sorry, this would have been easy peasy, but that's folktales. Let me try again : • In order to save creation, he had to  monitor energy consumption everywhere on  Earth to overturn climate change. Now we're in the real world here.
  7. 7. Monitor energy consumption • Not only per user, or per utility provider company, • but per city, region, country, - and per activity, usage, number of children, amount of hair on feet would most probably help also. Multi-point of view data... that calls for an open world approach of data – that's Linked Data.
  8. 8. Linked Data & Datacore • Linked Open Data ? That's Open Data sets that can be cross-queried because they have been semantically reconciled together • Enter Ozwillo Datacore : - it holds data that is shared between applications of the Ozwillo app store : geographical elements, organizations, reusable app business data… - it stores it in a shardable replicated MongoDB and is built in Apache CXF / Spring & Java - it provides it through a REST API that is both web- friendly and semantic web-compatible thanks to JSON-LD, and helps developers with a Playground.
  9. 9. Linked Data, as a Service
  10. 10. Linked Data as a Service (LDaaS) But not your dad's Linked Data. If you want it to save the world, it has to scale up the whole way : • at Infrastructure level - that's IaaS : provision enough CPU & storage, for each city • at Platform level - that's PaaS : deploy java code and mongo replicated cluster shards on each of them • at Software level - that's SaaS : configure Linked Data governance i.e. models and kinds of use : - high write, non-robust data collection (home energy consumption sensor notifications) - read/query-heavy data analysis (aggregation per energy consumer, provider, city, region, country)
  11. 11. Cloud Computing - The solution • Luckily for our hobbit, there are well- known standards, solutions and tools.
  12. 12. The solution The problem • Oops… too many actually.
  13. 13. Cloud Computing – the problem
  14. 14. Cloud Computing – more problems And that's not like choosing one single provider for all layers would solve the problem : • even if there are a few PaaS+SaaS providers (G..., C... F...), • nowadays hybrid cloud is not a question anymore but the rule (save for too critical or not at all critical stuff), • (which brings the interesting question of multi Cloud monitoring) • and our hobbit still has to do the SaaS layer and the whole LDaaS assembly himself.
  15. 15. From a single Cloud provider...
  16. 16. … to a noodle plate
  17. 17. Cloud Computing – down the hobbit hole But our hobbit just wants to be a Cloud consumer ! • he doesn't want to become a Cloud provider ! there are already plentiful expert ones out there, he doesn't want to deploy Cloud provider solutions, nor use the specific expert tool required for each of them. - He just wants to smoke a good pipe ! • He'd need his own tools, but he doesn't want to write them. => Isn't there a Cloud consumer platform out there ? Hello ?
  18. 18. A light of hope • But in this fragmented landscape of layers,  APIs and implementations, each coming with  its own tools and paradigm, •there is hope to be able to control them. •to bind them and rule them all. •(did I mix up the script here ?)
  19. 19. A light of hope • One ring one Cloud API to rule them all.
  20. 20. Cloud Studio, with Docker
  21. 21. Custom Studio for LdaaS (Linked Data as a Service)
  22. 22. Docker Studio IaaS - Virtual Box machine
  23. 23. Docker Studio IaaS - Open Stack machine
  24. 24. Docker Studio … started !
  25. 25. Linked Data Studio SaaS - Linked Data with dedicated analytics entry point
  26. 26. Linked Data Studio … using a specific mongodb replica within its cluster !
  27. 27. How did we get there ? - 1. OCCI(ware) introduction
  28. 28. OCCIware Product OCCIware Studio Design, Verify, Simulate & Develop Everything as a Service OCCIware Runtime Deploy, Execute & Manage Everything as a Service OCCI specifications
  29. 29. OCCI 101 OCCI 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 … Platform level Infrastructure level Application level OCCI Extensions (models)
  30. 30. OCCIware Factsheet • 72 man year, 5,6m€ budget, sponsored by French ministry of Industry over 2015-2018 • 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)
  31. 31. OCCIware Objective Managing Everything as a Service in the clouds Software as a Service (SaaS) Big Data as a Service (BDaaS) Linked Data as a Service (LDaaS) Platform as a Service (PaaS) Container as a Service (CaaS) Infrastructure as a Service (IaaS) DataCenter as a Service (DCaaS) Network as a Service (NaaS)
  32. 32. How did we get there ? - 2. Eclipse Modeling approach
  33. 33. Cloud Designer – modeleur de configuration générique
  34. 34. Occi tools creation with EMF Ecore Your Domain Model Your Model EClass, EReference Occi standard Occi Extension Occi Configuration Entity, Kind, Link Docker, Infrastructure Server 1, VM Foo
  35. 35. Occi tools creation with EMF Occi standard Occi Extension Occi Configuration Entity, Kind, Link Docker, Infrastructure Server 1, VM Foo Ecore Your Domain Model Your Model ? EClass, EReference Ecore EClass, EReference
  36. 36. Domain Model « Promotion » Occi.ecore MyExtension.occi Entity, Kind, Link Docker, Infrastructure Ecore EClass, EReference Ecore MyExtension.ecore MyConfiguration.docker EClass, EReference Server 1, VM Foo Docker
  37. 37. OCCI vs Ecore ● OCCI is a meta-meta model but we don't want to reinvent the wheel : 1) Creation of your OCCI Extension conformed to OCCI.ecore 2) Automatic generation of yourextension.ecore domain model !! 3) Creation of your OCCI Configuration conformed to yourextension.ecore
  38. 38. OCCIware Studio Factory <<E>> Designer Skeleton e.ecore <<E>> Extension e.genmod el e.odesign Occie2Ecore Ecore2Sirius EMF genmodel EMF Java code EMF Java code EMF Java code <<E>> Configuration <<E>> Configuration <<E>> Configuration
  39. 39. Making this process generic ● Generate a metamodel (ecore, genmodel, code) from an OCCI Extension ● Generate the skeletton of a Sirius designer, ready to be customized
  40. 40. Making this process generic
  41. 41. Making this process generic
  42. 42. How did we get there ? - 3. Step-by-step demo
  43. 43. - File > New > Other… - Cloud Designer > OCCI Extension Project
  44. 44. New Linked Data OCCI Extension - wizard
  45. 45. OCCI Extension designer
  46. 46. Linked Data Extension – adding kind
  47. 47. Linked Data Extension – adding attribute
  48. 48. Linked Data Extension – adding parent
  49. 49. Linked Data – 3 target scenarii 3.2.1.
  50. 50. Linked Data Extension – modeling configuration of all 3 target scenarii 1. 2. 3.
  51. 51. Linked Data Extension – alternate DSL editor
  52. 52. Linked Data Extension – generate...
  53. 53. Linked Data Extension – generated files
  54. 54. Linked Data Extension – generated doc
  55. 55. Linked Data Extension – generated runtime configuration
  56. 56. Linked Data Extension – register
  57. 57. .ecore > generate Linked Data Designer
  58. 58. Linked Data Designer – Sirius editor
  59. 59. Linked Data Designer – adding Drag'n'Drop from another Cloud layer configuration - 1
  60. 60. Linked Data Designer – adding Drag'n'Drop from another Cloud layer configuration - 2
  61. 61. Running Linked Data Designer
  62. 62. Linked Data Designer – original LDProjects
  63. 63. Linked Data Designer – adding analytics- optimized LDProject
  64. 64. Linked Data Demo – Docker Studio
  65. 65. Linked Data Demo – configuring 1 java node & a 3-node mongodb cluster in Docker Studio
  66. 66. Linked Data Demo – Docker OCCI configuration
  67. 67. Linked Data Designer – drag'n'dropping Infrastructure configuration from other file
  68. 68. Linked Data Designer – drag'n'dropped Virtual Machine from Infrastructure config.
  69. 69. Linked Data Designer – selecting secondary mongo to use for analytics instead of primary
  70. 70. - File > New > Other… - Cloud Designer > Java Connector Project
  71. 71. Linked Data Connector – code setup of Datacore API's Java client
  72. 72. Linked Data Connector – code action by calling Datacore API using its client OCCI attributes and links are auto injected :
  73. 73. Linked Data Demo – Datacore before update Data project geo_analytics_1 doesn't exist : Debugging a query shows that data is accessed through the mongo cluster's primary :
  74. 74. Linked Data Demo – doing « update » action
  75. 75. Linked Data Demo – Datacore after update Data project geo_analytics_1 has been created : Debugging a query shows that data is accessed through the configured mongo secondary :
  76. 76. Upcoming in OCCIware - Studio : more generators & connectors, improve existing ones, integrate simulator, decision-making tool… - Complete erocci-dbus-java bridge & HTTP bridge, so that Studio-generated connectors can be deployed within the Studio, on erocci or standalone indiscriminately - Runtime : complete OCCIfication of ActiveEon ProActive Multi-IaaS connector and Roboconf PaaS manager - Develop specified OCCI monitoring solution and OCCI administration console's live Playground - Develop use cases : Datacenter, Big Data, Deployment, Linked Data - … and contribute back to OCCI 2.0 standard !
  77. 77. Any questions ? Thanks for your attention ! Contact : http://www.occiware.org - marc.dutoo at openwide.fr Source : https://github.com/occiware Partners : Sponsors : DGE (PIA) & System@tic, SCS, Images & Réseaux, PICOM, Minalogic clusters

×