1
Multi-Cloud PaaS
Fawaz Paraïso, second year Ph.D Student
Supervisors: Lionel Seinturier, Philippe Merle
University of Lille1 & Inria Lille – Nord Europe
2
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
3
Cloud Computing
EssentialCharacteristics
On-demandself-service
Broad networkaccess
Resource pooling
Rapidelasticity
MeasuredService
ServiceModels
Software as aService (SaaS)
Platform as aService (PaaS)
Infrasctructure as aService (IaaS)
DeploymentModels
Private Public Community
NIST: http://www.nist.gov/itl/cloud.cfm
Hybrid
4
Cloud Computing
SaaS
PaaS
IaaS
5
Agenda
• Cloud Computing
• Context
• State of the Art
• Evaluation
• Discussion
• Future work
6
Lock-in problems
• What is vendor lock-in ?
« You can checkout
any time you like, but you
can never leave! »- Eagles, Hotel California
• What is the better
way to chose cloud
provider?
Source : http://www.pstg.co.uk/cloud-services/portfolio-category-1
7
Lock-in concerns
Source : http://blog.rightscale.com/2009/02/19/the-skinny-on-cloud-lock-in/
8
Basics definitions
• Lock-in: When there is a significant cost to move from one cloud vendor to another
• Portability: Ability to move applications, data, tools from one cloud to another
• Interoperability: Ability of different clouds to interact together, e.g. communication
• Federation: Act of combining services fromvarious cloud providers to provide a solution
9
Context
• What is earned by customers ?
Portability + Interoperability + Federation => More choices => lower costs & innovativesolutions
10
Outages problems
• In the recent news:– Feb 29th, 2012 Windows Azure has experienced a major
outage that deprived users across the globe part of their cloud service [1]
– April 21th, 2011 Amazon (AWS) cloud went down in the US East Region for over 3 days [2]
• Those who counted on the generic cloud’s provisionning of elasticity and resilience did not survive the AWS and Windows Azure outages
• The damages were estimated at many Millions dollars• The resilence of your application as well as elasticity does not
exist unless you take care of it
[1] http://blogs.msdn.com/b/windowsazure/archive/2012/03/01/windows-azure-service-disruption-update.aspx
[2] http://aws.amazon.com/fr/message/65648/
11
Elasticity
• Cloud elasticity provides three major benefits:
– Deploy application faster and scale them easily
– Pay only for the ressources needed to accomodate workload
– Make expenditures helpful
12
Elasticity
• To have elastic application, you have to design for it– Most application architectures are not designed to
take advantage of cloud’s elastic infrastructure resources
– Elastic architectures require:real-time application load monitoring
scalable application components
real-time automation of the provisioning and deprovisining of resources
13
Elasticity
• Numerous web architectures (Java, .NET, etc.) use network load balancer
Loadbalancer
Application server
Application server
Application server
Application server
Application server
application application application
14
Approach
• Inadequate options for building elasticapplications
– Application architectures with adaptations
– Build elastic applications with APIs
• Both approaches to elastic applications do not exploit cloud fully
15
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
16
State of the Art in Cloud ComputingInteroperability
• Type of Cloud Computing interoperability
• Standards for cloud computing interoperablity
• Cloud PaaS Interoperability
• Interoperable cloud computing architecture
• Discussion
17
State of the Art in Cloud Computinginteroperability
Category Authors
Cloud Introductions Grossman 2009, Wang et al. 2008
Definitions Vaquero et al. 2008, Mell et al. 2009, Armbrust et al. 2009,twenty-on experts define cloud computings (Infosys), Buyya et al. 2009, Yousessf et al. 2008
Cloud Interoperability/federation/Broker Bernstein et al. 2009, Rochwerger et al. 2009, Bozman 2010, Maximilien et al. 2009, Sheth and Ranabahu 2010, Goiri et al. 2010, Buyya et al. 2010, Grivas et al. 2010, Mehrotra and Dangwal2011,
Standards Machado et al. 2009, Nelson 2009, Leavitt 2009, Parameswaran et al. 2009, Machado et al. 2009, Govindarajan et al. 2010, Metsch et al. 2010, Edmonds et al. 2011, Harsh et al. 2012, Sixto Ortiz 2011,
Reference Architectures Marks et al. 2010,Rymer 2010, Sharaty et al. 2010, Sambyal et al. 2010, Shumm et al. 2011, Tecnalia et al. 2011, Gracia-Sanchez et al. 2010, Loutas 2011, Cunsolo et al. 2009, Agarwal et al. 2010, Sharif et al. 2010, Bernand et al. 2010,Venticinque et al. 2011, Haase et al. 2009, Vecchiola et al. 2009, Wadiam 2010
Elastic applications Zhang et al. 2010, Buyya et al. 2010, Calherios et al. 2012, Rymeret al. 2011
18
Type of Cloud Computinginteroperability
• European Network and Information Security Agency(ENISA [Cloud Computing: Benefits, risks and recommendations for information security]) focuses on the interoperability at each level of the Cloud stackseparately– IaaSVM metadata
– PaaSAPIComponent level
– SaaSDataApplication level
19
Type of Cloud Computinginteroperability
• According to Sheth et al. 2010 Cloud computing interoperability is associated withtwo types of heterogeneity:– Vertical HeterogeneityUtilize services from differents layers of cloud stack,
but within the same layer
– Horizontal HeterogeneityUse simultaneously more than on services hosted at
different providers or to change service provider, whilealso remain in the same Cloud stack layer.
20
Standards for Cloud ComputingInteroperability
Standard IaaS PaaS SaaS
DMTF/CMWG YES YES YES
OGF/OCCI YES - -
OASIS - - YES
CCIF YES YES -
Open Group CloudWork Group
- - YES
ETSI TC CLOUD YES - -
OMG - - YES
Open Cloud Manifesto
YES YES YES
21
Cloud PaaS Interoperability
• The lack of standards for Cloud Platforms adds to the lock-in to a specific providers [Rymer 2010, Dillon et al. 2010]
• Developpers are bound to specific platforms, frameworks, development tools and APIs[McKendrick 2010], data migration requires significant effort and additional costs[Keene 2009]
• Proprietary runtime frameworks, programming languagesand APIs
• There is not a standard programming language of PaaSofferings.– Google App Engine supports Python , Java and GO– Force.com applications are developed on Apex
22
Interoperable Cloud Computing Architectures
Academia
The Cloud Computing reference model [Marks et al. 2010]
The adaptative PaaS architecture [Rymer 2010]
The next generation Cloud Computing architecture [Sharaty et al. 2010]
The Cloud deployment model [Sambyal et al. 2010]
The Cloud Development Stack model [Saugatuck Technology: Development in the Cloud: A Framework for PaaS and ISV]
R&D project
4CaaSt [schumm et al. 2011]
Cloud4soa [schumm et al. 2011]
CONTRAIL [Contrail-Introduction 2011]
Vision Cloud [Vision cloud; all public presentation]
REMICS [Tecnalia et al. 2011]
RESERVOIR [Rochweger et al. 2009]
SLA@SOI [theilmann 2008]
SITIO [Gracia-Sanchez et al. 2010]
NEXOF [NEXOF: OPEN ARCHITECTURE SPECIFICATION PROCESS]
CompatibleOne [Nikos Loutas 2011]
Cloud@Home [Cunsolo et al. 2009]
CumuloNimbo [Sharif et al. 2011]
Cloud-TM [Bernard et al. 2010]
mOSAIC [Ventiicinque et al. 2011]
Industry
eCloudManager [Haase et al. 2010]
Aneka [Vecchiola et al. 2009]
SaaS-PF [Wadima 2010]
Open PaaS [Red Hat PaaS: Bringing Open Choice & Application Portability to the Cloud 2010]
Red Hat Reference Cloud Computing Architecture [Red Hat : Open Source Middleware Reference Architecture 2009]
Cisco Reference Cloud Computing Architecture [cisco: Cisco Cloud Computing - Data Center Strategy, Architecture, and Solutions 2009]
IBM Reference Cloud Computing Architecture [Dodani 2009]
Oracle Architecture for private PaaS [oracle:Platform-as-a-Service Private Cloud with Oracle Fusion Middleware 2009]
23
Cloud Provisioning
Cloud platforms Load balancing Provisionning Auto scaling
Amazone Elasticcompute Cloud
YES YES YES
Eucalyptus YES YES -
Microsoft Windows Azure
YES YES Manual
Google App Engine YES YES YES
Aneka YES YES YES
GoGrid Cloud Hosting
YES YES Programmatic way
24
Cloud Provisioning
• No single Cloud infrastructure providers have their data centers at all possible locations throughout the world
• SaaS will have difficulty in meeting QoSexpectations for all their users
• Problems of outage
• Availability of services
25
Discussion
• Other efforts, similar to Multi-Cloud PaaS, tryto address the issues of applications and data portability and interoperability at PaaS level
• They are classified with the following keycharacteristics:
– Cloud Computing interoperability
– Data and/or Application Portability
– Use of semantics
26
Discussion
Cloud Level Cloud ComputingInteroperability
Data and/or Application portability
Use of semantic Elasticity ReflectivePlatform
Multiple languages
4Caast PaaS - YES - - - -
Red Hat PaaS YES YES - - - -
Cisco PaaS YES YES - - - -
Cloud Developpement Stack
model
Paas YES YES - - - -
IBM All Cloud stacks
YES YES - - - -
Elastra PaaS YES YES YES - - -
Adaptative PaaSarchitecture
PaaS YES - - - - -
Aneka PaaS YES YES - - - -
Open PaaS PaaS YES YES - - - -
SITIO SaaS YES YES YES - - -
27
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
28
Multi-Cloud PaaS
• What does multi-cloud PaaS mean?– Avoid outages
– Availability and performance
– Enter new markets
– Cloud portability
– Spanning cloud providers
– Geo-diversity
– A saying : «don't put all your eggs in one basket»
29
Multi-Cloud PaaS
• Orchestration of many cloud PaaS
30
Multi-Cloud PaaS
• My contribution provides a solution for federated multi-cloud via PaaS
– Generic architecture
– Flexible model
– Elastic platform
– Infrastructure services
31
Generic architure
• Feature model (Software Product Line)
– Define an SPL that captures the commoncharacteristics and the point of variability of cloudenvironments
– Implement it as an assembly of SCA components
• Plug-in systems (points of varaiability)
32
Flexible model
• Property
• Implementation
• Binding
• Interface
33
Elasticity
• Transactions
– Provide the necessary services for applications to handle and increasing volumes of transactions
• Services
– Application can handle an increasing volume of services needed to process transactions
34
Architecture
Multi-CloudPaaS
Multiple programing language
Cloud Node provisionning
PaaS Deployment service
SaaS Deployment service
Federation management
Workload managementRuntime services
Adaptable @
Design time
Adaptable @
Runtime
Heterogeneous cloud environments
Business applications
Social network Call center Health science Financial services
Front end
Monitoring service
35
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
36
Evaluation
• The multi-cloud PaaS adresses the challenges of:– Portability
– Interoperability
– Heterogeneity
– Geo-diversity
• Three SCA-basedSaaSapplications were developped and deployed– Multi-Cloud P2P Monitoring Network
– DistributedComplexEvent ProcessingEngine (DiCEPE)
– AntDROID Sensing Platform
37
Evaluation
• Paper [A federated Multi-Cloud PaaS infrastructure] Cloud12
38
Evaluation
• Elastic applications PaaS in multi-cloudcontext
– Elasticity
– Performance
– Interoprability
– Dynamic migration
• Dynamic migration, automate Elasticity
39
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
40
Discussion
• Find the right way to monitoring application performance
41
Agenda
• Cloud Computing
• Context
• State of the Art
• Contribution
• Evaluation
• Discussion
• Future work
42
Future work
• Design a model for application performance monitoring
• Design and evaluate one case study with large scale scenarios
43
Thank for your attention!
Questions?