The default Pricing Profile shipped with Usage & Billing solution has System Center Metered Resource pricing entries based on individual resources such as CPU, RAM, Disk, and NIC. But many of our customers are interested to bill their tenants for their System Center Virtual Machines' usage based on their size such as Small, Medium and Large. Unfortunately, System Center does not send the size of the VM as one of the Metered Resources to Azure Pack.
This blog post explains how sizing-based pricing can still be achieved using our Pricing Profile. We have to leverage the Custom Formula field in the Metered Resource Pricing Wizard.
Let’s consider an Azure (Public Cloud) scenario:
Let's define the base size for a VM to be a Small VM (A1) that has 1 core and 1.75 GB of RAM. Taking 1 core and 1.75 GB RAM to be of size factor 1 each, the total Size Factor of this VM is 2.
So the formula for Size Factor of any given VM is defined as below:
Size Factor of a VM = (CPU Cores) / 1 + (RAM in GB / 1.75)
If the cost of a Small VM with size factor of 2 is $19.99 per month, then the formula for the cost of any given VM based on its Size Factor is as follows:
Cost of a VM = (19.99 / 2) * (Size Factor of the VM) = 9.995 * (Size Factor of the VM)
Based on the above formulae, the pricing for various VM sizes can be defined as per the table below:
Size Name
|
Cores
|
RAM
|
Size Factor
|
Monthly Cost
|
A0
|
1
|
0.75
|
1.43
|
14.29
|
A1
|
1
|
1.75
|
2
|
19.99
|
A2
|
2
|
3.5
|
4
|
39.98
|
A3
|
4
|
7
|
8
|
79.96
|
A4
|
8
|
14
|
16
|
159.92
|
To achieve the above pricing using our U&B product in the WAP Admin Portal, navigate to the Pricing Profile tab ➔ Click on your pricing profile ➔ Select the System Center Virtual Machine CPUAllocationCount-Average metered resource and click Edit ➔ Setup the following fields:
Custom Formula: CPUAllocationCount-Average + ((MemoryAllocated-Average / 1024) / 1.75)
Monthly Unit Price: 9.995
Resource Display Name: VM Size