169
soCloud: Multi-cloud PaaS Fawaz Paraiso, Third year Ph.D Student Supervisors: Lionel Seinturier, Philippe Merle

soCloud: a multi-cloud paas

Embed Size (px)

DESCRIPTION

A distributed Multi-Cloud Platform

Citation preview

Page 1: soCloud: a multi-cloud paas

soCloud: Multi-cloud PaaSFawaz Paraiso, Third year Ph.D Student

Supervisors: Lionel Seinturier, Philippe Merle

Page 2: soCloud: a multi-cloud paas

2

Cloud computing

Cloud computing service models [NIST]

Page 3: soCloud: a multi-cloud paas

3

Multiple clouds

Page 4: soCloud: a multi-cloud paas

4

What is Multi-Cloud computing ?

Multi-Cloud denotes the usage of multiple, independent clouds by a client or a service. [1]

[1] Inter-Cloud Architectures and Application Brokering: Taxonomy and Survey Wiley ‘12

Page 5: soCloud: a multi-cloud paas

5

Multi-cloud adoption

Page 6: soCloud: a multi-cloud paas

6

Case study

frontend

computing

storage

Page 7: soCloud: a multi-cloud paas

7

Case study

frontend

computing

storage

Page 8: soCloud: a multi-cloud paas

8

Case study

frontend

computing

storage

Amazon EC2

Page 9: soCloud: a multi-cloud paas

9

Case study

frontend

computing

storage

Amazon EC2

Page 10: soCloud: a multi-cloud paas

10

Case study

frontend

computing

storage

Amazon EC2 CloudBees

Page 11: soCloud: a multi-cloud paas

11

Case study

frontend

computing

storage

Amazon EC2 CloudBees

Page 12: soCloud: a multi-cloud paas

12

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

Page 13: soCloud: a multi-cloud paas

13

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

Page 14: soCloud: a multi-cloud paas

14

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 15: soCloud: a multi-cloud paas

15

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 16: soCloud: a multi-cloud paas

16

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 17: soCloud: a multi-cloud paas

17

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 18: soCloud: a multi-cloud paas

18

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 19: soCloud: a multi-cloud paas

19

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 20: soCloud: a multi-cloud paas

20

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 21: soCloud: a multi-cloud paas

21

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 22: soCloud: a multi-cloud paas

22

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 23: soCloud: a multi-cloud paas

23

Case study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

#4 Multi-cloud high availability

Page 24: soCloud: a multi-cloud paas

24

Case Study

frontend

computing

storage

Page 25: soCloud: a multi-cloud paas

25

Case Study

frontend

computing

storage

Amazon EC2

Page 26: soCloud: a multi-cloud paas

26

Case Study

frontend

computing

storage

Amazon EC2

Page 27: soCloud: a multi-cloud paas

27

Case Study

frontend

computing

storage

Amazon EC2 CloudBees

Page 28: soCloud: a multi-cloud paas

28

Case Study

frontend

computing

storage

Amazon EC2 CloudBees

Page 29: soCloud: a multi-cloud paas

29

Case Study

frontend

computing

storage

Amazon EC2 CloudBees

Page 30: soCloud: a multi-cloud paas

30

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

Page 31: soCloud: a multi-cloud paas

31

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

Page 32: soCloud: a multi-cloud paas

32

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

Page 33: soCloud: a multi-cloud paas

33

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

frontend computing storage

Page 34: soCloud: a multi-cloud paas

34

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

frontend computing storage

#1 Multi-cloud Portability

Page 35: soCloud: a multi-cloud paas

35

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

frontend computing storage

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 36: soCloud: a multi-cloud paas

36

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 37: soCloud: a multi-cloud paas

37

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 38: soCloud: a multi-cloud paas

38

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 39: soCloud: a multi-cloud paas

39

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

Page 40: soCloud: a multi-cloud paas

40

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 41: soCloud: a multi-cloud paas

41

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 42: soCloud: a multi-cloud paas

42

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 43: soCloud: a multi-cloud paas

43

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

Page 44: soCloud: a multi-cloud paas

44

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

#4 Multi-cloud high availability

Page 45: soCloud: a multi-cloud paas

45

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

