Total Cost of Ownership Calculator
Total Cost of Ownership Calculator

In this course, you’ll learn how to forecast Azure costs, choose the right subscription and purchasing options, track spending, and use cost reduction strategies.

Learning Objectives

  • Use the Total Cost of Ownership Calculator to determine cost savings from migrating to Azure 
  • Understand Azure subscription and purchasing options
  • Use the Pricing Calculator to forecast Azure service costs
  • Apply Azure cost reduction strategies
  • Create budgets and analyze spending using Azure Cost Management

Intended Audience

  • Anyone who needs to manage costs on Azure
  • People preparing to take either the Azure Fundamentals or Azure Solutions Architect exam




If your organization is thinking about moving some or all of its IT workloads from an on-premises data center to Azure, one of the first things you’ll want to do is compare the cost of the two environments. This can be a daunting task because not only do you have to figure out how much everything will cost on Azure, but you also have to make sure you include all of your current costs for your on-premises infrastructure. This includes obvious costs like hardware and software but also many other costs, such as electricity, real estate, and labor.

Fortunately, Microsoft provides a useful tool called the Total Cost of Ownership, or TCO, Calculator. It uses industry averages for on-premises costs, and of course, the equivalent costs on Azure. There are three steps to using it. First, define your workloads. These fall into four categories: servers, databases, storage, and networking.

Second, adjust the assumptions used by the TCO Calculator. For example, the cost of electricity used by the calculator may be different from what you typically pay, so you can adjust that number. 

Third, view the report. You can choose any time period between one and five years to compare the costs.

Let’s go through a simple example. Suppose we want to move these workloads to Azure: 20 Windows-based web servers running on Hyper-V, two physical SQL Servers, and one terabyte of storage. The TCO Calculator is at this URL. You don’t need to have an Azure subscription to access it, of course, because the whole idea is to use it before you migrate your workloads to Azure.

Okay, first we need to define our workloads, starting with servers. Let’s give this workload a name. We’ll call it “Web servers”. The information we need to fill in is what we’re currently using on-premises. Since we’re currently running on Windows servers in this example, we’ll leave the workload type as “Windows/Linux Server”. Since I said that the 20 webservers are running on Hyper-V, we’ll need to change this to virtual machines. The operating system is Windows. And let’s say we have a Windows Datacenter license.

This is where we say that we have 20 virtual machines. And it’s already set to Hyper-V for the virtualization. This is the number of core or virtual CPUs per virtual machine. Let’s say we currently have 8 cores per VM. And let’s say we have 16 gigs of RAM per VM.

This “Optimize by” option will take a bit of explaining. When the calculator comes up with recommendations for Azure Virtual Machines, it tries to find a VM size that’s an exact match for the number of cores and gigs of RAM we specified. If it finds an exact match, then it ignores the “Optimize by” setting. If it can’t find an exact match, then it will look for a VM size that’s close, but it will make sure it has enough cores if we tell it to optimize by CPU, or it will make sure it has enough RAM if we tell it to optimize by memory. We’ll leave it set to “CPU”.

You only need to enable this option if you’re running Windows Server 2008, so we’ll leave it disabled. 

If we wanted to define more workloads, we could click here and add another one, but we only have one workload in this example, so we’ll move to the next section.

I said we have two SQL Servers, so we’ll click “Add database”. Let’s call it “SQL Servers”. All of these options match our example, so we’ll leave them with the defaults. We need to change the servers to 2, though. And let’s put 2 processors per server, 4 cores per processor, and 8 gigs of RAM per server.

Down here, we need to tell it which Azure service we want to use because there are a few options. The one that’s the most compatible with SQL Server is “SQL Database Managed Instance”, so we’ll set it to that. I’ll leave these options as is, but let’s say we need 1,000 gigs of backup storage.

Now we’ll fill in the storage section. The capacity is already set to one terabyte, so we don’t need to change that, but let’s say we also have five terabytes of backup and ten terabytes of archive storage.

In the Networking section, let’s set the outbound bandwidth to 10 terabytes. This is the amount of outbound data these workloads normally transfer per month in our on-premises environment.

All right, we’re finally finished, so we’ll click “Next”. 

Now we can adjust the assumptions. We can change the currency if we need to. And this is where we can say we have Microsoft Software Assurance coverage for our Windows and SQL Server licenses. This will reduce our costs because the licenses can be transferred to Azure.

There are lots of other assumptions we can change. For example, we can change our electricity costs here, and we can set our IT labor costs here. When we’re done changing assumptions, we click “Next”.

Okay, now we can see how much money we could potentially save by moving our workloads to Azure. That’s a pretty big number. To see the details, scroll down. Here’s the breakdown of the on-premises costs and the Azure costs. If the on-premises costs don’t look right, we can go back and change the assumptions. We can also go back to the top and change the timeframe from 5 years to something shorter like 2 years. As you’d expect, that changes the cost savings.

And that’s it for the TCO Calculator.

About the Author
Learning Paths

Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).