socloud: distributed multi-cloud platform for deploying ... · socloud: distributed multi-cloud...

86
soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO PhD Defense Advisors: Lionel Seinturier, Philippe Merle University Lille 1, Inria, SPIRALS research team

Upload: others

Post on 28-May-2020

44 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

soCloud: distributed multi-cloud platform for deploying, executing and

managing distributed applicationsFawaz PARAISO

PhD Defense

Advisors: Lionel Seinturier, Philippe Merle

University Lille 1, Inria, SPIRALS research team

Page 2: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�2

Cloud computing in nutshellVirtualization

Pay-per-use

On-demand

Elasticity

Page 3: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�3

Context and motivation

Application fil rouge

Go to the Cloud !

View%

Compute%

Storage%

Developer

Page 4: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�4

So many problems !

Vendor Lock-in

Failures

Geo-location

Cloud-specific services

Page 5: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�5

solution: Multi-Cloud

Multi-Cloud

Do not put all your eggs in one basket

Why not applying this precept of caution for cloud computing?

Page 6: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�6

Definition

• Multi-Cloud Computing ✤ using multiple cloud providers ✤ independent ✤ no agreement between providers

What is Multi-Cloud ?

Page 7: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�7

Multi-CloudContext and motivation

74% Enterprises have a Multi-Cloud strategies

Page 8: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�8

Context and motivation

Multi-cloud is supposed to be the solution but…

Towards Multi-Cloud Computing

Page 9: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�9

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 10: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�10

Multi-cloud Provisioning

Multi-cloud Elasticity

Multi-cloud High-Availability

Multi-cloud Portability

Challenges

Page 11: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

���11

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

AppApp

App App

Your application/data

App

Write once, deploy anywhere "without any modification

Challenges

Page 12: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�12

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

Resources

App Deployment

Challenges

Page 13: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�13

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

Resources

Provisioning

Provisioning

Provisioning

Challenges

Page 14: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�14

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

App deployment

Challenges

Page 15: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�15

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

Challenges

Page 16: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�16

ChallengesMulti-cloud Portability Multi-cloud

Provisioning Multi-cloud Elasticity Multi-cloud High availability

HA

Page 17: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�17

Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High

availability

HA

HA

HA

Challenges

Page 18: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�18

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 19: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�19

Approach Layer Multi-Cloud Portability

Multi-Cloud Provisioning

Multi-Cloud Elasticity

Multi-Cloud High-Availability

moSAIC PaaS + + + -

STRATOS IaaS - + + -

MODAClouds PaaS + - - +

CompatibleOne IaaS + + - +

Cloud4SOA PaaS + + - -

soCloud PaaS + + + +

State of the art

Page 20: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�20

State of the artApproach Layer Multi-Cloud

PortabilityMulti-Cloud

ProvisioningMulti-Cloud Elasticity

Multi-Cloud High-Availability

moSAIC PaaS + + + -

STRATOS IaaS - + + -

MODAClouds PaaS + - - +

CompatibleOne IaaS + + - +

Cloud4SOA PaaS + + - -

soCloud PaaS + + + +

Page 21: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�21

State of the artApproach Layer Multi-Cloud

PortabilityMulti-Cloud

ProvisioningMulti-Cloud Elasticity

Multi-Cloud High-Availability

moSAIC PaaS + + + -

STRATOS IaaS - + + -

MODAClouds PaaS + - - +

CompatibleOne IaaS + + - +

Cloud4SOA PaaS + + - -

soCloud PaaS + + + + +

Page 22: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�22

State of the artApproach Layer Multi-Cloud

PortabilityMulti-Cloud

ProvisioningMulti-Cloud Elasticity

Multi-Cloud High-Availability

moSAIC PaaS + + + -

STRATOS IaaS - + + -

MODAClouds PaaS + - - +

CompatibleOne IaaS + + - +

Cloud4SOA PaaS + + - -

soCloud PaaS ++ ++ ++ ++

Page 23: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�23

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 24: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�24

soCloud"Platform

EC2

Azure

HerokuDeveloper

soCloud Overview

soCloud Model

distributed applications

Page 25: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�25

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 26: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�26

Objectives

‘’Provides a model to design a distributed applications in a simple and concise

manner for a Multi-Cloud environment’’

Page 27: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�27

FeaturesIdentify requirements for engineering distributed application for the Multi-Cloud

environments

Multi-Cloud"Portability

