Monext: An Accounting Framework for Federated Clouds

Francisco Airton
(faps@cin.ufpe.br)

Vinicius Garcia
(vcg@cin.ufpe.br)

Universidade Federal de Pernambuco Centro de Informática Recife - PE
27 de fevereiro de 2013

Context

Internet

Cloud Computing

cin.ufpe.br/~faps/monext

2

Introduction

SaaS PaaS IaaS

cin.ufpe.br/~faps/monext

3

IaaS Accounting?

cin.ufpe.br/~faps/monext

4

Federated Cloud
Cloud Provider B
Cloud Resource Pool Virtual Machines

Cloud Provider C
Cloud Resource Pool Virtual Machines

Cloud Provider A
Cloud Resource Pool Virtual Machines

<consumes>

<bills>

cin.ufpe.br/~faps/monext

5

Motivation
Federated Cloud Platform [Buyya et al., 2010] Accounting System Yes

[RESERVOIR, 2009] [Kertesz et al., 2012]
[Celesti et al., 2010] [Distefano et al., 2011] [JiTCloud, 2012]

Yes No
No No No

cin.ufpe.br/~faps/monext

6

The Idea....
Platforms [Celesti et al., 2010] [JiTCloud, 2012]
[Kertesz et al., 2012]
[Distefano et al., 2011]

[....]

API Accounting Framework

cin.ufpe.br/~faps/monext

7

Outline

cin.ufpe.br/~faps/monext

8

The first decision...
Systematic Mapping Study vs. Systematic Review

cin.ufpe.br/~faps/monext

9

Systematic Mapping Study on Cloud Accounting

cin.ufpe.br/~faps/monext

10

Mapping Study Process
Research Questions
RQ1: Is there any taxonomy for concepts
related to accounting process in cloud computing?

RQ2: What are the existing accounting
models for cloud computing?

RQ3: What are the existing pricing schemes
for cloud/grid computing?

RQ4: What are the aspects taken into
account to compose a SLA in cloud/grid computing scenario? 580 Papers  23 Papers

[Peterson, 2007]

cin.ufpe.br/~faps/monext

11

RQ1 - Is there any taxonomy for concepts related to accounting process in cloud computing?

[Agundez, 2010]

cin.ufpe.br/~faps/monext

12

RQ2: What are the existing accounting models for cloud computing?
A Model for Federated Clouds Cloud Supply Chain Flexible Accounting Model ABS

THEMIS

cin.ufpe.br/~faps/monext

13

RQ3: What are the existing pricing schemes for cloud/grid computing?
Time-based
Volume-based Usage-based Flat-rate

QoS-based
Service type Content-based Progressive Co-design Cost-based Supply and Demand based Real-Time Pricing (RTP) Derivative Follower Model Hybrid Pricing Model Auction based

Differentiation on time-of-day Competitor-Oriented (CO) Pricing

31 Pricing Schemes

Location-based Paris-Metro pricing Priority pricing Edge pricing Responsive pricing Effective bandwidth pricing

Proportional fairness pricing
Cumulus pricing Session-oriented One-off charge per service

English Auction
First-Price Sealed-Bid Auction Vickrey Dutch Auction Double Auction

cin.ufpe.br/~faps/monext

14

RQ4: What are the aspects taken into account to compose a SLA in cloud/grid computing scenario?
1. 2. 3. 4. 5. 6. 7. 8. 9. Validity Period Purpose Parties Restrictions Penalties Scope Service-Level Objectives Optional Services Exclusions

SLA Components

SLA Language

SLA Satisfaction Function

SLA Metrics X Service Type

cin.ufpe.br/~faps/monext

15

Resource as a Service (RaaS)

VM2

VM1
Mem. CPU Traditional Disk Mem. CPU RaaS
[Orna et. al, 2012]
16

Disk

cin.ufpe.br/~faps/monext

Extracting Information....
(Accounting Models Analysis)
Features Models Flexible Accounting A Model for Federated ABS THEMIS Model Clouds Cloud Supply Chain

1

2 3 4 5 Flexible Payment Models 6 Flexible Charging Policy 7 RaaS

Pricing Metering Mediation Accounting Roaming Billing Charging Finantial Clearing Federated Cloud GUI SLA Support

cin.ufpe.br/~faps/monext

17

Extracting Information....
(Cloud Accounting Principles)

1. 2. 3. 4. 5. 6. 7. 8.

Location Unawareness Flexible Data Format Service Elasticity Service Accounting Compensations Service Billing Adaptable Design Complex Pricing
cin.ufpe.br/~faps/monext

[Elmroth et al., 2009]

18

The Monext Framework

cin.ufpe.br/~faps/monext

19

Monext Requirements

cin.ufpe.br/~faps/monext

20

Monext Overview

cin.ufpe.br/~faps/monext

21

Remote Collecting Strategy

JiTProcessingService

REQ-01 Location Unawareness
REQ-10 Federated Cloud

cin.ufpe.br/~faps/monext

22

Static View

REQ-03 Service Elasticity REQ-04 Service Accounting

cin.ufpe.br/~faps/monext

23

Dynamic View

