Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

QUELLE - a Framework for Accelerating the Development of Elastic Systems

1,190 views

Published on

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.

Published in: Education
  • Be the first to comment

  • Be the first to like this

QUELLE - a Framework for Accelerating the Development of Elastic Systems

  1. 1. QUELLE - a Framework for Accelerating the Development of Elastic Systems Daniel Moldovan Georgiana Copil, Hong-Linh Truong, Schahram Dustdar Distributed Systems Group (http://dsg.tuwien.ac.at/) Vienna University of Technology (http://www.tuwien.ac.at/)
  2. 2. Scaling by allocating/deallocating Cloud Offered Services Motivation Selecting cloud services for building cloud-native elastic systems (1/3)  Data-as-a-Service for Machine to Machine platforms 2  Load balancer distributes incoming requests to Event Processing instances  Distributed Data Store: Controller and Nodes
  3. 3. Motivation Selecting cloud services for building cloud-native elastic systems (2/3) 3 Existing large set of cloud services with different cost/quality/resource options or association possibilities with other services
  4. 4. How do different configuration options of cloud services influence run-time elasticity control of the system running on top of them? Motivation Selecting cloud services for building cloud-native elastic systems (3/3) 4 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 ...
  5. 5. Approach 5 Recommend cloud services providing appropriate run-time control options
  6. 6. Representing Elasticity of Cloud Services Elasticity Capabilities of a Cloud Service Elasticity Capability Elasticity Dependencies Service Cost t1.micro OnDemand Spot Reserved 1Y light Storage EBS ... 6 … option al mandatory 6
  7. 7. Constructing Elastic Software-Defined Systems Evaluating Elasticity of Cloud Services  Challenge 7  Differed SESs might prioritize differently different “elasticity dimensions” (cost, quality, resource)  Approach  Define set of customizable functions for quantifying/evaluating diverse elasticity aspects of cloud services
  8. 8. Constructing Elastic Software-Defined Systems Evaluating Elasticity of Cloud Services  Elasticity Quantification Coefficients 8  Elasticity Phase Quantification Coefficients  퐸푙푃ℎ푎푠푒푄 푝 = 푣푖 ∶ 푖푓 퐼푛푠푡푎푛푡푖푎푡푖표푛 푇푖푚푒 푣푟 ∶ 푖푓 푅푢푛 푇푖푚푒 푣푖푟 ∶ 푖푓 퐵표푡ℎ  Elasticity Dependency Type Quantification Coefficients  퐸푙퐷푒푝푒푛푑푒푛푐푦푄 푑 = 푣표 ∶ 푖푓 푂푝푡푖표푛푎푙 퐴푠푠표푐푖푎푡푖표푛 푣푚 ∶ 푖푓 푀푎푛푑푎푡표푟푦 퐴푠푠표푐푖푎푡푖표푛  Elasticity Dependency Volatility Quantification Coefficients  푉표푙푎푡푖푙푖푡푦푄(푑)  Elasticity Capability Quantification Function  퐸퐶푄 푐 = 퐸푙푃ℎ푎푠푒푄 푐. 푝ℎ푎푠푒 ∗ 푑 ∈푐.푑푒푝푒푛푑푒푛푐푖푒푠 푉표푙푎푡푖푙푖푡푦푄 푑 ∗ 퐸푙퐷푒푝푒푛푑푒푛푐푦푄(푑)  Elasticity Quantification Function  퐸푄 푠 = 푑 ∈ 푐표푠푡, 푞푢푎푙푖푡푦, 푟푒푠표푢푟푐푒 푊 푑 ∗ 푐 ∈ 푠.푐푎푝푎푏푖푙푖푡푖푒푠(푑) 퐸퐶푄 푐
  9. 9. Evaluating Elasticity of Cloud Services Example: Elasticity of Amazon EC2 IaaS Services  Elasticity Phase Quantification Coefficient  퐸푙푃ℎ푎푠푒푄 푝 = 1 ∶ 푖푓 퐼푛푠푡푎푛푡푖푎푡푖표푛 푇푖푚푒 2 ∶ 푖푓 푅푢푛 푇푖푚푒 3 ∶ 푖푓 퐵표푡ℎ  Elasticity Dependency Volatility Quantification Coefficient  푉표푙푎푡푖푙푖푡푦푄 푑 = 1/푚푖푛푆푒푟푣푖푐푒퐿푖푓푒푡푖푚푒퐼푛퐻표푢푟푠 9  Elasticity Dependency Type Quantification Coefficient  퐸푙퐷푒푝푒푛푑푒푛푐푦푄 푑 = 1: 푖푓 푂푝푡푖표푛푎푙 퐴푠푠표푐푖푎푡푖표푛 −1: 푖푓 푀푎푛푑푎푡표푟푦 퐴푠푠표푐푖푎푡푖표푛
  10. 10. Approach 10
  11. 11. Capturing elasticity requirements for SES Elasticity-based strategies 11 Max Overall Elasticity Max Cost Elasticity Max Quality Elasticity Max Resources Elasticity Max Service Association Property-based Strategies Max Requirements Max Quality Max Resources Min Cost
  12. 12. Capturing elasticity requirements for SES Example: M2M SES 12
  13. 13. Constructing Elastic Software-Defined Systems Evaluating 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. 14. Experiments Constructing SES (1/3) 14 Integrating elasticity-based service selection with property-based selection
  15. 15. Experiments Constructing SES (2/3) 15 Property-based selection alone might recommend services which do not provide necessary control options.
  16. 16. Even a single system unit might require multiple cloud services Experiments Constructing SES (3/3) 16 with the correct recommended quality, resources, and associated cost Solution visualized using Winery (TOSCA Modeling Tool)
  17. 17. 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/)

×