#4 Multi-cloud high availability

Page 46: soCloud: a multi-cloud paas

46

Case Study

frontend

computing

storage

Amazon EC2 CloudBees Heroku

#1 Multi-cloud Portability

#2 Multi-cloud Provisioning

#3 Multi-cloud Elasticity

#4 Multi-cloud high availability

Page 47: soCloud: a multi-cloud paas

47

Agenda

Context

Case Study

Challenges

State Of the Art

Contribution

Evaluation

Conclusion & Perspective

Page 48: soCloud: a multi-cloud paas

48

Challenges

Page 49: soCloud: a multi-cloud paas

49

Challenges

Multi-CloudPortability

Page 50: soCloud: a multi-cloud paas

50

Challenges

Multi-CloudPortability

Multi-CloudProvisioning

Page 51: soCloud: a multi-cloud paas

51

Challenges

Multi-CloudPortability

Multi-CloudProvisioning

Multi-Cloud Elasticity

Page 52: soCloud: a multi-cloud paas

52

Challenges

Multi-CloudPortability

Multi-CloudProvisioning

Multi-Cloud Elasticity

Multi-CloudHigh

availability

Page 53: soCloud: a multi-cloud paas

53

Agenda

Context

Case Study

Challenges

State of the Art

Contribution

Evaluation

Conclusion & Perspective

Page 54: soCloud: a multi-cloud paas

54

Taxonomy of multiple clouds

Inter-Cloud

Cloud FederationMulti-Cloud

Cloud Broker

[1] Inter-Cloud Architectures and Application Brokering: Taxonomy and Survey Wiley ‘12

[1]

Page 55: soCloud: a multi-cloud paas

55

Taxonomy of multiple clouds

Inter-Cloud

Cloud FederationMulti-Cloud

Service-based Multi-Cloud

Library-based Multi-Cloud

Hybrid Cloud

Cloud Blueprint

Cloud Broker

SLA-based Broker

Triggered-action Broker

Cloud Bursting

Peer-to-Peer Federation

Centralized Federation

Cross-Cloud

Hierarchical Federations

Multi-tier Cloud

Vertical Federations

Horizontal Federations

Horizontal Dynamic Federation

SkyComputing

AggregatedClouds

part of

part of

can use

is a

is ais a

is ais ais a

is ais ais a

is ais a

is a

is a is a

is ais a

is a

can use

Deployableservice

Hostedservice

is a is a

[1] Inter-Cloud Architectures and Application Brokering: Taxonomy and Survey Wiley ‘12

[1]

Page 56: soCloud: a multi-cloud paas

56

Taxonomy of multiple clouds

Inter-Cloud

Cloud FederationMulti-Cloud

Service-based Multi-Cloud

Library-based Multi-Cloud

Hybrid Cloud

Cloud Blueprint

Cloud Broker

SLA-based Broker

Triggered-action Broker

Cloud Bursting

Peer-to-Peer Federation

Centralized Federation

Cross-Cloud

Hierarchical Federations

Multi-tier Cloud

Vertical Federations

Horizontal Federations

Horizontal Dynamic Federation

SkyComputing

AggregatedClouds

Aoleos

NIMBUS

Deployableservice

Hostedservice

soCloud

Page 57: soCloud: a multi-cloud paas

57

Taxonomy of multiple clouds

Inter-Cloud

Cloud FederationMulti-Cloud

Service-based Multi-Cloud

Library-based Multi-Cloud

Hybrid Cloud

Cloud Blueprint

Cloud Broker

SLA-based Broker

Triggered-action Broker

Cloud Bursting

Peer-to-Peer Federation

Centralized Federation

Cross-Cloud

Hierarchical Federations

Multi-tier Cloud

Vertical Federations

Horizontal Federations

Horizontal Dynamic Federation

SkyComputing

AggregatedClouds

Aoleos

NIMBUS

Deployableservice

Hostedservice

soCloud

Page 58: soCloud: a multi-cloud paas

58

Classification Reference Highlight Weakness

Multi-Cloud Portability

[D. Petcu et al ‘12] -Deal with portabilityat IaaS and PaaSlevels

-Onlyasynchronouscommunication- Proprietary APIs

Multi-CloudProvisioning

