[UPDATE: As of January 2, 2018, the double counting of VMware compute category costs has been corrected. The other errors noted in the calculator remain.]

Last month, Microsoft posted an online “Azure TCO Calculator” that supposedly compares the cost of on-premises infrastructure, based on VMware vSphere, with the cost of running the same workloads in the Azure public cloud. Here at VMware, we pay a lot of attention to the Total Cost of Ownership (TCO) of on-premises vSphere versus public clouds. Our customers and industry analysts have told us that a well-managed private cloud often costs less than basic public IaaS clouds. We’ve recently written about a 451 Research study that found 65% of surveyed IT professionals felt their private clouds cost at most only 10% more than public clouds. So, when Microsoft’s blog posts and white papers claimed an 84% TCO advantage for Azure, we knew their figures needed scrutiny.

It didn’t take much digging to find numerous errors and biased assumptions in the Microsoft TCO calculator that wildly skew their results. In fact, the errors were so glaring, we wonder if anyone at Microsoft bothered to test it before going live.

What were they thinking?

The Microsoft calculator provides enough details in its listing of assumptions and in its expanded results breakdown to make it easy to replicate their TCO methodology in a spreadsheet. We did just that, and errors immediately became apparent. Here are just a few:

VMware license fees are paid every year of the selected timeframe! Selecting a 3-year TCO timeframe results in vSphere Enterprise Plus license costs being tripled. C’mon Microsoft, we know vSphere isn’t free, but our customers only need to buy it once, not every year.

vSphere hosts are grossly overconfigured for CPU and RAM. Using the scenario from the Microsoft white paper of 500 VMs, each with 2 vCPUs and 4GB, results in a server hardware requirement totaling 1,984 cores and 33TB of RAM. That’s 4x the CPU and 16x the memory that should be required! Perhaps they were using Hyper-V host configuration guidelines. Either way, you do NOT want these guys sizing your data center hardware.

For Azure Pay As You Go VMs, the calculator is using CPU-throttled B-series VMs that Microsoft describes as appropriate only for small dev/test-type uses.

VMs in Azure are powered on only 40% of the time with the calculator defaults. Perhaps a small dev/test team can turn off their VMs when they leave for the day, but the production enterprise workloads that run on vSphere are powered on 24×7, so hosting them on Azure should require the same continuous uptime.

The Microsoft calculator assumes vSphere Enterprise Plus, which includes features like High Availability, Dynamic Resource Scheduling, Fault Tolerance, vRealize Log Insight, and more. Azure VM instances don’t have those features – you would need to pay for extra Azure services like Premium storage and Operations Management Suite to come close.

On-premises servers, storage and networking hardware are assessed 20% per year maintenance fees in the Microsoft calculator. Are you paying that much? Didn’t think so.

The Microsoft calculator doesn’t apply any residual value for the on-premises servers and software at the end of the selected TCO timeframe. I guess Microsoft expects you to send all your servers straight to the landfill on their third birthday.

To cap it off, we found that a new math error was recently introduced into the Microsoft calculator. It now double counts all the costs in the “Compute” category for the VMware on-premises configuration – hardware, software, electricity, and virtualization costs are added twice. Really guys, this is getting absurd.

Let’s fix their calculator and see the effects

With all those errors in the Microsoft calculator, it’s not surprising to see that the 500 VM scenario noted above results in an enormous TCO difference between on-premises vSphere and Azure. Fortunately, we can make some simple corrections to their calculator and re-run the numbers. We’ll use vSphere Standard Edition, since it’s more comparable to Azure VM and storage features, and we’ll only charge for it once. We’ll reduce the vSphere server count to properly provision CPU and memory. A more reasonable 6% annual hardware maintenance fee will be assumed. The Azure PAYGO configuration will be upgraded to more realistic F2 VMs needed for steady workloads. Lastly, we’ll keep the Azure VMs running 24×7, as they would be for production workloads, by setting utilization to 100%.

With those simple corrections, the picture changes dramatically. Now, the on-premises vSphere TCO is lower than all but the 3-year reserved Azure TCO – a result much more in agreement with costs reported by customers.

Azure TCO Calculator Inputs

500 compute VMs with Windows, 2 vCPUs and 4GB each, US East 2

VM density: 2 vCPUs/physical core

100TB local disk/SAN storage

3-year timeframe

If you really want a VMware-compatible public cloud with low TCO, look at VMware Cloud

So, now that we’ve shown that Azure doesn’t have a TCO advantage over on-premises vSphere, where should VMware customers look for a public cloud provider that can really save them money and increase agility with true hybrid cloud computing? The answer is the VMware Cloud offerings that provide vSphere-consistent infrastructure without the complexity of migrating workloads to an entirely different platform like Azure. You can choose VMware Cloud on AWS that features vSphere, vSAN and NSX with familiar vCenter management, all running on bare-metal AWS infrastructure with optimized access to AWS services. Or, select from the thousands of VMware Cloud Providers that offer VMware Cloud Verified infrastructure-as-a-service. You’re sure to find a provider that fits your needs and TCO budget when you’re ready take the easiest and most direct path to hybrid cloud.