occiware - a formal toolchain for managing everything-as-a-service

19
A Formal Toolchain for Managing Everything-as-a- Service Jean Parpaillon Inria Research Engineer OGF-44, EGI Spring Conference, May 2015, Lisbon

Upload: jean-parpaillon

Post on 13-Apr-2017

191 views

Category:

Software


1 download

TRANSCRIPT

Page 1: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

A Formal Toolchain for

Managing Everything-as-a-

Service

Jean Parpaillon

Inria Research Engineer

OGF-44, EGI Spring Conference, May 2015, Lisbon

Page 2: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 2

Rationale

● “Everything-as-a-Service” era● Need for common languages, tools● IaaS is just a start● « Industrial OCCI », OGF-40, January 2014, Oxford● Dedicated Funding for OCCI

Page 3: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 3

Objectives

● Formal Meta-model

– Think formally about service oriented software engineering

● (Eclipse) Engineering Studio

– From design to code● Runtime

– Just run it !

Page 4: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 4

Facts and Figures

● Programme : French Ministry of Industry, « Investissements d'Avenir » (Investment for Future)

● Funding : BPI (French Public Bank of Investment)

● Overall Budget : 5,6M€, 858 men x months● Consortium : 10 partners● Involved People : 11 Strategic Orientation Committee international members● Current Status : 36 months, started from December 2014● Website : http://occiware.org ● Software Resources : http://github.com/occiware

Page 5: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 5

Consortium

Page 6: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 6

Big Picture

Page 7: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 7

Theorical Foundations (1)

● Lead : Inria● OCCI Based Formal Meta-Model

– ECore (Eclipse Modeling Framework)● Ability to generate tools: editors,

simulators, etc

– OCL (Object Constraint Language)● Explicit statements on semantic. ● Eg: mixin must not depend on itself, base types specification (URI, number, etc.)

Page 8: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 8

Theorical Foundations (2)

● OCCI DSL

– Static : describe resources– Dynamic : resources lifecycle & interactions

● OCCI Models

– Extend models to PaaS, SaaS, non-functional (runtime config, security, etc)

Page 9: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 9

(Eclipse) Engineering Studio

● Lead: OBEO (Eclipse foundation member)● Objectives

– For engineers: assist OCCI based service based software enginering

– For CIOs: simulate migration to cloud based solutions● How

– Starting from ECore, generate modelers, text editors, decision-support tool

– Generates runtime configuration/extensions: erocci, rocci, etc.

Page 10: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 10

Cloud Designer

● Design Oriented Toolchain (generic)

– Extension designer wizard– Editors: tree-based, textual, graphical, semantic validation– Documentation generator– erocci XML description generator

● Runtime oriented toolchain (generic)

– OCCI Configuration designer– OCCI runtime config generator– curl scripts generator

● Extension Specific Tools

– Infrastructure: IaaS config designer + connectors– Docker: configuration designer + connector– Other extensions...

Page 11: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 11

Runtime

● Lead: ActiveEon● Objectives

– Leverage model-driven approach for separating models / non-functional aspects

– Allow engineers to focus on core business (models), providing security/scalability/etc for free

● Components

– OCCI kernel: model interpretation, component based architecture– Connectors/backends to legacy interfaces: REST APIs, DB, etc.

Page 12: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 12

Use Cases

● Datacenter as a Service (Scalair)

– IaaS, including bare-metal, + monitoring + elasticity management● Deploy@OCCIware (Linagora)

– Deployment + (re)configuration interoperability● BigData/HPC (ActiveEon)

– Middleware deployment– JOB Scheduling

● LinkedData as a Service (Pôle Numérique)

– Open Data platform

Page 13: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 13

Dissemination

● Lead: OW2● Open Source licensed (Apache-style)● Componentization/Reusability

– Software artifacts submitted to most appropriate community

– Runtime → OW2– Engineering Studio → Eclipse– Glue: OCCI

Page 14: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 14

Current Outcomes: Meta-Model

● “A Precise Metamodel for Open Cloud Computing Interface”, IEEE CLOUD 2015, NYC, USA

– Precise metamodel● Ecore package + 5 OCL invariants + 4 OCL definitions

– Precise type classification system● Kind, Mixin inheritance, etc.

– Extensible data type system● Based on EMF● To be mapped to renderings

– Introduce Extension concept● Named set of categories

– Introduce Configuration concept● Set of entities

Page 15: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 15

Current Outcomes: Cloud Designer

● Docker dedicated designer

– Define, start, stop docker containers– Graphical UI– < 10 days dev effort

Page 16: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 16

Current Outcomes: Runtime Arch

Page 17: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 17

Current Outcomes: erocci runtime

● Model-driven generic OCCI runtime● Listeners: HTTP + XMPP listeners● Backends: Mnesia (DB), D-Bus● Pluggable authentication● Erlang/OTP based● Website: http://erocci.ow2.org

Page 18: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 29

Contacts

● Website: http://occiware.org ● Software: http://github.com/occiware● Twitter: @occiware ● Jean Parpaillon <[email protected]>

Page 19: OCCIware - A Formal Toolchain for Managing Everything-as-a-Service

May 2015 OGF-44 / EGI Spring Conference 30

Questions / Feedback ?

OCCIware is supported by following business clusters