[Carpentier et al. ‘12] - Based on the OCCI standard

- Work only withcloud providers which adopt the standard

Multi-Cloud Elasticity

[Guillaume et ‘12] - Identify the optimal ressources need to scale

- Proprietaryapplication model

Multi-Cloud Highavailability

[Luis et al. ‘10] - Based on the DMTF Standard

- No DisasterRecovery plan

State of the Art

Page 59: soCloud: a multi-cloud paas

59

Classification Reference Highlight Weakness

Multi-Cloud Portability

[D. Petcu et al ‘12] -Deal with portabilityat IaaS and PaaSlevels

-Onlyasynchronouscommunication- Proprietary APIs

Multi-CloudProvisioning

[Carpentier et al. ‘12] - Based on the OCCI standard

- Work only withcloud providers which adopt the standard

Multi-Cloud Elasticity

[Guillaume et ‘12] - Identify the optimal ressources need to scale

- Proprietaryapplication model

Multi-Cloud Highavailability

[Luis et al. ‘10] - Based on the DMTF Standard

- No DisasterRecovery plan

State of the Art

Page 60: soCloud: a multi-cloud paas

60

Classification Reference Highlight Weakness

Multi-Cloud Portability

[D. Petcu et al ‘12] -Deal with portabilityat IaaS and PaaSlevels

-Onlyasynchronouscommunication- Proprietary APIs

Multi-CloudProvisioning

[Carpentier et al. ‘12] - Based on the OCCI standard

- Work only withcloud providers which adopt the standard

Multi-Cloud Elasticity

[Guillaume et ‘12] - Identify the optimal ressources need to scale

- Proprietaryapplication model

Multi-Cloud Highavailability

[Luis et al. ‘10] - Based on the DMTF Standard

- No DisasterRecovery plan

State of the Art

Page 61: soCloud: a multi-cloud paas

61

Classification Reference Highlight Weakness

Multi-Cloud Portability

[D. Petcu et al ‘12] -Deal with portabilityat IaaS and PaaSlevels

-Onlyasynchronouscommunication- Proprietary APIs

Multi-CloudProvisioning

[Carpentier et al. ‘12] - Based on the OCCI standard

- Work only withcloud providers which adopt the standard

Multi-Cloud Elasticity

[Guillaume et ‘12] - Identify the optimal ressources need to scale

- Proprietaryapplication model

Multi-Cloud Highavailability

[Luis et al. ‘10] - Based on the DMTF Standard

- No DisasterRecovery plan

State of the Art

Page 62: soCloud: a multi-cloud paas

62

Classification Reference Highlight Weakness

Multi-Cloud Portability

[D. Petcu et al ‘12] -Deal with portabilityat IaaS and PaaSlevels

-Onlyasynchronouscommunication- Proprietary APIs

Multi-CloudProvisioning

[Carpentier et al. ‘12] - Based on the OCCI standard

- Work only withcloud providers which adopt the standard

Multi-Cloud Elasticity

[Guillaume et ‘12] - Identify the optimal ressources need to scale

- Proprietaryapplication model

Multi-Cloud Highavailability

[Luis et al. ‘10] - Based on the DMTF Standard

- No DisasterRecovery plan

State of the Art

Page 63: soCloud: a multi-cloud paas

63

Agenda

Context

Case Study

Challenges

State of the Art

Contribution

Evaluation

Conclusion & Perspective

Page 64: soCloud: a multi-cloud paas

64

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)

Page 65: soCloud: a multi-cloud paas

65

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)Service-oriented application

Page 66: soCloud: a multi-cloud paas

66

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)Service-oriented application

soCloud PaaS

Page 67: soCloud: a multi-cloud paas

67

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)Service-oriented application

soCloud PaaS

Page 68: soCloud: a multi-cloud paas

68

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)Service-oriented application

soCloud PaaS

SCA + soCloud extension

Page 69: soCloud: a multi-cloud paas

69

soCloud

A little about soCloud

We are interested to build service-orientedapplications

PaaS on top of existing cloud providers (IaaS-PaaS)Service-oriented application

soCloud PaaS

SCA + soCloud extension

