OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
-
Upload
jean-parpaillon -
Category
Software
-
view
191 -
download
1
Transcript of 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
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
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 !
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
May 2015 OGF-44 / EGI Spring Conference 5
Consortium
May 2015 OGF-44 / EGI Spring Conference 6
Big Picture
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.)
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)
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.
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...
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.
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
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
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
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
May 2015 OGF-44 / EGI Spring Conference 16
Current Outcomes: Runtime Arch
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
May 2015 OGF-44 / EGI Spring Conference 29
Contacts
● Website: http://occiware.org ● Software: http://github.com/occiware● Twitter: @occiware ● Jean Parpaillon <[email protected]>
May 2015 OGF-44 / EGI Spring Conference 30
Questions / Feedback ?
OCCIware is supported by following business clusters