REQ-09 Standard Accounting Process

REQ-13 Flexible Payment Models
REQ-12 SLA Support REQ-05 Compensations REQ-06 Service Billing

cin.ufpe.br/~faps/monext

24

Usage Record Example
{ "vmId":"i-FA0D43A3", "cpuUsage":7.24, "diskUsage":14.94, "memoryUsage":44.25, "date":"2013,1,23,12,10,30“ }

cin.ufpe.br/~faps/monext

25

Used Technologies
JiTCollectorAgent & JiTProcessingService

JiTCollectorAgent

REQ-02 Flexible Data Format

JiTProcessingService

REQ-11 Graphical User Interface REQ-07 Adaptable Design

cin.ufpe.br/~faps/monext

26

Monext Screenshot

cin.ufpe.br/~faps/monext

27

Three more requirements...
REQ-08 Complex Pricing REQ-14 Flexible Charging Policy Specification REQ-15 Resource as a Service

VeloZ
Memory CPU Disk Time cin.ufpe.br/~faps/monext
28

VeloZ Syntax

cin.ufpe.br/~faps/monext

29

Default Charging Variables
AVG

%+

$

cin.ufpe.br/~faps/monext

30

Charging Policy Example

dec { cpu_sum, used_time, cpu_rate } in calc { fixed_time = 3600, fixed_cpu_sum = 400000 } in total { cpu_rate/((fixed_cpu_sum/cpu_sum)*(fixed_time/used_time)) } cin.ufpe.br/~faps/monext
31

Writing the Charging Policy...

cin.ufpe.br/~faps/monext

32

Evaluation

cin.ufpe.br/~faps/monext

33

JiTCloud Platform

cin.ufpe.br/~faps/monext

34

Monext API
addAccount(...) addJiTDC(...) addVMType(...) inactivateAccount(...) changeCurrentChargingPolicy(...) changePaymentInformation(...) getVMTypeRate (...) getCurrentChargingPolicy (...) getCurrentPrePaidLimit (...) getJitDCRate (...) increasePrePaidLimit (...) validateRequest (...) createFinantialReport (...) describeAccounts (...) createUsageReport (...) billingAll (...) doBilling (...) notifyRunningInstances (...) notifyTerminatedInstances (...) payBill (...)

API Monext

Methods

cin.ufpe.br/~faps/monext

35

Evaluation Process

[Wohlin et al., 2000]

cin.ufpe.br/~faps/monext

36

Definition

cin.ufpe.br/~faps/monext

37

Preparation
RabbitMQ STRESS

cin.ufpe.br/~faps/monext

Statistics for Hypothesis Formulation
Pearson Coefficient (P)

[Cohen, 1988]
Equality Level (EL) 0% <= EL <= 100%

cin.ufpe.br/~faps/monext

39

Question 1
Question Metric
Null Hypothesis

CPU Time

Q1. Can the Monext framework consider different resource types for charging at the same time? M1 = P (resource type, bill monetary value)

H0a: -0,5 < Pearson < 0,5

dec { cpu_sum, used_time, cpu_rate } in calc { fixed_time = 3600, fixed_cpu_sum = 2000 } in total { cpu_rate/((fixed_cpu_sum/cpu_sum)*(fixed_time/used_time)) }

1 VM / 8 Hours / 16 Bills

cin.ufpe.br/~faps/monext

40

...Question 1
cpu_sum
35000 30000

CPU Time

used_time

bill_value
60 50 40 30

Time (s) & CPU (%+)

20000 15000 10000 5000 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

20 10 0

Bills

Bill Value ($)

25000

0.5 <= P <=1.0 P( cpu_sum, bill_value) = 0.971207457 P(used_time, bill_value) = 0.967241001 RaaS ? cin.ufpe.br/~faps/monext
41

Question 2
Question Metric
Null Hypothesis

UR UR UR

Q2. Can the Monext framework handle the scalability of VMs? M2 = P (used time , number of usage records)

H0b: -0,5 < Pearson < 0,5

dec { cpu_sum, cpu_rate, mem_sum, mem_rate, disk_sum, disk_rate, used_time } in calc {fixed_cpu_sum = 400000, fixed_mem_sum = 400000, fixed_disk_sum = 400000, fixed_time = 3600 } in total { cpu_rate/((fixed_cpu_sum/cpu_sum)*(fixed_time/used_time))+ mem_rate/((fixed_mem_sum/mem_sum)*(fixed_time/used_time)) + disk_rate/((fixed_disk_sum/disk_sum)*(fixed_time/used_time)) }

30 VMs / 8 Hours / 1 Bill cin.ufpe.br/~faps/monext
42

...Question 2
used_time
28700 28680 28660

UR UR UR

usage_records
21900 21890 21880 21870 21860 21850 21840 21830 21820

Used Time (seconds)

28620 28600 28580 28560 28540 28520 28500 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

VMs

Usage Records

28640

0.5 <= P <= 1.0

1 second P(used_time, usage_records) = 0.560979 10 seconds P(used_time, usage_records) = 1.0
REQ-03 Service Elasticity ?

cin.ufpe.br/~faps/monext

43

Question 3
Question Q3. Can the Monext framework charge for long running services? M3 = EL (used time recorded , used time charged)
(SUR)

(Charging Record)

Metric
Null Hypothesis

H0c: Equality Level ≠ 100%

dec { cpu_sum, cpu_rate, mem_sum, mem_rate, disk_sum, disk_rate, used_time } in calc {fixed_cpu_sum = 400000, fixed_mem_sum = 400000, fixed_disk_sum = 400000, fixed_time = 3600 } in total { cpu_rate/((fixed_cpu_sum/cpu_sum)*(fixed_time/used_time))+ mem_rate/((fixed_mem_sum/mem_sum)*(fixed_time/used_time)) + disk_rate/((fixed_disk_sum/disk_sum)*(fixed_time/used_time)) }

30 VMs / 8 Hours / 1 Bill cin.ufpe.br/~faps/monext
44

....Question 3
M3 = 100%

[...]

REQ-04 Service Accounting ? Time ≈ 8 hours

cin.ufpe.br/~faps/monext

45

Question 4
Question Metric
Null Hypothesis

VM

VM

Q4. Can the Monext framework calculates bills considering all the customer usage? M4 = EL (charging records, bill value)

H0d: Equality Level ≠ 100%

dec { cpu_sum, cpu_rate, mem_sum, mem_rate, disk_sum, disk_rate, used_time } in calc {fixed_cpu_sum = 400000, fixed_mem_sum = 400000, fixed_disk_sum = 400000, fixed_time = 3600 } in total { cpu_rate/((fixed_cpu_sum/cpu_sum)*(fixed_time/used_time))+ mem_rate/((fixed_mem_sum/mem_sum)*(fixed_time/used_time)) + disk_rate/((fixed_disk_sum/disk_sum)*(fixed_time/used_time)) }

30 VMs / 8 Hours / 1 Bill cin.ufpe.br/~faps/monext
46

....Question 4

VM

VM

[...]

Charging Records Sum: 295,01

M3 = 100%
REQ-06 Service Billing?
47

cin.ufpe.br/~faps/monext

Question 5
Question Metric
Null Hypothesis

SLA

Q5. Can the Monext framework handle anomalies to calculate bills considering compensations? M5 = EL (anomalies, compensation)

H0e: Equality Level ≠ 100%

dec { time_rate, used_time } in calc { fixed_time = 3600 } in total { ((used_time * time_rate)/ fixed_time) - compensation }

30 VMs / 8 Hours / 1 Bill cin.ufpe.br/~faps/monext
48

...Question 5

SLA

[...] M3 = 100%
REQ-05 Compensations ?

cin.ufpe.br/~faps/monext

49

Threats to Validity
• • • • Size Scalability Geographical Scalability Time Constraint Simulated Context

cin.ufpe.br/~faps/monext

50

Research Contributions
• Mapping Study on Cloud Accounting • Monext Framework • Experimental Study

cin.ufpe.br/~faps/monext

51

Future Work
• Re-run the Systematic Mapping Study • Improvements of Monext • Extension of the Experiment

cin.ufpe.br/~faps/monext

52

Conclusion

cin.ufpe.br/~faps/monext

53

Thank You
http://cin.ufpe.br/~faps/monext

cin.ufpe.br/~faps/monext

54

Monext: An Accounting Framework for Federated Clouds
Francisco Airton
(faps@cin.ufpe.br)

Vinicius Garcia
(vcg@cin.ufpe.br)

Universidade Federal de Pernambuco Centro de Informática Recife - PE
27 de fevereiro de 2013

....Question 3
1. <Start VM> setStartTime(new Date())

UR VM UR

2.

JiTProcesssingService


cin.ufpe.br/~faps/monext
56

SLA Specification

cin.ufpe.br/~faps/monext

57

Using the RabbitMQ...

cin.ufpe.br/~faps/monext

58

Mapping Study Process

SLA OR “Service Level Agreement” OR billing OR pricing OR payment OR accounting AND “Cloud computing” OR “Grid computing” OR “Infrastructure as a Service” OR “Platform as a Service” OR “Software as a Service”
Search String

580 Papers

cin.ufpe.br/~faps/monext

59

Number of Papers vs. Search Engines

cin.ufpe.br/~faps/monext

60

Mapping Study Process
 First Filter  98 papers  Second Filter  23 papers
Exclusion Criteria 1. Papers that just mentioned the studied research issue. 2. Studies only available as abstracts or presentations 3. Duplicate studies

cin.ufpe.br/~faps/monext

61

Mapping Study Process
Category

Accounting Model Features

Types
Pricing, Metering, Mediation, Accounting, Roaming, Billing, Charging, Financial Clearing, Cloud Federation, Just in Time Clouds, User Interface, Security Support, SLA Support and Variable Payment Models; Validation Research, Evaluation Research, Solution Proposal, Philosophical Papers, Opinion Papers, Experience Papers Method, Process, Technique, Model and Framework

 Research Type  Contribution Type

cin.ufpe.br/~faps/monext

62

Sign up to vote on this title
UsefulNot useful