VMPower's goal is to save you cash on your cloud bill by optimizing the cost-per-hour of your Virtual Machines. You might have noticed the 'Monthly Savings' on the left side of the dashboard and wondered how we got to this number.
We'll go over the details of where this number comes from and how you can checkout the details for yourself.
Pay As You Go Rates
Currently today, VMPower utilizes pay-as-you-go rates and doesn't pick up negotiated rates or rates based on monetary commitments. That means the prices on the AWS on-demand pricing page and Azure pricing calculator are the prices used.
You can always email us about a particular rate you want for your VMs and we'll be happy to apply that. In the future VM prices will be adjustable from the dashboard.
Because VMPower runs outside of the first party cloud provider, it is unable to know the true compute hours for the month (unless billing APIs are used and even then we would have to wait until the end of billing cycle).
Instead, VMPower watches your VMs for power state changes. These changes can either be external (for example, you power off a VM via the AWS CLI) or can be from VMPower via:
- Scheduled shutdown/startup
- Auto-off shutdown
- User-initiated power-off from the VMPower dashboard
Regardless, every time a VM is powered on or off, it is impossible for VMPower to understand how long that VM will be in that state. Even for VM schedules, a schedule could be disabled at any point. To work-around this VMPower assumes that when a VM is powered on, it will be powered on until the end of the month. Similarly, when a vm is powered off, it will be assumed it will be off until end of month.
VMPower records these state changes with the associated hours and costs throughout the month.
Summing Up The $avings
You'll notice the new Savings Report page has a list of VMPower-detected VM state changes. As your VMs change state during the month, it impacts what the current savings situation of that VM is for the month.
Example: A Simple VM Schedule
For example, we have a VM schedule which allocated and deallocated a VM with an hourly cost of
hours field is the number of hours from the
Date field to the end of the month. Depending if the VM state changed from
off impacts if the
savings field is negative or positive, respectively.
Let's say the above screenshot is the complete monthly power-state changes for the VM
simpletranscription/ci-server. In this case the total savings would be calculated as:
SUMMED_CHANGES = ( -$22.19 + $22.12 + -$22.04 + $21.97 ) = -$0.14 MONTHLY_COST = 31 Days * 24 Hours/Day * $0.073/hour VM_MONTHLY_SAVINGS = MONTHLY_COST - $0.14 = $54.298
SUMMED_CHANGES is the summation of all the
MONTHLY_COST is the total compute cost of running the VM for a month and
VM_MONTHLY_SAVINGS is the calculated savings for the instance
If the summation of your VM activity is negative, it represents a running cost of the VM for the month and therefore that value is added to the monthly cost to provide you the amount you didn't have to pay this month.
Conversely, if the summation of your VM activity is positive, it represents an amount that was saved and is simply added to your monthly savings.
Each of these VM savings values are summed and that is what you see on the dashboard.
As always you can reach out with any questions you might have!