soCloud: distributed multi-cloud platform for deploying, executing and managing distributed...
-
Upload
fawaz-fernand-paraiso -
Category
Engineering
-
view
455 -
download
2
description
Transcript of soCloud: distributed multi-cloud platform for deploying, executing and managing distributed...
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
�2
Cloud computing in nutshellVirtualization
Pay-per-use
On-demand
Elasticity
�3
Context and motivation
Application fil rouge
Go to the Cloud !
View%
Compute%
Storage%
Developer
�4
So many problems !
Vendor Lock-in
Failures
Geo-location
Cloud-specific services
�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?
�6
Definition
• Multi-Cloud Computing ✤ using multiple cloud providers ✤ independent ✤ no agreement between providers
What is Multi-Cloud ?
�7
Multi-CloudContext and motivation
74% Enterprises have a Multi-Cloud strategies
�8
Context and motivation
Multi-cloud is supposed to be the solution but…
Towards Multi-Cloud Computing
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
�10
Multi-cloud Provisioning
Multi-cloud Elasticity
Multi-cloud High-Availability
Multi-cloud Portability
Challenges
���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
�12
Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High
availability
Resources
App Deployment
Challenges
�13
Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High
availability
Resources
Provisioning
Provisioning
Provisioning
Challenges
�14
Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High
availability
App deployment
Challenges
�15
Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High
availability
Challenges
�16
ChallengesMulti-cloud Portability Multi-cloud
Provisioning Multi-cloud Elasticity Multi-cloud High availability
HA
�17
Multi-cloud Portability Multi-cloud Provisioning Multi-cloud Elasticity Multi-cloud High
availability
HA
HA
HA
Challenges
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
�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
�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 + + + +
�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 + + + + +
�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 ++ ++ ++ ++
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
�24
soCloud"Platform
EC2
Azure
HerokuDeveloper
soCloud Overview
soCloud Model
distributed applications
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
�26
Objectives
‘’Provides a model to design a distributed applications in a simple and concise
manner for a Multi-Cloud environment’’
�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
�28
soCloud Model
Extended SCA Model
�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
�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
�31
soCloud Model based on SCA
+name&+value&
Annota&on'
Extension 2
Implementa)on.Contribu)on1+name&
Extension 1
Why extend SCA model ?
�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
�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
�34
soCloud Model: annotationsAnnotation+name+value
Placement "annotation
Execution "annotation
Availability "annotation
Elasticity "annotation
location closer vm database replication elasticity
service
�35
soCloud Model: annotationsAnnotation+name+value
Placement "annotation
Execution "annotation
Availability"annotation
Elasticity "annotation
location closer vm database replication elasticity
service
location closer
�36
soCloud Model: annotationsPlacement "annotation
location closer
1@location = ‘value’"2 @closer = ‘value’
�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’
�38
soCloud Model: annotations
C1 C2
Latency
@closer =‘C2’
2 @closer = ‘value’
�39
soCloud Model: annotationsAnnotation+name+value
Placement "annotation
Execution "annotation
Availability "annotation
Elasticity "annotation
location closer vm database replication elasticity
service
vm database
service
�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
�41
soCloud Model: annotationsAnnotation+name+value
Placement "annotation
Execution "annotation
Availability "annotation
Elasticity "annotation
location closer vm database replication elasticity
service
replication
�42
soCloud Model: annotations1 @replication = ‘number’
Availability "annotation
replication
C
@replication=5
become
LB
C
Example
�43
soCloud Model: annotationsAnnotation+name+value
Placement "annotation
Execution "annotation
Availability "annotation
Elasticity "annotation
location closer vm database replication elasticity
service
elasticity
�44
soCloud Model: annotations
Elasticity "annotation
elasticity
1 @elasticity = ‘description’
C
C
scale outscale in
A DSL for describing elasticity
�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
�46
soCloud Model: elasticity languageTrigger
scaling in 5 at ( 20:00 Friday)
�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’’""
�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)
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
�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
�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
�52
soCloud Platform• soCloud Platform is a distributed component-based PaaS
for managing ✤ Portability ✤ Provisioning ✤ Elasticity ✤ High-availability
Components
�53
soCloud platform high level view
soCloud "master
soCloud agentUser …
soCloud applications
�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
�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
�56
soCloud Platform: Fault Tolerance
Application level
Replication in different clouds
Platform level
Replication in different clouds
Let it Crash
�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
�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
�59
soCloud Platform: deployment stack
IaaS
soCloud
master
agent
SCA container
Servlet container
Java runtime
Resources
Linux/OS
�60
soCloud Platform: deployment stack
soCloud
master
agent
SCA container
Servlet containerPaaS
�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.
�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
�63
Validation
soCloud Model
soCloud Platform
�64
Validation: soCloud Model
1. APISENSE application
Modeling of three concrete applications using the soCloud Model
2. DiCEPE application
3. P2P Monitoring application
�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]
�66
Validation: soCloud Model
• Geo-location ✤ Paris
• Unpredictable growth of smartphones
• Availability despite failures
• Cost control
�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>
�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.
�69
Validation: soCloud Platform
1. Portability 2. High-availability 3. Elasticity 4. Overhead introduced by soCloud
�70
Validation: soCloud Platform
Portability
�71
Validation: soCloud Platform
Deployed on
10 Clouds
IaaS and PaaS
�72
Validation: soCloud Platform
High-availability
�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
�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
�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
�76
Validation: soCloud Platform
Elasticity
�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
�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
�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
�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
�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
�82
Summary
• Reactivity face: ✤ Failures (High-availability) ✤ Flash crowd effect (Elasticity)
• Negligible Overhead introduced.
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
�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
�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
�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)