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



Total VM Consumption by Environment



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

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!