Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Multi cloud PaaS
1. 1
Multi-Cloud PaaS
Fawaz Paraïso, second year Ph.D Student
Supervisors: Lionel Seinturier, Philippe Merle
University of Lille1 & Inria Lille – Nord Europe
6. 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
8. 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 from
various cloud providers to provide a solution
9. 9
Context
• What is earned by customers ?
Portability + Interoperability + Federation =>
More choices => lower costs & innovative
solutions
10. 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. 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. 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. 13
Elasticity
• Numerous web architectures (Java, .NET, etc.)
use network load balancer
Load
balancer
Application
server
Application
server
Application
server
Application
server
Application
server
application application application
14. 14
Approach
• Inadequate options for building elastic
applications
– Application architectures with adaptations
– Build elastic applications with APIs
• Both approaches to elastic applications do not
exploit cloud fully
16. 16
State of the Art in Cloud Computing
Interoperability
• Type of Cloud Computing interoperability
• Standards for cloud computing interoperablity
• Cloud PaaS Interoperability
• Interoperable cloud computing architecture
• Discussion
17. 17
State of the Art in Cloud Computing
interoperability
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 Dangwal
2011,
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, Rymer
et al. 2011
18. 18
Type of Cloud Computing
interoperability
• 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 stack
separately
– IaaS
VM metadata
– PaaS
API
Component level
– SaaS
Data
Application level
19. 19
Type of Cloud Computing
interoperability
• According to Sheth et al. 2010 Cloud
computing interoperability is associated with
two types of heterogeneity:
– Vertical Heterogeneity
Utilize services from differents layers of cloud stack,
but within the same layer
– Horizontal Heterogeneity
Use simultaneously more than on services hosted at
different providers or to change service provider, while
also remain in the same Cloud stack layer.
20. 20
Standards for Cloud Computing
Interoperability
Standard IaaS PaaS SaaS
DMTF/CMWG YES YES YES
OGF/OCCI YES - -
OASIS - - YES
CCIF YES YES -
Open Group Cloud
Work Group
- - YES
ETSI TC CLOUD YES - -
OMG - - YES
Open Cloud
Manifesto
YES YES YES
21. 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 languages
and APIs
• There is not a standard programming language of PaaS
offerings.
– Google App Engine supports Python , Java and GO
– Force.com applications are developed on Apex
22. 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 SPECIFICATIONPROCESS]
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. 23
Cloud Provisioning
Cloud platforms Load balancing Provisionning Auto scaling
Amazone Elastic
compute 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. 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 QoS
expectations for all their users
• Problems of outage
• Availability of services
25. 25
Discussion
• Other efforts, similar to Multi-Cloud PaaS, try
to address the issues of applications and data
portability and interoperability at PaaS level
• They are classified with the following key
characteristics:
– Cloud Computing interoperability
– Data and/or Application Portability
– Use of semantics
26. 26
Discussion
Cloud Level Cloud
Computing
Interoperabili
ty
Data and/or
Application
portability
Use of semantic Elasticity Reflective
Platform
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 PaaS
architecture
PaaS YES - - - - -
Aneka PaaS YES YES - - - -
Open PaaS PaaS YES YES - - - -
SITIO SaaS YES YES YES - - -
28. 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»
30. 30
Multi-Cloud PaaS
• My contribution provides a solution for
federated multi-cloud via PaaS
– Generic architecture
– Flexible model
– Elastic platform
– Infrastructure services
31. 31
Generic architure
• Feature model (Software Product Line)
– Define an SPL that captures the common
characteristics and the point of variability of cloud
environments
– Implement it as an assembly of SCA components
• Plug-in systems (points of varaiability)
33. 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. 34
Architecture
Multi-Cloud
PaaS
Multiple programing language
Cloud Node provisionning
PaaS Deployment service
SaaS Deployment service
Federation management
Workload management
Runtime services
Adaptable
@
Design time
Adaptable
@
Runtime
Heterogeneous cloud environments
Business applications
Social network Call center Health science Financial services
Front end
Monitoring service