31
Daniel Moldovan Hong-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

Cost-aware scalability of applications in public clouds

Embed Size (px)

Citation preview

Page 1: Cost-aware scalability of applications in public clouds

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

Page 2: Cost-aware scalability of applications in public clouds

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

Page 3: Cost-aware scalability of applications in public clouds

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.

Page 4: Cost-aware scalability of applications in public clouds

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.

Page 5: Cost-aware scalability of applications in public clouds

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.

Page 6: Cost-aware scalability of applications in public clouds

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.

Page 7: Cost-aware scalability of applications in public clouds

7

Evaluating Costs of Elastic ApplicationsApproach

Page 8: Cost-aware scalability of applications in public clouds

Managing Cloud Pricing Schemes

Page 9: Cost-aware scalability of applications in public clouds

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.

Page 10: Cost-aware scalability of applications in public clouds

10

Evaluating Costs of Elastic ApplicationsCloud pricing scheme fluent API

We introduce a fluent API for describing pricing schemes of any complexity.

Page 11: Cost-aware scalability of applications in public clouds

Managing Structure of Elastic Cloud Applications

Page 12: Cost-aware scalability of applications in public clouds

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.

Page 13: Cost-aware scalability of applications in public clouds

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.

Page 14: Cost-aware scalability of applications in public clouds

Monitor Elastic Cloud Applications

Page 15: Cost-aware scalability of applications in public clouds

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.

Page 16: Cost-aware scalability of applications in public clouds

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.

Page 17: Cost-aware scalability of applications in public clouds

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.

Page 18: Cost-aware scalability of applications in public clouds

Evaluate Costs of Elastic Cloud Applications

Page 19: Cost-aware scalability of applications in public clouds

19

Evaluating Costs of Scalable Cloud ApplicationsExperiments: Elastic cloud platform for smart environments on Flexiant

Page 20: Cost-aware scalability of applications in public clouds

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.

Page 21: Cost-aware scalability of applications in public clouds

Evaluating Costs of Scalable Cloud ApplicationsExperiments: Elastic cloud platform cost composition (2/2)

21

Page 22: Cost-aware scalability of applications in public clouds

Evaluate Cost Efficiency of Cloud Applications

Page 23: Cost-aware scalability of applications in public clouds

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.

Page 24: Cost-aware scalability of applications in public clouds

Costs Analysis and Cost-aware ControlCost efficiency of scalable applications: cost efficiency formula

24

Page 25: Cost-aware scalability of applications in public clouds

Costs Analysis and Cost-aware Control Experiments: Cost-aware scalability of Event Processing Unit on Flexiant

25

Page 26: Cost-aware scalability of applications in public clouds

Costs Analysis and Cost-aware Control Experiments: Cost efficiency of Event Processing Unit VM on Flexiant

26

Page 27: Cost-aware scalability of applications in public clouds

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

Page 28: Cost-aware scalability of applications in public clouds

Cost-aware Control of Elastic Cloud Applications

Page 29: Cost-aware scalability of applications in public clouds

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

Page 30: Cost-aware scalability of applications in public clouds

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

Page 31: Cost-aware scalability of applications in public clouds

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/)