FraSCAti [Philippe et al. ARM’12+ *Philippe et al. cloud’12+

Page 70: soCloud: a multi-cloud paas

70

soCloud: SaaS applications

Page 71: soCloud: a multi-cloud paas

71

soCloud: SaaS applications

How to build soCloud application ?

Page 72: soCloud: a multi-cloud paas

72

soCloud: SaaS applications

frontend

computing

storage

Page 73: soCloud: a multi-cloud paas

73

soCloud: SaaS applications

frontend

computing

storage

Page 74: soCloud: a multi-cloud paas

74

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

Page 75: soCloud: a multi-cloud paas

75

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

Page 76: soCloud: a multi-cloud paas

76

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

contribution contribution contribution

Impl Impl Implfrontend computing storage

Page 77: soCloud: a multi-cloud paas

77

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

contribution contribution contribution

Impl Impl Implfrontend computing storage

Page 78: soCloud: a multi-cloud paas

78

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

contribution contribution contribution

Impl Impl Impl

frontend

computing

storage

frontend computing storage

Page 79: soCloud: a multi-cloud paas

79

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

contribution contribution contribution

Classic SCA

Impl Impl Impl

frontend

computing

storage

frontend computing storage

Page 80: soCloud: a multi-cloud paas

80

soCloud: SaaS applications

frontend

computing

storage

frontend

computing

storage

contribution contribution contribution

Classic SCA

soCloud SCA

Impl Impl Impl

frontend

computing

storage

frontend computing storage

Page 81: soCloud: a multi-cloud paas

81

soCloud: SaaS applications

Annotations

Page 82: soCloud: a multi-cloud paas

82

soCloud: SaaS applications

Annotations

frontend

computing

storage

Page 83: soCloud: a multi-cloud paas

83

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

Page 84: soCloud: a multi-cloud paas

84

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

soCloud

Page 85: soCloud: a multi-cloud paas

85

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

soCloud

Page 86: soCloud: a multi-cloud paas

86

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

Page 87: soCloud: a multi-cloud paas

87

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

@rule = select average(responseTime) as avgrsfrom responsivenessEvent.win:time( 60 sec )where numberOfRequests > 10000 and avgrs > 3 sec :: addVM

soCloud

Page 88: soCloud: a multi-cloud paas

88

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

@rule = select average(responseTime) as avgrsfrom responsivenessEvent.win:time( 60 sec )where numberOfRequests > 10000 and avgrs > 3 sec :: addVM

?soCloud soCloud

Page 89: soCloud: a multi-cloud paas

89

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

@rule = select average(responseTime) as avgrsfrom responsivenessEvent.win:time( 60 sec )where numberOfRequests > 10000 and avgrs > 3 sec :: addVM

@location = Asia

?soCloud soCloud

Page 90: soCloud: a multi-cloud paas

90

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

@rule = select average(responseTime) as avgrsfrom responsivenessEvent.win:time( 60 sec )where numberOfRequests > 10000 and avgrs > 3 sec :: addVM

@replication = 2@location = Asia

?soCloud soCloud

Page 91: soCloud: a multi-cloud paas

91

soCloud: SaaS applications

Annotations

frontend

computing

storage

@location = France

@vm = medium

@rule = select average(responseTime) as avgrsfrom responsivenessEvent.win:time( 60 sec )where numberOfRequests > 10000 and avgrs > 3 sec :: addVM

@replication = 2@location = Asia

?soCloud soCloud soCloud

Page 92: soCloud: a multi-cloud paas

92

soCloud: SaaS application descriptor

Page 93: soCloud: a multi-cloud paas

93

soCloud: SaaS application descriptor

Page 94: soCloud: a multi-cloud paas

94

soCloud: SaaS application descriptor

SCA extension

Page 95: soCloud: a multi-cloud paas

95

soCloud: SaaS application descriptor

Page 96: soCloud: a multi-cloud paas

96

soCloud: SaaS application descriptor

EPL statement

Page 97: soCloud: a multi-cloud paas

97

soCloud: Architecture

soCloud Master

soCloud Agent

Page 98: soCloud: a multi-cloud paas

98

soCloud: Architecture

soCloud Master

soCloud Agent soCloud AgentsoCloud Agent

Page 99: soCloud: a multi-cloud paas

99

soCloud: Architecture

soCloud Master

soCloud Agent soCloud AgentsoCloud Agent

soCloud Master

Page 100: soCloud: a multi-cloud paas

100

soCloud: Architecture

Page 101: soCloud: a multi-cloud paas

101

soCloud: Architecture

soCloud application

Page 102: soCloud: a multi-cloud paas

102

soCloud: Architecture

soCloud application

Page 103: soCloud: a multi-cloud paas

103

soCloud: Architecture

soCloud Master

soCloud application

Page 104: soCloud: a multi-cloud paas

104

soCloud: Architecture

soCloud Master

Page 105: soCloud: a multi-cloud paas

105

soCloud: Architecture

soCloud Master

Page 106: soCloud: a multi-cloud paas

106

soCloud: Architecture

soCloud Master

Page 107: soCloud: a multi-cloud paas

107

soCloud: Architecture

soCloud Master

Page 108: soCloud: a multi-cloud paas

108

soCloud: Architecture

soCloud Master

Page 109: soCloud: a multi-cloud paas

109

soCloud: Architecture

soCloud Master

soCloud Agent soCloud Agent soCloud Agent

Page 110: soCloud: a multi-cloud paas

110

soCloud: Architecture

soCloud Master

F

soCloud Agent soCloud Agent soCloud Agent

Page 111: soCloud: a multi-cloud paas

111

soCloud: Architecture

soCloud Master

F

soCloud Agent

C

soCloud Agent soCloud Agent

Page 112: soCloud: a multi-cloud paas

112

soCloud: Architecture

soCloud Master

F

soCloud Agent

C

soCloud Agent

S

soCloud Agent

Page 113: soCloud: a multi-cloud paas

113

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

Page 114: soCloud: a multi-cloud paas

114

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Master

Page 115: soCloud: a multi-cloud paas

115

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

Page 116: soCloud: a multi-cloud paas

116

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 117: soCloud: a multi-cloud paas

117

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 118: soCloud: a multi-cloud paas

118

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 119: soCloud: a multi-cloud paas

119

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 120: soCloud: a multi-cloud paas

120

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 121: soCloud: a multi-cloud paas

121

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 122: soCloud: a multi-cloud paas

122

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 123: soCloud: a multi-cloud paas

123

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 124: soCloud: a multi-cloud paas

124

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 125: soCloud: a multi-cloud paas

125

soCloud: Architecture detail

OSJVM

FraSCAti

Monitoring

WorkloadManager

Controller

ServiceDeployer

Constraintvalidator

Node Provisionning

PaaS Deployment

SaaS Deployment

Load

Balan

cer

soCloud Agent

soCloud Master

MAPE-K Model

Monitor

Analyse Plan

Execute

Knowledge

Page 126: soCloud: a multi-cloud paas

126

soCloud: Implementation problematic

Replication

Coordination

Disaster Recovery

Event Processing

Overhead

Page 127: soCloud: a multi-cloud paas

127

soCloud: Implemenation detail

Components Implementation Detail

Monitoring -Hyperic SIGAR API-JMX

Workload Manager CEP Engine (Esper)

Controller -Wait-Free synchronyzation-Google Fusion Table

Service Deployer -Eval mechanism

Constraint Solver -Solver

Node Provisionning -Jcloud

PaaS Deployment -REST API

SaaS Deployment -REST API

Load Balancer -Asynchronous Non-Blocking (Netty)-Group Membership

Page 128: soCloud: a multi-cloud paas

128

soCloud: Deployment

Page 129: soCloud: a multi-cloud paas

129

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

Page 130: soCloud: a multi-cloud paas

130

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

Page 131: soCloud: a multi-cloud paas

131

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Page 132: soCloud: a multi-cloud paas

132

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Monitoring Monitoring Monitoring

Amazon Windows Azure CloudFoundry

Sen

dm

etri

cs

soC

lou

dA

gen

t

Page 133: soCloud: a multi-cloud paas

133

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Monitoring Monitoring Monitoring

Amazon Windows Azure CloudFoundry

Sen

dm

etri

cs

soC

lou

dA

gen

t

Page 134: soCloud: a multi-cloud paas

134

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Monitoring Monitoring Monitoring

Amazon Windows Azure CloudFoundry

Sen

dm

etri

cs

soC

lou

dA

gen

t

Page 135: soCloud: a multi-cloud paas

135

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Monitoring Monitoring Monitoring

Amazon Windows Azure CloudFoundry

Sen

dm

etri

cs

soC

lou

dA

gen

t

Page 136: soCloud: a multi-cloud paas

136

soCloud: Deployment

dotCloud

soC

lou

dM

aste

r

cloudBees

soCloud Master leader soCloud Master follower

Monitoring Monitoring Monitoring

Amazon Windows Azure CloudFoundry

Sen

dm

etri

cs

soC

lou

dA

gen

t

Page 137: soCloud: a multi-cloud paas

137

Contribution

Context

Case Study

Challenges

State Of The Art

Contribution

Evaluation

Conclusion & Perspective

Page 138: soCloud: a multi-cloud paas

138

Evaluation

Multi-cloud Portability

Multi-cloud Provisionning

Multi-cloud Elasticity

Multi-cloud High availability

Page 139: soCloud: a multi-cloud paas

139

Multi-cloud Portability & Provisioning

soCloud

soCloud currently supports 10cloud providers

[1] [Guillaume et al. ‘12][2] [Reuven et al. ‘09]

Page 140: soCloud: a multi-cloud paas

140

Multi-cloud Portability & Provisioning

soCloud

soCloud currently supports 10cloud providers

ConPaaS currently supports 2 cloud providers [1]

Simple Cloud currently supports 3 cloud providers [2]

[1] [Guillaume et al. ‘12][2] [Reuven et al. ‘09]

Page 141: soCloud: a multi-cloud paas

141

Evaluation

EC2

soCloud applications

soCloud

Legend:

SaaS application

Webcontainers

FraSCAti

Java Virtual MachineCloud providers

Linux Operating System

Page 142: soCloud: a multi-cloud paas

142

Evaluation

soCloud validate

Multi-cloud Portability

Multi-cloud Provisionning

Multi-cloud Elasticity

Multi-cloud High availability

Page 143: soCloud: a multi-cloud paas

143

Evaluation

Reaction of soCloud face to flash crowdeffects (i.e Multi-cloud Elasticity)

soCloud behaviour against failures (i.e Multi-cloud High availability)

Overhead introduced by the Load Balancer

Page 144: soCloud: a multi-cloud paas

144

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

Page 145: soCloud: a multi-cloud paas

145

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

We configured Httperf to create 50,000 connections

Page 146: soCloud: a multi-cloud paas

146

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

Phase 1

We configured Httperf to create 50,000 connections

Page 147: soCloud: a multi-cloud paas

147

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

Phase 1

We configured Httperf to create 50,000 connections

Page 148: soCloud: a multi-cloud paas

148

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

Phase 1 Phase 2

We configured Httperf to create 50,000 connections

Page 149: soCloud: a multi-cloud paas

149

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

Page 150: soCloud: a multi-cloud paas

150

Flash crowd effects without soCloud elasticity

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)

