quelle - a framework for accelerating the development of elastic systems
DESCRIPTION
Presentation given in Third European Conference on Service-Oriented and Cloud Computing (http://esocc2014.cs.manchester.ac.uk/), 2-4 September, Manchester, United Kingdom A large number of cloud providers offer diverse types of cloud services for constructing complex "cloud-native" software. However, there is a lack of supporting tools and mechanisms for accelerating the development of cloud-native software-defined elastic systems (SESs) based on elasticity capabilities of cloud services. We introduce QUELLE -- a framework for evaluating and recommending SES deployment configurations. QUELLE presents models for describing the elasticity capabilities of cloud services and capturing elasticity requirements of SESs. Based on that QUELLE introduces novel functions and algorithms for quantifying the elasticity capabilities of cloud services. QUELLE's algorithms can recommend SES deployment configurations from cloud services that both provide the required elasticity, and fulfill cost, quality, and resource requirements, and thus can be incorporated into different phases of the development of SESs.TRANSCRIPT
Daniel MoldovanGeorgiana Copil, Hong-Linh Truong,
Schahram Dustdar
QUELLE - a Framework for Accelerating theDevelopment of Elastic Systems
Distributed Systems Group (http://dsg.tuwien.ac.at/)
Vienna University of Technology (http://www.tuwien.ac.at/)
2
Data-as-a-Service for Machine to Machine platforms Load balancer distributes incoming requests to Event Processing instances Distributed Data Store: Controller and Nodes
MotivationSelecting cloud services for building cloud-native elastic systems (1/3)
Scaling by allocating/deallocating Cloud Offered Services
3
MotivationSelecting cloud services for building cloud-native elastic systems (2/3)
Existing large set of cloud services with different cost/quality/resource options or association possibilities
with other services
4
MotivationSelecting cloud services for building cloud-native elastic systems (3/3)
Load balancer
t1.micro EBS+ i2.xlarge EBS+
...
Cost: /H & / GB
?
Cost: - OnDemand- Spot- Reserved (1/3
years)
Cost: /size/month
Cost: - OnDemand- Reserved (1/3
years)
Cost: /size/month
How do different configuration options of cloud services influence run-time elasticity control of the system
running on top of them?
...
Approach
5
Recommend cloud services providing appropriate run-time control options
Elasticity Capability Elasticity Dependencies
Service
Representing Elasticity of Cloud ServicesElasticity Capabilities of a Cloud Service
Cost
t1.micro
OnDemand
Reserved 1Y light
Spot
...
6
Storage EBS
…
optional
mandatory
6
Constructing Elastic Software-Defined SystemsEvaluating Elasticity of Cloud Services
7
ChallengeDiffered SESs might prioritize differently different “elasticity
dimensions” (cost, quality, resource)
ApproachDefine set of customizable functions for quantifying/evaluating
diverse elasticity aspects of cloud services
Constructing Elastic Software-Defined SystemsEvaluating Elasticity of Cloud Services
8
Elasticity Quantification Coefficients Elasticity Phase Quantification Coefficients
Elasticity Dependency Type Quantification Coefficients
Elasticity Dependency Volatility Quantification Coefficients
Elasticity Capability Quantification Function
Elasticity Quantification Function
Evaluating Elasticity of Cloud ServicesExample: Elasticity of Amazon EC2 IaaS Services
Elasticity Phase Quantification Coefficient
Elasticity Dependency Volatility Quantification Coefficient
9
Elasticity Dependency Type Quantification Coefficient
Approach
10
Capturing elasticity requirements for SES
11
Elasticity-based strategies Max Overall ElasticityMax Cost ElasticityMax Quality ElasticityMax Resources ElasticityMax Service Association
Property-based Strategies
Max Requirements Max QualityMax ResourcesMin Cost
12
Capturing elasticity requirements for SESExample: M2M SES
Constructing Elastic Software-Defined SystemsEvaluating a single cloud service w.r.t SES requirements
13
We must evaluate not only the cloud service, but also its mandatory and optional configuration options to see what
requirements are fulfilled by them.
14
ExperimentsConstructing SES (1/3)
Integrating elasticity-based service selection with
property-based selection
15
ExperimentsConstructing SES (2/3)
Property-based selection alone might recommend services which do not provide
necessary control options.
ExperimentsConstructing SES (3/3)
16
Solution visualized using Winery (TOSCA Modeling Tool)
Even a single system unit might require multiple cloud services with the correct recommended quality,
resources, and associated cost
Conclusions
Objective Selecting cloud services for building cloud-native elastic systems
Approach Model for representing Elasticity Capabilities of cloud services Model for representing Multi-level Requirements for cloud-native elastic systems Customizable functions for Evaluating Elasticity of cloud services Algorithms for generating configurations for cloud-native elastic services based on
both elasticity driven and standard service selection strategies
Experiments Cloud services can have different elasticity capabilities Ignoring elasticity capabilities of cloud services can result in reducing the available
‘control actions’ over the constructed systems, potentially affecting their run-time elasticity
17
Work partially supported by the European Commission in terms of the CELAR FP7 project (http://www.celarcloud.eu/)
Daniel Moldovan (http://dsg.tuwien.ac.at/staff/dmoldovan/)
Distributed Systems Group (http://dsg.tuwien.ac.at/)
Vienna University of Technology (http://www.tuwien.ac.at/)