How to reduce Microsoft Azure spend
Last updated on May 14th, 2020
Cloud is a multi-billion-dollar industry. The global market is expected to exceed $620bn by 2023, and the professional services, discrete manufacturing and banking sectors account for a third of this spend alone.
Cloud adoption continues to grow year-on-year, with many businesses feeling the benefits. However, this adoption may be costing businesses far more than they realise, as it’s estimated that between 27-35% of cloud spend is wasted. From idle and unprovisioned resources through to inefficient setup, instances running on legacy resource types, and unused reserved instances the capacity for wastage is huge.
In this article, we’ll be focusing specifically on ways to reduce Microsoft Azure spend. However, some of the best ways to do this are often simply through better cloud management and resource allocation – which are arguably methods which can be applied to all cloud platforms, even if the terminology here is specific to Microsoft. By addressing a range of issues, your business could benefit from immediate cost savings as well as reduced monthly spend.
12 ways to reduce Microsoft Azure spend
1. Bring your own licence
The Azure Hybrid Use Benefit (HUB) is a discount program, allowing you to use your current Windows Server licences in the cloud for a reduced rate. For example, if you have a Microsoft Volume agreement, such as Open Business, and a valid software assurance subscription you can use your license on an Azure VM Windows Server. This can save you up to 40% of the cost of running a PAYGO virtual machine in Azure.
Bear in mind that Azure VM has a 90-day assignment rule, which means that licences must be assigned to the same hardware for at least three months. If you cannot commit to this then it would be better to opt for pay as you go.
2. Consider Reserved Instances
If you have relatively stable workloads and resource requirements, then you could benefit from significant cost savings with Azure Reserved Instances (RI). This is where a virtual machine on the Microsoft Azure public cloud has been reserved for dedicated use on a one- or three-year basis. Azure RI requires a one-off, upfront payment and can offer a discount of up to 72% compared to pay-as-you-go prices. Although this may seem like a significant financial commitment, Azure RI does offer flexibility, allowing users to make ongoing changes or even cancel with minimal downsides. You can pay this monthly but you just need to commit to the 1 or 3 years
3. Older generation models
If your business has been running in Azure for some time, you will want to search out older generation VMs (e.g. VMs running on Azure Classic) and upgrade them to more cost-efficient options. Newer models are usually cheaper.
4. Compare Azure region pricing
The same services can be priced differently depending on which region you deploy in. It is typically recommended to deploy your resources in the closest region to your users. However, if you have some flexibility then it is well worth a review of the different regions to see if you can reduce spend.
5. Shutdown overnight/weekends
When you operate in the cloud, you pay for whatever your provision. Therefore, whenever Azure VMs are running, they are using Azure credit. However, you can reduce your invoice by automatically scheduling Azure VMs to shutdown in off-hours such as evenings and weekends.
6. Consider multiple smaller virtual machines
As previously mentioned, with Azure you pay for the resources you use, when you use them. When it comes to a certain workload specifically RDS, while a large session host supports more users, it’s actually more expensive than running multiple smaller VMS. This way it can flex to actual user demand and the VM can be taken offline as users log off.
7. Pricing tiers
When moving physical machines to the cloud, it’s important to choose a good starting size and review. Often, the same specs are used when physical machines are moved to virtual machines in the cloud, but you may have a workload which could run perfectly fine on a smaller CPU or with less memory. Physical machines are often chosen based on the largest workload they may encounter, whereas when creating a virtual machine it’s better to start with a size that will work well most of the time and then scale as needed to meet drastic changes.
You can save time and reduce your overhead costs by using automation to run frequent and time-consuming cloud management tasks, such as ramping up additional resource. This allows you to focus on value-add tasks, reduce errors and boost efficiency, all helping to reduce operational costs.
9. Consider Platform as a Service (PaaS)
Moving virtual machines from Infrastructure as a Service (IaaS) to PaaS can give you big cost savings as you will not have to pay for the overhead of an entire virtual machine and licensing. Additionally, not only will this remove the need for patching the operating system, but you also typically get access to move advanced features that would be much more expensive and difficult to implement on your virtual machine. Some examples include Azure Directory Services rather than your own Domain Controller in Azure, or WVD rather than building our your own RDS platform
Get the licensing right, for example, Microsoft 365 includes licensing for Office 365 as well as Windows 10 that can be used in Windows Virtual Desktop (WVD)
11. Look closely at your VM disk types
For example, if you are using a standard HDD type these can actually end up costing more than an SSD because standard disk type charge by input/output operations whereas SSD is a flat rate
12. Regular reviews
Finally, it is best practice to regularly audit spending, as there can be other factors which can inflate your monthly bill. Resource-intensive processes, inefficient queries and unused cloud subscriptions can all add to your invoice. Another thing to consider is creating a committee to review suggestions, however, don’t let everyone have a free for all on everything they buy as this can be very costly.
One final thing to consider is the Azure Cost Management tool. This solution helps you to monitor and control Azure spending and optimise resource use.