Nu

mb

er

of

req

ue

sts

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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

During the two phases of the flash crowd effect, the average response time is 65.90 seconds

Page 151: soCloud: a multi-cloud paas

151

Flash crowd effects without soCloud elasticity

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 20 40 60 80 100 120 140 160 180 200

Nu

mb

er

of

faile

d r

eq

ue

sts

Time (slot of 10 seconds)

Page 152: soCloud: a multi-cloud paas

152

Flash crowd effects without soCloud elasticity

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 20 40 60 80 100 120 140 160 180 200

Nu

mb

er

of

faile

d r

eq

ue

sts

Time (slot of 10 seconds)

Observation: 1.13% of requests have failed, precisely 34,039 requests have failed

Page 153: soCloud: a multi-cloud paas

153

Flash crowd effects 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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

Application replication

Balance load

Page 154: soCloud: a multi-cloud paas

154

Flash crowd effects 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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

Application replication

Balance load

soCloud platform has detected peak mounted in 300 ms

Page 155: soCloud: a multi-cloud paas

155

Flash crowd effects 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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

Application replication

Balance load

soCloud platform has detected peak mounted in 300 ms

we do not notice mounted peak during the second phase of the flash crowd effect, and the average response time is 23.38 seconds

Page 156: soCloud: a multi-cloud paas

