The financial aspect of deploying VMs is becoming more critical as usage of cloud increases. Showing the price of VMs to end users can help influence their behavior when requesting new VMs and maintaining their existing VMs. With the release of vRealize Automation 8.1 and vRealize Operations 8.1, defining the prices of your VMs is now more powerful than ever.
With vRealize Operations, there are two ways of looking at looking at VMs from a financial perspective. The first is cost, which is how much you, as the provider of the infrastructure for the VM, spend to run the VM on behalf of your customer. In vRealize Operations, you configure Cost Drivers to let the system automatically determine how much a VM costs based on what your infrastructure costs. Cost Drivers cover server hardware, storage, licenses, application, maintenance, labor, network, facilities, and additional costs configured within vRealize Operations.
Price is how much you charge your customer for running their VM. The price of a VM can be based on the cost of the VM or based on a rate card that you define. Prices can include upcharges, profit, service charges, etc.
While vRealize Operations calculates both VM cost and price, the integration with vRealize Automation is designed to always show the VM price. This gives you, as the cloud admin, the ability to define prices as you see fit for your infrastructure and use case.
Daily Price Estimate
The first feature that an end user will see is the Daily Price Estimate, which is calculated by vRealize Operations. When the user is preparing a blueprint request, vRealize Automation shows the end user the Daily Price Estimate based on how pricing is configured.
Once a blueprint is deployed, vRealize Operations calculates the prices of the VMs. Prices are updated in vRealize Automation every 24 hours so the user can see the prices of their VMs in Service Broker.
After selecting a deployment, the user can even see the price of their VMs over time at daily, weekly, or monthly intervals.
Cloud Automation Project Price Overview Dashboard
Within vRealize Operations, the Cloud Automation Project Price Overview dashboard is available out of the box to allow you to see the same VM prices that are visible in vRealize Automation. This helps to ensure both you and the end user can see the same data from both products.
Now that you know what it looks like for end users, I’m sure you’re wondering how you configure pricing. I’ll assume you have already integrated vRealize Operations inside vRealize Automation and integrated vRealize Automation inside vRealize Operations. If you need help with the integration please refer to the documentation here and here.
Pricing Card Scope
The first decision you need to decide how you want to apply Pricing Cards. You two options to select from, Projects (the default) and Cloud Zones. If you select Projects, Pricing Cards can be applied to Projects. You should select Projects if you need to charge different rates per team or group represented by a Project. With the Cloud Zone option , Pricing Cards are applied to Cloud Zones. You should select Cloud Zones if you have different prices based on the Cloud Zone itself and don’t need define different prices per Project. For example, your development Cloud Zone might have cheaper rates than your production Cloud Zone. It’s recommended to make this decision before you start defining your Pricing Cards.
Default Pricing Card
The Default Pricing Card is configured to be based on cost times a factor of 1. This means that the daily price of the VM will be the cost of the VM over the last day * 1.
Basic Charges – Cost Factor
Under Basic Charges, the Cost option is what allows you to tell the system to calculate price based on cost times the factor. If, for example, you wanted to make the price equal to the cost with a 10% markup, you would set the factor to 1.1. This is configurable for CPU, Memory, Storage, and Additional Cost.
Basic Charges – Rate
Under Basic Charges, the Rate option allows you to configure prices based on the resources allocated to the VM. In this mode, the VM’s price has no relationship to the VM’s cost. It’s recommended to configure vCPU and Memory to “Only when powered on” because when the VM is powered off, it does not consume CPU or Memory resources. For Storage, it’s best to configure it as “Always” because the VM always consume storage regardless of it’s power state.
The Guest OSes section allows you to add the price of the operating system inside the guest OS. The Guest OS Name must match the Summary|Guest Operating System|Guest OS From Tools property on the VM for the price to be added. The best way to determine the appropriate string is to deploy a VM and look at the value of the Summary|Guest Operating System|Guest OS From Tools property.
The recurring allows you to specify the price at an hourly, daily, weekly, or monthly intervals. One time price is applied only once at the time of provisioning. Rate factor allows you to apply a multiplier to the VM’s Total, CPU, Memory, or Storage price.
The Tags option allows you to add prices based on the existence of a specific tag category and value. Just like with Guest OSes above, you can select from recurring, one time, and rate factor.
Some examples where this can be useful is to add a setup charge for newly deployed VMs if the tag exists, add monthly software charges based on a tag, charge double for storage for VMs that are backed up or charge triple for VMs that are replicated for DR.
Custom Properties option works the same way as Tags mentioned above, except it’s based on the existence of specific Custom Properties instead of Tags. The same use cases apply here.
The final option is Overall Charges. The first option here is One time, which acts like a setup charge for all newly deployed VMs. The other option is Recurring, which is a charge that applies to all VMs over the interval specified.
Now that you’ve defined all of the pricing options in the new Pricing Card, you have to select a Project or Cloud Zone for the Pricing Card. All VMs deployed in the Project or Cloud Zone will be priced based on this new Pricing Card.
Pricing in vRealize Operations
In vRealize Operations, prices are available as metrics on Virtual Machine, Deployment, and Project objects. All of these metrics represent the daily price, or the price of the VM over the last day. The price metric names are:
- Summary|Metering|Total price
- Summary|Metering|CPU price
- Summary|Metering|Memory price
- Summary|Metering|Storage price
- Summary|Metering|Additional price
In vRealize Automation, you see MTD Price (month to date), while vRealize Operations stores prices as daily prices. vRealize Automation automatically handles converting daily price to MTD Price for the user. If you would like to create custom dashboards in vRealize Operations to show MTD Price, you’ll need to create a list view with transformation set to sum and time settings set to the first minute of the month.
When new VMs are deployed, the price of the VM will not show up immediately in vRealize Automation. There are a few steps to the process that take time to complete. At 9 PM UTC, vRealize Operations calculates the VM’s cost. At 12 AM UTC (Midnight), vRealize Operations calculates the VM’s price. If the Pricing Card is configured to calculate price based on cost, the price will not be calculated until cost calculation for the VM is complete. The last step is price sync within vRealize Automation every 24 hours. The key to figuring out why you may not see prices is to look at the Cloud Automation Project Price Overview dashboard to see if the VM shows prices. If not, check the VM’s age, the times that cost and price calculations run, and whether vRealize Automation has synced prices since price calculations are compete.
I know I covered a lot on this post, but I hope you see how awesome this new feature is. If you don’t have vRealize Automation or vRealize Operations in your environment today, I recommend downloading a trial and try it in your own environment! You can find more demos and videos on vrealize.vmware.com. Be sure to stay tuned here as we will have even more blogs about vRealize Operations 8.0 coming soon.