Abstraction"Standard"Structure

Multi-Cloud"Provisioning

Placement"Resources"Granularity

Multi-Cloud"Elasticity

DSL"Simple

Multi-Cloud"High-availability

Failures"Diversity

Page 28: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�28

soCloud Model

Extended SCA Model

Page 29: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�29

SCA• Service Component Architecture (SCA)

✤ Set of OASIS specifications ✤ Distributed applications ✤ Using SOA

ZIP File

Composite Component

Service Reference

Property Wire

Legend

View

Compute

Storage

SCA Contribution

Page 30: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�30

soCloud Model based on SCA

Component(

Property(

Implementa/on(

Reference(

PolicyIntent(

PolicySet(

Opera/on(

Interface( Interface.java(

Binding(CallBack(

Wire(ConstrainingType(

Implementa/on.Contribu/on(

+source(+target(

+name(+autowire(

+uri(+name(

+name(+requires(+policySets(

+name(+mul5plicity(+wireByImpl(

+conversa5onal( +callBackInterface(+interface(

Interface.WSDL(+callBackInterface(+interface(

+requires(+policySets(

+name(

+name(+mustSupply(+many(+value(+element(

0..*(

0..*(

0..*(

0..*(

0..*(

0..*(

0..*(

0..*(0..*(

1..1(

0..*(

0..*( 0..*(

0..*(0..*(

0..*(

1..*(

1..*(

1..*(

0..1(

1..*(

0..*(0..*(

requires(

requires(

requires(

requires(

target(

policySets(

policySets(

policySets(

+requires(+policySets(

Composite(

+name(+autowire(+targetNamespace(+local(

0..1(

0..1(

Service(+name(

+name(+value(

Annota/on( Implementa/on.Composite(+name(

Implementa/on.BPEL(+process(

Implementa/on.C++(+class(

Implementa/on.Java(+class(

0..*(

+name&+value&

Annota&on'

Implementa)on.Contribu)on1+name&

Extension 2

Extension 1

Page 31: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�31

soCloud Model based on SCA

+name&+value&

Annota&on'

Extension 2

Implementa)on.Contribu)on1+name&

Extension 1

Why extend SCA model ?

Page 32: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�32

soCloud Model: implementationImplementa)on.Contribu)on1+name&

• Provides high level conceptual view to a component

• Allows the deployment of the component as execution unit

component

• Structured components of distributed applications

Extension 1

Page 33: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�33

soCloud Model: annotations

• The SCA model does not allow us to take into account these non-functional requirements

• Allowing to associate non-functional requirements to a component

component

@

+name&+value&

Annota&on'

Extension 2

Page 34: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�34

soCloud Model: annotationsAnnotation+name+value

Placement "annotation

Execution "annotation

Availability "annotation

Elasticity "annotation

location closer vm database replication elasticity

service

Page 35: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�35

soCloud Model: annotationsAnnotation+name+value

Placement "annotation

Execution "annotation

Availability"annotation

Elasticity "annotation

location closer vm database replication elasticity

service

location closer

Page 36: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�36

soCloud Model: annotationsPlacement "annotation

location closer

1@location = ‘value’"2 @closer = ‘value’

Page 37: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�37

soCloud Model: annotations

Any

AmericaAfrica Asia Europe Oceania

Clouds providerAmazon EC2 Windows Azure

New york California FranceIrlandAmazon IrlandSingapourSouth Africa Australia

Paris Roubaix

(1)

(2)

(3)

1@location = ‘value’

Page 38: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�38

soCloud Model: annotations

C1 C2

Latency

@closer =‘C2’

2 @closer = ‘value’

Page 39: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�39

soCloud Model: annotationsAnnotation+name+value

Placement "annotation

Execution "annotation

Availability "annotation

Elasticity "annotation

location closer vm database replication elasticity

service

vm database

service

Page 40: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�40

soCloud Model: annotations

1 @vm = ‘type_vm’"2 @database = ‘name -> version’"3 @service = ‘name -> version’

Execution "annotation

vm database

service 1 @vm = ‘micro’"2 @database = ‘MySQL’"3 @service = ‘IronMQ -> 2.8.9’

Example

Optional

Page 41: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�41

soCloud Model: annotationsAnnotation+name+value

Placement "annotation

Execution "annotation

Availability "annotation

Elasticity "annotation

location closer vm database replication elasticity

service

replication

Page 42: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�42

soCloud Model: annotations1 @replication = ‘number’

Availability "annotation

replication

C

@replication=5

become

LB

C

Example

Page 43: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�43

soCloud Model: annotationsAnnotation+name+value

Placement "annotation

Execution "annotation

Availability "annotation

Elasticity "annotation

location closer vm database replication elasticity

service

elasticity

Page 44: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�44

soCloud Model: annotations

Elasticity "annotation

elasticity

1 @elasticity = ‘description’

C

C

scale outscale in

A DSL for describing elasticity

Page 45: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�45

soCloud Model: elasticity languageEvent Action Condition

scaling up when ( "average (cpuUsage,120s) > 80%")minimize availability when ("totalCost(costCompute,24 h) > 900 )")

Elasticity is expressed on the Resources, Cost, Quality

Page 46: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�46

soCloud Model: elasticity languageTrigger

scaling in 5 at ( 20:00 Friday)

Page 47: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�47

soCloud Model: annotations3-Tiers Application

@elasticity=‘’Scaling in "When ( totalCost(computeCost, 24 h) > 200 )’’

View

Compute

Storage

@closer=‘’Storage ‘’"@vm=‘’xlarge->Ubuntu‘’

"@location=‘’France‘’

@elasticity=‘’Scaling in "When ( totalCost(computeCost, 24 h) > 900 )’’

View

Compute

@closer=‘’Storage ‘’"@vm=‘’xlarge->Ubuntu‘’

Storage

@database=‘’MySQL’’ @location=‘’France’’""

Page 48: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�48

Summary• We show how we use annotation to describe non-functional

properties and manage each component as unit of execution • New language is proposed to effectively express the elasticity

• Paraiso F, Merle P and Seinturier L : soCloud : A service- oriented component-based PaaS for managing portability, provisioning, elasticity et high availability across multiple clouds. Springer Computing Journal (Submitted)!

• Haderer N, Paraiso F, Ribeiro C, Merle P, Rouvoy R and Seinturier L : A Cloud-based Infrastructure for Crowd-sourcing Data from Mobile Devices. Springer Book (To appear)

Page 49: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�49

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 50: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�50

soCloud Platform

• The expectations in term of execution support for distributed applications built with soCloud Model are differents

• We need to provide a Platform that manages: ✤ Multi-Cloud environments ✤ Distributed applications in Multi-Cloud environments

Page 51: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�51

soCloud Platform: conceptWe need to build Multi-Cloud Platform that:

• react to load —> Scalable• react to event —> Event-Driven• react to failure —> Fault-Tolerance• react to change —> Responsive

Reactive, flexible and self management platform

• self management —> Autonomic• is flexible —> Component-based

Page 52: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�52

soCloud Platform• soCloud Platform is a distributed component-based PaaS

for managing ✤ Portability ✤ Provisioning ✤ Elasticity ✤ High-availability

Components

Page 53: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�53

soCloud platform high level view

soCloud "master

soCloud agentUser …

soCloud applications

Page 54: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�54

soCloud Platform: Multi-Cloud centric ArchitectureTrend in the soCloud Platform Architecture

single Cloud centric Architecture

soCloud agent

soCloud master soCloud master

soCloud agent

Multi-Cloud centric Architecture

soCloud agent soCloud agent

soCloud master

Page 55: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�55

soCloud Platform detail view

Monitoring

soCloud master

soCloud agent

Load

Bal

ance

r

Service "Deployer

Node Provisioning

PaaS Deployment

SaaS Deployment

Controller

Workload "Manager

Constraint "Validator

Page 56: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�56

soCloud Platform: Fault Tolerance

Application level

Replication in different clouds

Platform level

Replication in different clouds

Let it Crash

Page 57: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�57

soCloud Platform: Fault ToleranceTo achieve this

1. Transparency is the ultimate goal [Waldo et. al] "2. Automatic component and applications replication [Waldo et. al] "3. All replications are equal and deterministic [Waldo et. al]

[Waldo et. al]-Classic paper: A Note On Distributed Computing

Page 58: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�58

soCloud Platform: Replication features• A cluster of N servers distributed across

several Clouds""

• Any (exactly one) component can be leader""

• Active replication by the leader""

• Consensus election of the leader "

• Automatic failover""

• Automatic recovery

Page 59: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�59

soCloud Platform: deployment stack

IaaS

soCloud

master

agent

SCA container

Servlet container

Java runtime

Resources

Linux/OS

Page 60: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�60

soCloud Platform: deployment stack

soCloud

master

agent

SCA container

Servlet containerPaaS

Page 61: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�61

Summary• Runtime support for managing Multi-Cloud portability,

provisioning, elasticity and high-availability • Reactive Platform

• PARAISO Fawaz et.al : A federated multi-cloud PaaS infrastructure. In IEEE 5th International Conference on Cloud Computing (CLOUD), pages 392–399., Hawaii IEEE, 2012."

• PARAISO Fawaz et al.: Managing elasticity across multiple cloud providers. In Proceedings of the 2013 international workshop on Multi-cloud applications and federated clouds, pages 53–60. ACM, 2013.

Page 62: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�62

Outline

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 63: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�63

Validation

soCloud Model

soCloud Platform

Page 64: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�64

Validation: soCloud Model

1. APISENSE application

Modeling of three concrete applications using the soCloud Model

2. DiCEPE application

3. P2P Monitoring application

Page 65: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�65

Validation: soCloud Model

Sensing'Storage'

APISENSE'Central(Node(

Sensing'Node'Sensing'Node'

store data

Publ

ish

task

Publ

ish

task

Subscribe taskSubscribe task

Create taskD

ownl

oad

sens

ing

task

Rew

ard

Send data Send

dat

a

Send data Send data

1. APISENSE application [Nicolas Haderer]

Page 66: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�66

Validation: soCloud Model

• Geo-location ✤ Paris

• Unpredictable growth of smartphones

• Availability despite failures

• Cost control

Page 67: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�67

Validation: soCloud Model<composite name="Application-APISENSE">  <component name="SensingNode">  <implementation.contribution contribution="sensingnode.zip"/>  <reference name="compute" target="CentralNode/compute"/>  <reference name="storage" target="SensingStorage/storage"/>  <annotation name="location">Paris</annotation>  <annotation name="replication">2</annotation>  <annotation name="elasticity">  scaling in when (totalCost(computeCost, 24h) > 1000)  </annotation>  </component> </composite>

Page 68: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�68

Summary

• The soCloud Model has enabled us to build an App for collecting data from smartphones, an App to integrate heterogenous CEP Engines and make Big Data, and finally a P2P distributed App

• PARAISO Fawaz et.al : A federated multi-cloud PaaS infrastructure. In IEEE 5th International Conference on Cloud Computing (CLOUD), pages 392–399., Hawaii IEEE, 2012."

• PARAISO Fawaz et. al.: A Middleware Platform to Federate Complex Event Processing. In Sixteenth IEEE International EDOC Conference, pages 113–122, Beijing, China, septembre 2012. Springer.

Page 69: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�69

Validation: soCloud Platform

1. Portability 2. High-availability 3. Elasticity 4. Overhead introduced by soCloud

Page 70: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�70

Validation: soCloud Platform

Portability

Page 71: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�71

Validation: soCloud Platform

Deployed on

10 Clouds

IaaS and PaaS

Page 72: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�72

Validation: soCloud Platform

High-availability

Page 73: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�73

Validation: soCloud Platform

= MTBF*MTBF + MTTR**

Availability

MTTR** = Mean Time To RecoverMTBF* = Mean Time Between Failure

[Marcus et. al.]

[Marcus et. al.] : Blueprints for High availability

Page 74: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�74

Validation: soCloud Platform

MTTR* (Hour) MTTR (Minute) Ratio

soCloud 0.06 Hour 3.6 Minutes -

Public clouds [IWGCR] 7.5 Hours 450 Minutes 125

MTTR* = Mean Time To Recover[IWGCR] = International Working Group on Cloud Computing Resiliency. http://iwgcr.org

Page 75: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�75

Validation: soCloud Platform

Availability

soCloud

Public clouds

=87608760 + 0.06 99.999%

=87608760 + 7.5 99.914%

If it is assumed that a failure occurs once per year

MTBF = 8760 Hours

Page 76: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�76

Validation: soCloud Platform

Elasticity

Page 77: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�77

Flash crowd effect

0"

10000"

20000"

30000"

40000"

50000"

60000"

1" 11" 21" 31" 41" 51" 61" 71" 81" 91" 101" 111" 121" 131" 141" 151" 161" 171" 181" 191"Time%(slot"of"10"seconds)%

Num

ber%o

f%req

uests%

(a)"

3-Tiers application was deployed on ten cloud providers

Total Number of Request = 3020000

Phase 1 Phase 2

Page 78: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�78

Flash crowd effect without soCloud elasticity

0"

500"

1000"

1500"

2000"

2500"

3000"

3500"

4000"

4500"

0" 20" 40" 60" 80" 100" 120" 140" 160" 180" 200"

Num

ber'o

f'failed'requ

ests'

Time'(slot"of"10"seconds)'

1.3% of requests are failed that correspond to 34039

Response Time = 65.90 s

Page 79: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�79

Flash crowd effect with soCloud elasticity

0"

10"

20"

30"

40"

50"

60"

70"

1" 11" 21" 31" 41" 51" 61" 71" 81" 91" 101" 111" 121" 131" 141" 151" 161" 171" 181" 191"

Respon

se'(me'(s)'

Time'(slot"of"10"seconds)'

Applica(on'replica(on'

Balance'load'

Response Time = 37.3 s Response Time = 23.38 sPhase 1 Phase 2

Without soCloud elasticity, the Response Time = 65.90 sNo request has failed

Page 80: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�80

Overhead introduced by soCloud

Implementation Execution time Overhead introduced by soCloud

(Application + FraSCAti) 10.85 sec -

(Application + FraSCAti + soCloud) 11,10 sec 2.3%

APP

APP

Page 81: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�81

Overhead introduced by soCloud

Implementation Execution time Overhead introduced by soCloud

(Application + FraSCati) 10.85 sec -

(Application + FraSCati + soCloud) 11,10 sec 2.3%

The benefit provided by the soCloud Platform outweighs the difference in the execution time

Page 82: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�82

Summary

• Reactivity face: ✤ Failures (High-availability) ✤ Flash crowd effect (Elasticity)

• Negligible Overhead introduced.

Page 83: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

Outline

�83

1.Context and motivation

2.Challenges

3.State of the art

4.Contributions

4.1.soCloud Model

4.2.soCloud Platform

5.Validation

6.Conclusion & Perspectives

Page 84: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�84

ConclusionsoCloud Model

• We use annotations to express non-functional requirements.

• New language is proposed to effectively express the elasticity.

• The soCloud Model is illustrated on three distributed applications deployed in Multi-Cloud environments.

• Multi-Cloud PaaS for deploying, executing and managing distributed application.

• It was deployed on ten IaaS/PaaS clouds providers. • soCloud Platform is capable of providing Multi-Cloud

high-availability and elasticity to applications deployed on it.

soCloud Platform

Page 85: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�85

PerspectivesShort-term further work

• The high-availability management despite software bugs.

• The elasticity management using reinforcement learning.

• Security for Multi-Cloud. • Sharing state between replicates. • Take into account changes of the underlying platforms.

Further Research Directions

Page 86: soCloud: distributed multi-cloud platform for deploying ... · soCloud: distributed multi-cloud platform for deploying, executing and managing distributed applications Fawaz PARAISO!

�86

Thank you !!! • PARAISO Fawaz, HADERER Nicolas, MERLE Philippe, ROUVOY Romain and SEINTURIER

Lionel : A federated multi-cloud PaaS infrastructure. In IEEE 5th International Conference on Cloud Computing (CLOUD), pages 392–399. IEEE, 2012."

• PARAISO Fawaz, HERMOSILLO Gabriel, ROUVOY Romain, MERLE Philippe, SEINTURIER Lionel : A Middleware Platform to Federate Complex Event Processing. In Sixteenth IEEE International EDOC Conference, pages 113–122, Beijing, China, septembre 2012. Springer. "

• PARAISO Fawaz, MERLE Philippe and SEINTURIER Lionel : Managing elasticity across multiple cloud providers. In Proceedings of the 2013 international workshop on Multi-cloud applications and federated clouds, pages 53–60. ACM, 2013."

• PARAISO Fawaz, MERLE Philippe and SEINTURIER Lionel : soCloud : A service- oriented component-based PaaS for managing portability, provisioning, elasticity et high availability across multiple clouds. Springer Computing Journal (To appear)!

• HADERER Nicolas, PARAISO Fawaz, RIBEIRO Christophe, MERLE Philippe, ROUVOY Romain and SEINTURIER Lionel : A Cloud-based Infrastructure for Crowd-sourcing Data from Mobile Devices. Springer Review (To appear)