Most people do not compare costs of running infrastructure in Azure to traditional on-premises deployments appropriately. To begin with, it is almost impossible to compare them apples-to-apples.
For example: as soon as you deploy a VM in Azure, all of your data will be written into 3 different storage locations by default. If you select the Geo-redundant storage option, this VM is replicated again to anotherregional datacenter, and you guessed it: there are three more copies stored there also. How do you compare this to an on-prem installation? You don’t.
The bottom line is, utilizing a big public cloud like Microsoft Azure is going to bring you options that would be not only very expensive to replicate on-premises, but in some cases, very difficult or even unfeasible–especially for SMB’s.
How to compare on-premises servers to Azure Virtual Machines
Nevertheless, it remains a popular question, and I can understand why: Infrastructure is cost-driven, not value-driven. Why pay more if you can spend less for the same (or better) plumbing? Therefore, the bestadvice I can give you for comparing costs in this manner is as follows:
- Standalone physical servers running Hyper-V virtual machines on-premises should generally be compared with single-instance Basic-tier VM’s that are not deployed in an availability set.
- High Availability server/SAN implementations with Hyper-V should be compared to the better-performing Standard-tier VM’s which are deployed as pairs inside availability sets.
Reason being, if high availability/uptime is a strong requirement for your organization, you would need to deploy either a shared storage solution on-premises, or an availability set in Azure. If you cannot afford or are not willing to pay for your servers twice, then HA is not for you.
Hypothetical SMB workload in Azure
Many SMB’s have similar requirements: Directory services, file sharing, maybe some database back-end for LOB applications, and front-end servers such as IIS (web) or Remote Desktop. Let’s construct a hypothetical “basic” and “standard” package based on these workloads. Pricing is listed in $ USD per Azure’s pricing at the time of this writing.
Basic Package (Standalone)
- Azure Virtual Network: Small VPN – £27
- Domain Controller: Basic A1 – £32.74
- DFS File Server: Basic A2 – £65.47
- SQL Database: Basic A3 – £130.94 + £298 (SQL)= £428.94
- IIS Web frontend: Basic A2 – £65.47
Total cost for Basic package: £619.62 / month
Standard Package (HA)
- Azure Virtual Network: Small VPN – £27
- 2x Domain Controller: Standard A1= £44.64×2= £89.28
- 2x DFS File Server: Standard A2 – £89.28×2= £178.56
- 2x SQL Database: Standard A3 – £178.56×2 + £298.00×2 (SQL)= £953.12
- 2x IIS Web frontend: Standard A2- £89.28×2= £178.56
Total cost for Standard package: £1,426.52 / month
Keep in mind, this is just one hypothetical example, and it is not necessarily reflective of your (or anyone’s) real life environment or requirements. For other questions regarding Azure pricing, visit the Azure pricing page online.
Now, granted–we have not accounted for some things here:
- Storage and data transfer fees (nominal–refer to Azure pricing page)
- Managed services/maintenance fees (about the same)
- Life cycle/labour fees (may be slightly less man hours)
- Backup & DR costs (about the same)
A lot of folks do not realise that backup, security, patching, updates, life cycle management and so forth do not go away in IaaS. You are responsible for everything that runs on the virtual hardware, including the OS. Definitely something to keep in mind.
It gets somewhat dicey comparing on-premises servers, for reasons mentioned earlier and others. But generally speaking: What could you get in a hardware lease for ~1,500/month? Over 36 months, we’re talking a total cost of more than 50K. For an SMB, that’s easily greater than the cost of installing a similar high availability hardware solution.
A couple of years ago I attended an Azure IaaS Bootcamp put on by Microsoft. According to their research, the total average cost of running Hyper-V on a physical server in the SMB, all in: £400/month/server. Many in the audience were sceptical, myself included. Still, if you start doing the math, it isn’t far off the mark.
To enable running the same workloads on-premises, and assuming I want highly available virtual machines, I estimate you could probably expect to spend in the neighbourhood of 30-40K (hardware, software & install included) or about 1,100 – 1,200 / month over 36 months. That’s installed.
But wait! What about:
- Internet, etc. ?!
I do not think it is honest when cloud advocates include these line items to show how expensive hardware is, and then conveniently leave out managed services, backup and so forth when showing off cloud pricing. Remember, we’re just trying to compare apples-to-apples (as far as possible). I want to ignore the things that show up in both columns, but I will be fair here and add back a few hundred for facilities/power–since this requirement goes down when your servers move to the cloud.
Here we can see the cost differences, in this example at least, start to disappear. Especially if you are considering a co-location for physical security, redundant power and Internet (easily adding another £1,000 GBP+ /month), then Azure starts to make a little more sense.
New start-up organisations might be hard-pressed to invest in an on-premises or co-location datacentre when Azure or similar is an option. Not to mention they can start small and add on new services incrementally as they grow. But for established organisations that already have the facilities and an existing investment in hardware footprint on-premise, it becomes a real question mark.
Now, imagine doubling your requirements in the example above. Assume you’re in growth mode–you need to increase horsepower, add more web servers, maybe even a Remote Desktop farm. In this case, Azure cost doubles, but the needle would hardly move on the hardware side, since your servers & SAN in this case are more than enough to accommodate the growth.
This is just another example meant to draw out the differences between cloud-based infrastructure and traditional on-premise deployments: one is truly OPEX–you pay only for what you use and when you use it, whereas the “fixed” CAPEX asset is going to behave a little differently over a 3-year period of time (and you might also account for depreciation with hardware expenses).
The point is, I can easily construct scenarios that would paint either Azure or on-premises-based servers in favourable light. Your own scenario may be different.
Conclusion: Azure is probably not going to replace your datacenter just yet
For the Enterprise, the cloud is a great boon because of features like auto-scaling–deploying lots of little VM’s instead of one or two big ones, and dialling up or down the number of instances based on demand. It is harder for the SMB to see the same dynamic cost-advantages, because they do not have the same types of business problems to solve as does the Enterprise. On the other hand, SaaS products such as Office 365 usually offer a much better value proposition than does IaaS, and especially for smaller organisations, they typically win on cost as well.
Don’t get me wrong, I think that the SMB still has some excellent opportunities when it comes to Infrastructure-as-a-Service! For example:
- Temporary / seasonal workloads
- Test / development environments
- Azure Backup
- Azure Site Recovery (DRaaS)
These are all fantastic options for small businesses with a tight budget since 1) Azure cloud storage is cheap and 2) you will almost never need to run certain types of VMs. Remember: in the cloud, you only pay for what (and when) you use something. As Internet bandwidth continues to improve, and as cloud prices continue to fall, I am sure I could be writing a different article in 2018 or 2020, but today, I think we are firmly planted in a hybrid world. Some workloads are going to be more attractive in the cloud, while others remain on-premises.