156

Flash crowd effects 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

Re

spo

nse

tim

e (

s)

Time (slot of 10 seconds)

Application replication

Balance load

soCloud platform has detected peak mounted in 300 ms

we do not notice mounted peak during the second phase of the flash crowd effect, and the average response time is 23.38 seconds

These results demonstrate that the soCloud platform deals well with elasticity

Page 157: soCloud: a multi-cloud paas

157

soCloud behaviour against failures

Page 158: soCloud: a multi-cloud paas

158

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure

[1] Blue print of high availability

MTTRMTBFMTBTtyAvailabili

[1]

Page 159: soCloud: a multi-cloud paas

159

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure

Availability = *MTBF/(MTBF + †MTTR) [1]

soCloud MTTR is 3.5 minutes

[1] Blue print of high availability

Page 160: soCloud: a multi-cloud paas

160

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure[2] Maurice Gagnaire et al.

Availability = *MTBF/(MTBF + †MTTR) [1]

soCloud MTTR is 3.5 minutes

Public cloud MTTR is 7.5 hours[2]

[1] Blue print of high availability

Page 161: soCloud: a multi-cloud paas

161

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure[2] Maurice Gagnaire et al.

Availability = *MTBF/(MTBF + †MTTR) [1]

soCloud MTTR is 3.5 minutes

