Windows Azure Pack, Usage and Billing
Metered Resources – Setting up Unit Multiplier and Monthly Unit Price
Cloud Assert Usage & Billing for Windows Azure Pack
Metered Resource Pricing Setup Wizard (sample):
Step 1: Determine the WAP Usage Resource and its unit (Raw Usage unit)
Each WAP Resource’s Raw Usage is expressed in different units. This unit is decided by the Resource Provider that generates that usage. Cloud Assert Usage & Billing product depends upon these Raw Usage values, to calculate the bill and invoice of each customer.
One might need to refer to the Resource Provider’s documentation to know this unit.
Example WAP Resources:
# |
Resource Provider |
Component |
Metered Resource |
Units in which raw usage is returned by WAP |
1 |
systemcenter |
Virtual Machine |
CPUAllocationCount-Max |
Number of CPUs |
2 |
systemcenter |
Virtual Machine |
MemoryConsumed-Max |
Mega Bytes (MB) |
3 |
systemcenter |
Virtual Machine |
CrossDiskSizeAllocated-Average |
Bytes |
Step 2: Set the Unit Multiplier
Decide the units in which to charge the customers and accordingly set the Unit Multiplier. This Unit Multiplier is multiplied with the Raw Usage, to generate the resulting units (Billable Units) upon which pricing is calculated.
Calculated Units or Billable Units = Raw Usage value * Unit Multiplier
For instance, if the Raw Usage unit is expressed in Mega Bytes, and if you decide to setup the Monthly Pricing based on Giga Bytes, then the Unit Multiplier will be 1/1024 expressed in decimals.
Examples:
# |
Metered Resource |
WAP Raw Usage Unit |
Billable Unit |
Unit Multiplier |
In decimal |
1 |
CPUAllocationCount-Max |
Number of CPUs |
Number of CPUs |
1 |
1 |
2 |
MemoryConsumed-Max |
MB |
Giga Bytes (GB) |
1 / 1024 |
0.0009765625 |
3 |
CrossDiskSizeAllocated-Average |
Bytes |
Giga Bytes (GB) |
1 / (1024 * 1024 * 1024) |
0.0000000009313 |
Step 3: Monthly Unit Price - Set the price per month based on above units
Monthly Unit Price is the price equivalent for usage of ‘1 unit / hour’ of usage for 720 hours (24 hours * 30 days). Based on this value, Hourly Unit Price is calculated internally by Cloud Assert Usage & Billing product and used to calculate the net cost of a customer’s per hour usage of a WAP Resource.
Usage Cost @ a hour = [Billable Units @ that hour] * [Hourly Unit Price]
Usage Cost @ a hour = Raw Usage value * Unit Multiplier * Monthly Unit Price / 720
Example Price setup:
# |
Metered Resource |
Billable Unit |
Unit Multiplier |
Monthly Unit Price |
Hourly Unit Price (Calculated internally) |
1 |
CPUAllocationCount-Max |
Number of CPUs |
1 |
30 MYR |
0.04167 |
2 |
MemoryConsumed-Max |
Giga Bytes (GB) |
1 / 1024 |
40 MYR |
0.05556 |
3 |
CrossDiskSizeAllocated-Average |
Giga Bytes (GB) |
1 / (1024 * 1024) |
3 MYR |
0.00417 |
Cost Calculation examples
Example 1: Compute Units or Total Count
In the below table, Hourly Unit Price is calculated considering Monthly Unit Price as 10 MYR/ 1 Unit.
# |
Metered Resource |
WAP Raw Usage at a hour |
Unit Multiplier |
Calculated Hourly Units |
Hourly Unit Price |
Calculated Hourly Price |
1 |
Compute Units |
10 (Units) |
1 |
10 |
0.01388889 |
0.1388889 |
2 |
DatabaseCount |
2 (Units) |
1 |
2 |
0.01388889 |
0.0277778 |
3 |
CPUAllocationCount-Max |
3 (Units) |
1 |
3 |
0.01388889 |
0.0416667 |
Example 2: Bytes / MB / GB
In the below table, Hourly Unit Price is calculated considering Monthly Unit Price as 40 MYR / 1 GB.
# |
Metered Resource |
WAP Raw Usage at a hour |
Unit Multiplier |
Calculated Hourly Units |
Hourly Unit Price |
Calculated Hourly Price |
1 |
CrossDiskSizeAllocated-Average |
45134905344 (bytes) |
1 / (1024 * 1024) |
43044 (MB) |
5.425347 |
2.335 |
2 |
CrossDiskSizeAllocated-Average |
45134905344 (bytes) |
1 / (1024 * 1024 * 1024) |
42.03515625 (GB) |
0.05556 |
2.335 |
3 |
MemoryConsumed-Max |
2048 (MB) |
1/1024 |
2 |
0.05556 |
0.1111 |
4 |
TotalAllottedSpace |
4096 (MB) |
1/1024 |
4 |
0.05556 |
0.22224 |
From the rows (1) and (2), we can observe that even when ‘Calculated Hourly Units’ and ‘Hourly Unit Price’ are different, the ‘Calculated Hourly Price’ stays same if the usage is same.
Key values:
X |
Value |
1 / 1024 |
0.0009765625 |
1 / (1024 * 1024 * 1024) |
0.0000000009313 |
1024 ^ 3 |
1073741824 |
1024 * 1024 |
1048576 |