Hyper-V Resource Metering and Cloud Costing Benchmarking

I’ve been a bit quiet on this blog for a little while now but I figured I would take some time to share with you what I’ve been working on lately.

In the last few weeks I’ve been working on a prototype to gather VM consumption statistics through the Hyper-V metering functionality in order to get a better grasp of the VM requirements in our environment. The core of the monitoring is done with the following scripts that are now published on the GEM Automation project on CodePlex:

Monitor-VMUsage.ps1
Get-VMInformation.ps1

By tagging VMs with specific information, it allows us to generate the following kinds of dashboards in Excel:

Total VM Consumption by Systems
SystemDashboard

Total VM Consumption by Environment
EnvironmentDashboard

One report I’ve been working on this week is the following:

SystemCloudCosting

In this graph, I can compare almost in real time(well, I aggregate stats on an hourly basis) the cost of running each of our Hyper-V VM or system with for the following public cloud providers:

– Amazon
– Google
– HP
– Microsoft
– Rackspace

as well as our own internal cost. Using this, I can see if a specific system starts to be a good candidate to migrate to a public cloud costing wise. I can also look at trends within system execution to see whether I could run them on premise during part of the time and in the cloud some other time. As you can see in the graph above, picking a provider is not a simple answer but this tool definitely helps! My goal is also to start tracking public cloud price to have a better idea of the trend to be better able to predict when it will become more cost effective for us to move some workload in the cloud.

When we determine costs for our internal infrastructure, we look at the following costs:

– Servers
– Storage
– Networking
– Licenses
– Internet link
– Power
– Infrastructure related labor

Another use case we found this useful was when evaluating our license requirements for SQL Server. Using this, I can figure out how many cores are needed to run all the SQL Server workload simply by aggregating the CPU stats for the SQL Server system.

There’s a lot more that has been built but here’s an idea of the various “reports”/PivotTables/Graphs we have setup in our Excel workbook:

– Hosts Dashboard
– VM Costing Per Hour
– Environment Costing Per Hour
– Target Infrastructure Per Hour
– Azure vs On Prem (Total)
– On Prem vs Cloud Optimized
– On Prem vs Cloud Per Hour
– Cost Per System Per Hour
– Top 10 VM – CPU
– Cloud Candidates
– On Prem vs Azure Per Hour
– Hourly VM CPU Trending
– Daily Cluster CPU Trending
– Daily VM CPU Trending
– Hourly System CPU Trending
– And a lot more!

I’d be curious to get some feedback on this!

Advertisements

5 thoughts on “Hyper-V Resource Metering and Cloud Costing Benchmarking

  1. Hi!
    It looks nice. You are referencing to scripts on CodePlex. I cannot see any links. Will tehere be an update on this post?

  2. Looks awesome ! … but a bit more guidance would be greatly apprecieted, i’v read the “getting started” page but i can get a good understanding of how to get it to work 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s