Upload
daniel-moldovan
View
908
Download
2
Embed Size (px)
Citation preview
Daniel MoldovanHong-Linh Truong, Schahram Dustdar
Cost-aware scalability of applications in public clouds
Distributed Systems Group (http://dsg.tuwien.ac.at/)
Vienna University of Technology (http://www.tuwien.ac.at/)
International Conference on Cloud Engineering, IC2E 2016, IEEE
Berlin, Germany, 4-8 April, 2016
Motivating ScenarioElastic cloud platform for smart environments (1/3)
Context Company offering services for maintenance of smart environments E.g., buildings or vehicle fleets
Application Cloud-based application storing, retrieving and analyzing data collected from sensors
Elasticity through Horizontal Scalability Unpredictable load Adapt to varying demand, and keep operating costs down for price competitiveness.
2
Design time view of Data-as-a-Service cloud system for IoT
Motivating ScenarioElastic cloud platform for smart environments (2/3)
Horizontally Scalable Components Local Data Processing Event Processing Data Node
3
Data-as-a-Service elastic cloud system for IoT with elasticity capabilities
To make an application elastic, elasticity capabilities need to be implemented and provided
for application components.
MotivationElastic cloud platform for smart environments (3/3)
4
Time
Load
Time
Performance
Cost
Time
Time
Used cloud services count
Driving factor for Scale Out
Driving factor for Scale In
An elastic application must be able to add/remove cloud services on demand.Scaling Out/Up is usually due to performance-related issues.Scale In/Down however is usually motivated by cost issues.
MotivationCost Complexity: Configuration of used cloud services
5
Used cloud offered services
Example: Data Node deployed on Amazon EC2
When deploying applications in public clouds, cost can be very complex.Even a single application component, on Amazon might use a VM service, a Storage service, Monitoring and Network services, all billed and paid differently.
6
MotivationCost Complexity: Cloud provider pricing scheme
Example: Flexiant Cloud pricing scheme
With few exceptions, cloud pricing schemes can also be complex, costs being reported over different metrics, with respect to certain usage or reservation time intervals.
7
Evaluating Costs of Elastic ApplicationsApproach
Managing Cloud Pricing Schemes
Evaluating Costs of Elastic ApplicationsModelling cloud pricing schemes
9
Flexiant Cloud pricing scheme
We define a model for capturing pricing schemes of public cloud providers.
10
Evaluating Costs of Elastic ApplicationsCloud pricing scheme fluent API
We introduce a fluent API for describing pricing schemes of any complexity.
Managing Structure of Elastic Cloud Applications
12
Evaluating Costs of Elastic ApplicationsManaging application structure
We introduce a fluent API for describing the structure of elastic applications in terms of application components and cloud services used by each component
The resource and quality properties are needed because on some cloud providers you can allocate one cloud service with different extra options at different cost.
For example on Amazon, you can allocate on VM type with or without EBS support, at different cost.
13
Evaluating Costs of Elastic ApplicationsExample: Elastic cloud platform for smart environments on Flexiant
Visualization generated by our tool of one application tier, with the cloud services used by each application component.
Monitor Elastic Cloud Applications
MotivationRequired monitoring information to compute cost
15
To compute costs for individual application components, the necessary monitoring information according to the billing metrics must be collected and structured.
Background: Monitoring Elastic Cloud ApplicationsMELA: Structuring monitoring information
16
…
Data Node UnitData Node Unit
Data Controller Unit
Data Controller Unit
Data EndTopology
Data EndTopology
…
Event ProcessingTopology
Event ProcessingTopology
Elastic DaaS
Elastic DaaS
…
Unit InstanceUnit Instance
Unit InstanceUnit Instance
m
m
Custom metric aggregation and structuring
<rule> := operation "=>" metric<operation>:= operator "(" operand { "," operand } ")"<operator> := "+"|"-"|"*"|"/"|"AVG"|"MAX"|"MIN“ |"CONCAT"|"FIRST"|"LAST"|"SET" <operand> := metric | number | string
Daniel Moldovan , Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, "MELA: Monitoring and Analyzing Elasticity of Cloud Services ", 5'th International Conference on Cloud Computing Technology and Science (CloudCom). Bristol, UK, 2-5 December, 2013.
Daniel Moldovan , Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, "MELA: Monitoring and Analyzing Elasticity of Cloud Services ", 5'th International Conference on Cloud Computing Technology and Science (CloudCom). Bristol, UK, 2-5 December, 2013.
We use our previous work to structure monitoring information and select what metrics to collect, as a means of enabling detailed costs analysis.
Background: Monitoring Elastic Cloud ApplicationsMulti-level Monitoring Snapshot
17
With our approach we can structure, enrich and aggregate monitoring information, useful especially considering that elastic applications will have multiple instances of their components.
Evaluate Costs of Elastic Cloud Applications
19
Evaluating Costs of Scalable Cloud ApplicationsExperiments: Elastic cloud platform for smart environments on Flexiant
Evaluating Costs of Scalable Cloud ApplicationsExperiments: Elastic cloud platform cost composition (1/2)
20
Combining monitoring data structuring and our cost model, we can compute a hierarchic cost decomposition.
Evaluating Costs of Scalable Cloud ApplicationsExperiments: Elastic cloud platform cost composition (2/2)
21
Evaluate Cost Efficiency of Cloud Applications
Service instance j
Costs Analysis and Cost-aware ControlCost efficiency of scalable applications: billing fragmentation
23
Cost efficiencyif scaled IN (%)
Time/Usage
Service instance i
100
0
Billing Cycle (e.g., /hour, or /GB of IO)
Scale IN: service instance deallocationScale OUT: service instance allocation
Public clouds usually bill rounding up certain usage units (E.g., 1 hour, 1 GB)When scaling in applications in public clouds, one must understand which application component instance
is more cost efficient (i.e. used) to scale in, so we do not deallocate paidfor but unused resources.
Costs Analysis and Cost-aware ControlCost efficiency of scalable applications: cost efficiency formula
24
Costs Analysis and Cost-aware Control Experiments: Cost-aware scalability of Event Processing Unit on Flexiant
25
Costs Analysis and Cost-aware Control Experiments: Cost efficiency of Event Processing Unit VM on Flexiant
26
Costs Analysis and Cost-aware ControlExperiments: Cost efficiency of Event Processing Unit VMs on Flexiant
27
Cos
t eff
icie
ncy
if d
eall
ocat
ed (
%)
Scale IN Scale IN
Scale OUT
Scale OUT
Cost-aware Control of Elastic Cloud Applications
Costs Analysis and Cost-aware ControlExperiments: Cost-aware scalability of Event Processing Unit (1/2)
Cost Efficiency Comparison of Scale In Strategies Scale in every 45 minutes 2 Cost agnostic strategies: scale in Last/First added 2 Cost-driven strategies: scale in based on Reservation Cycle/ Overall Cost Efficiency
29
Costs Analysis and Cost-aware ControlExperiments: Cost-aware scalability of Event Processing Unit (2/2)
Cost Efficiency Comparison of Scale In Strategies Random 1-3 scale-in/scale-out requests at random time intervals between 30-60 minutes Best cost-agnostic strategy: Deallocating last Added Best cost-aware strategy: Deallocating if Cost Efficiency > 80%
30
Number of event processing instances under cost-aware and cost-agnostic scalability
Costs Analysis and Cost-aware ControlConclusions
Research question How can scalable applications running in public clouds be controlled in a cost efficient
manner?
Objective Improve cost efficiency of scalable applications running in public clouds
Approach Concepts of Composite Cost and Cost efficiency of scalable applications Model for capturing cloud pricing schemes Algorithms for analyzing composite cost and cost efficiency of cloud applications
Framework/Tools MELA: Monitoring and analyzing elasticity of cloud applications (http://tuwiendsg.github.io/MELA/)
31
Work partially supported by the European Commission in terms of the CELAR FP7 project (http://www.celarcloud.eu/)
Distributed Systems Group (http://dsg.tuwien.ac.at/)
Vienna University of Technology (http://www.tuwien.ac.at/)