VM instance model in VMware vCenter ChargeBack up to version 2.0.1 still has no prorating on charges. For those of you who is not sure what I am describing by VM Instance below how its described in the “VMware-Technote-Using-vCenter-Chargeback-vCloud-Director” document as well a screenshot of where you configure VM instance in vCenter ChargeBack:
“VM Instance enables the creation of a matrix of fixed costs that apply to hard a hard bundle of vCPU (count) and memory (MB). VM Instance matrices are linked with a cost model and consist of the hierarchy selection criteria, a fixed-cost table and a default fixed cost. Selection criteria can be based on name-pattern matching or custom- attribute matching. VM Instance uses a stepping function, where the virtual machine charge steps up to the next instance size. Costs are applied only for the duration when a virtual machine is powered on and is not prorated.”
All this seems great beside the one last sentence “Costs are applied only for the duration when a virtual machine is powered on and is not prorated.” This means if you setup your fixed cost charges into there for monthly and you only powered the VM for an hour then turned it off you are being charged the full month rate. Further, it will charge the full rate on each power on. This get you to another problem that when ever you power on and off the same VM multiple times it just go and insert that charge multiple times. This is obviously not what most of us intend it to do, but its how vCenter ChargeBack VM Instance Matrix has been setup to do by design. The only way around it at the moment is to clean your result through the API before showing them into your billing system. In another word, there is nothing you can do about it in the UI & this seems to be how it work by design.
One last note about VMware vCenter ChargeBack VM Instance model is that its now available for all hierarchies in vCenter Chargeback Manager including Allocation Pool Organization DataCenters which is an improvement over earlier version where it was only available for the pay as you go model which could explain the bit of odd behavior explained earlier in this post. The extended support of VM Instance Matrix in ChargeBack was included in vCenter ChargeBack 2.0 release notes & the exact paragraph is quoted below:
“VM Instance Cost support for all hierarchies in vCenter Chargeback Manager
In vCenter Chargeback Manager 2.0, you can define fixed cost pricing matrices for virtual machines based on vCPU count and memory bundles. Unlike earlier releases, this functionality is now available for all the hierarchies created in vCenter Chargeback Manager.”
The moral of the story in this post, is to be careful when using the VM Instance Matrix in VMware ChargeBack & ensure you understand the way it work & any clean up work needed before including it into your customers bills. Further, I am hoping more flexibility will be introduced to the VM Instance Matrix in vCenter ChargeBack in the future.
I hope this help clean up some one confusion.