Microsoft Azure (IaaS) Cost Estimator Tool

Until now, when evaluating datacenter compute resources and estimating costs in the cloud has been a challenge. Typically we’re looking at a physical or virtual machine configuration such as CPU size, memory, disk space and so on. However, there are other resources that are more difficult to estimate such as bandwidth usage, storage transactions, and estimated future capacity.

Imagine having 50, 100, or more servers. Performing estimates for 100’s of servers would not only be time consuming, it would be difficult because we’re only looking at a snapshot in time. We know over the course of a day or week a server’s consumption model of resources will change. We may end up missing critical information that could end up in underestimating the cost of a VM or service in the cloud. Underestimating resources could lead to unexpected charges. Not an ideal situation when we’re looking to either reduce costs or migrate resources to the cloud.

Microsoft Azure (IaaS) Cost Estimator Tool

To simplify the cloud cost estimation process, Microsoft has created the Azure (IaaS) Cost Estimator Tool.

The Azure Cost Estimator Tool will profile VMware/ESX, Virtual Machine Manager, Hyper-V, and Physical servers over a period of time and report resource consumption and align it to resources and VM sizes within Microsoft Azure.

Download the Microsoft Azure (IaaS) Cost Estimator Tool: https://www.microsoft.com/en-us/download/details.aspx?id=43376

AZURE COST ESTIMATOR TOOL WALKTHROUGH

Next I'll walk through the tool and show estimated costs to run my compute resources (VMs) in Azure.

First we’ll need to Download and install the Azure (IaaS) Cost Estimator Tool. After installation, launch the tool. You can install the tool on a client or server. For more information on OS compatibility, see the information provided within download link.

LET’S GET STARTED

After the tool is launched, you’ll see the following:

clip_image002

The tool supports scanning virtual environments including VMware and physical machines. Each profile is retained for historical purposes and logs are available to investigate any errors.

I run Hyper-V managed by System Center Virtual Machine Manager (SCVMM) in my environment. I also have a mix of Windows and Linux VMs running as well.

I’ve selected SCVMM since I run System Center Virtual Machine Manager in my environment.

clip_image004

RUNNING THE PROFILE SCAN

Regardless what scan option is selected, we need to add details of how to attach to the environment be it a management server, a hypervisor, or a physical server.

After the connection details are filled in we have two options to select from:

  • Profiling Duration: How long do I want to profile resources for?
  • Scanning Frequency: How often do I want to take a snapshot of resources?

For example, under profiling duration, selecting Run Once performs a single pass of the environment, however to gather a more accurate estimate of resource usage and consumption, I recommend running over a period of multiple hours.

For the purposes of this walk-through I’ve selected the “Run Once” option. Once selected, I add the necessary information to connect to System Center Virtual Machine Manager:

clip_image006

Then I selected the profiling duration (Run Once):

clip_image008

I typed in a name for the report and selected “Begin Profiling”:

clip_image010

POST PROFILE STEPS

Once the profile has completed select “View Report”:

clip_image012

After the report populates, select one or more machines and select Get Cost to view VM costs in Azure. Feel free to change some of the editable fields if you believe they are over/understated.

clip_image014

After the costs render, each machine list listed with the total monthly cost to run in Azure. You have the ability to change the type of compute (VM) instance if you feel they are over/understated. For example, you may want to use the lower cost BASIC instance for file/utility servers and STANDARD instances for SQL workloads. As instances are changed, costs will adjust accordingly.

clip_image016

Notice there is a drop-down next to “Choose Pricing Model”. There are three different pricing models to choose from. Let’s define what these are:

  • Cost Optimized (shown above): Calculates costs based on resources profiled during the length of the scan.
  • VM Allocated: Uses 100% of machines capacity (1:1 mapping of available resources or a close as it gets to an Azure VM instance) to calculate costs.
  • Performance Optimized: Calculates costs at a slightly higher level of compute than VM Allocated.

I’ve selected Cost Optimized which prices the Azure VM based on resources used (not available). For example, OM01 has 220 GB of storage available, however it’s only consuming ~80 GB of storage. You can also change the instance size as shown below:

clip_image018

Here’s a look at costs for VM Allocated:

clip_image020

Here’s a look at costs for Performance Optimized:

clip_image022

ADDITIONAL FEATURES

For comprehensive help information about the tool, select the “?” at the top left of the application.

clip_image024

You can also select what Region to price the VMs in as some regions have slightly different pricing from others (in v1.0 only US Regions are supported).

clip_image026

There’s also a profile export feature where the costs may be exported to Excel for further analysis.

clip_image027

Question: If I close the tool and re-open it, how do I access current and older reports?

Answer: Once the tool is launched select Archived Report and the date range the reports were ran in and select Get Report.

clip_image028

Select the report and select Generate Report.

clip_image030

SUMMARY

Moving to the cloud shouldn’t be a guessing game. By using the Microsoft Azure (IaaS) Cost Estimator Tool, compute resources will be analyzed and estimated giving you the information to realize the potential costs of moving compute resources to Microsoft Azure.