Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide

356 views

Published on

Hear hear dev & ops alike - ever got bitten by the fragmentation of the Cloud space at deployment time, By AWS vs Azure, Open Shift vs Heroku ? in a word, ever dreamt of configuring at once your Cloud application along with both its VMs and database ? Well, the extensible Open Cloud Computing Interface (OCCI) REST API (see http://occi-wg.org/) allows just that, by addressing the whole XaaS spectrum.

And now, OCCI is getting powerboosted by Eclipse Modeling and formal foundations. Enter Cloud Designer and other outputs of the OCCIware project (See http://www.occiware.org) : multiple visual representations, one per Cloud layer and technology. XaaS Cloud extension model validation, documentation & ops scripting generation. Simulation, decision-making comparison. Connectors that bring those models to life by getting their status from common Cloud services. Runtime middleware, deployed, monitored, adminstrated. And tackling the very interesting challenge of modeling a meta API in EMF's metamodel, while staying true to EMF, Eclipse tools and the OCCI standard.

Featuring Eclipse Sirius, Acceleo generators, EMF at runtime. Coming soon to a new Eclipse Foundation project near you, if so you'd like.

This talk includes a demonstration of the Docker connector and of how to use Cloud Designer to configure a simple Cloud application's deployment on the Roboconf PaaS system and OpenStack infrastructure.

Published in: Technology
  • Login to see the comments

OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide

  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

×