occiware, a formal framework for everything as a service. ow2con'15, november 17, paris

19
OCCIware A framework for Everything as a Service Marc Dutoo, Open Wide OW2Con@POSS, Paris November, 18th 2015

Upload: ow2-consortium

Post on 06-Apr-2017

231 views

Category:

Technology


0 download

TRANSCRIPT

OCCIwareA framework for Everything as a Service

Marc Dutoo, Open Wide

OW2Con@POSS, ParisNovember, 18th 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

Big Picture – Studio to Runtime to all providers

Studio

XML-based

Extension

Cloud Manager

OCCIReque

sts

16/11/2015 10

Runtime Architecture

erocci

Technology providers & adopters

OCCI demo: Linked Open Data

• = Open Data sets that can be cross-queried because they have been reconciled together• Ozwillo Datacore holds data that is shared between applications of the Ozwillo app store : geographical elements, organizations, reusable app business data...• Datacore OCCI(ware) use cases = Datacore « configuration as a Service » use cases

- letting the user configure its own data models, their rights and governance policy, define custom indexes, deploy dedicated data Caches as a Service...

• => demo of OCCIware Studio & Runtime first features- demo 1 : try to dockerize current Ozwillo production architecture- demo 2 : Linked Data projects (and their models) governance

D1 – Docker-specific Studio

D2 - Studio : OCCI extension

…to doc & runtime configuration *.occie extension file > Cloud Designer > Generate textile doc, erocci runtime XML conf...

• Default configuration- backend : mnesia database (prototype, rather than Ozwillo Datacore in actual impl)

• OCCI extension configuration : Core, LDProjectvi sys.config

 {occi_backend_mnesia,

 [{schemas, [

    {path, "/tmp/occi.xml"},

    {path, "/tmp/org.occiware.ozwillo.data.models.xml"}]}]

},

… 

• Let's start it :sudo docker run ­­name="erocci_linked­data" ­v `pwd`/sys.config:/tmp/sys.config ­v `pwd`/occi.xml:/tmp/occi.xml ­v `pwd`/org.occiware.ozwillo.data.models.xml:/tmp/org.occiware.ozwillo.data.models.xml ­P ­t ­i erocci/erocci

Runtime setup (erocci)

Studio : OCCI configuration

…to curl POST to runtime scriptGovernance action example :in order to publish a stable version of the org_0 project, let's freeze all its models :

*.occic configuration file > Cloud Designer > Generate curl script :curl $COPTS ­X PUT $SERVER/project/occiware_geo_1 ­H 'Content­Type: text/occi' ­H 'Category: project; scheme="http://occiware.org/ozwillo/dcproject#"; class="kind";' ­H 'X­OCCI­Attribute: name="occiware_org_0"' ­H 'X­OCCI­Attribute: frozenModelNames="[*]"'

sh ./genOCCI_DCProjConf.sh http://localhost:32768

curl ­v ­H 'accept: text/uri­list' http://localhost:32768/collections/project/

curl ­v http://localhost:32768/collections/project/af6c7009­59cb­3f17­ba24­e77b17e9d4a8

Runtime POST & check

What now ?

• Next : turning this Linked Data as a Service prototype into an actual implementation, on top of Ozwillo Datacore !• In the works : - Studio : more generators & connectors (ex. get current runtime state and update the diagram accordingly), more automated, more complete… - Runtime : generic erocci Java integration - Deployment integration, use case platforms development / deployment / setup...

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