Public cloud MTTR is 7.5 hours[2]

For 1 year the MTBF = 8760 hours

[1] Blue print of high availability

Page 162: soCloud: a multi-cloud paas

162

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure[2] Maurice Gagnaire et al.

Availability = *MTBF/(MTBF + †MTTR) [1]

soCloud MTTR is 3.5 minutes

Public cloud MTTR is 7.5 hours[2]

For 1 year the MTBF = 8760 hours

For 1 month the MTBF = 720 hours

[1] Blue print of high availability

Page 163: soCloud: a multi-cloud paas

163

soCloud behaviour against failures

* Mean Time To Recovery, † Mean Time Between Failure[2] Maurice Gagnaire et al.

Availability = *MTBF/(MTBF + †MTTR) [1]

soCloud MTTR is 3.5 minutes

Public cloud MTTR is 7.5 hours[2]

MTBF(1 year) MTBF(1 month)

Availability Availability

soCloud 99.999 % 99.991 %

Public cloud providers 99.914 % 98.969 %

For 1 year the MTBF = 8760 hours

For 1 month the MTBF = 720 hours

[1] Blue print of high availability

Page 164: soCloud: a multi-cloud paas

164

High availability

soCloudPublic clouds

Hours Minutes

Page 165: soCloud: a multi-cloud paas

165

Evaluation

soCloud validate

Multi-cloud Portability

Multi-cloud Provisionning

Multi-cloud Elasticity

Multi-cloud High availability

Page 166: soCloud: a multi-cloud paas

166

Load Balancer Overhead

Implementation Avg. exec. Time LB overhead

APP i) 13.93 sec -

APP + LB ii) 14.10 sec 1.45%

Page 167: soCloud: a multi-cloud paas

167

Agenda

Context

Case Study

Challenges

State Of The Art

Contribution

Evaluation

Conclusion & Perspective

Page 168: soCloud: a multi-cloud paas

168

Conclusion & Perspectives

soCloud is a distributed PaaS, that provides a model for building any multi-cloud SaaS applications

We describe the approach used by the soCloud to achieve portability, provisioning, elasticity and high availability

We explained how the components in a SaaS application descriptor can be annotated with elasticity rules, placement constraints, computation constraints.

In comparison of soCloud availability with public cloud availability, we demonstrate that soCloud ensures high availability in minutes

We have analysed the flash crowd phenomenon on a use case, and demonstrated how the soCloud platform increases the elasticity of the application

______________________________________________________________________

We will investigate in how to overcome the constraint which consists to build the SaaS application with SCA model

Page 169: soCloud: a multi-cloud paas

169

Questions?

Thanks You!soCloud