In this blog article I will list a number of cost saving tips and tricks available to you to ensure you and/or your business are not spending more than you should on your Azure resources.
I speak with a number of customers around cost optimisation and ways in which to manage your Azure spend, typically my answers range from the ‘Simple’ things you can do in your subscription through to the more complicated ‘Automation’ or ‘Process’ orientated tasks, depending on your business level of complexity when consuming Azure resources.
This list is in no way an exhaustive list, but should aid in being able to approach Azure spend hopefully with a bit more of an idea on what to look out for.
In summary the following points should be considered across your Azure subscription:
- Free Azure Services
Azure comes with a whole bunch of free services that you and your organisation can utilise for, yep you guessed it ‘FREE!’.
Take a look at all the items you can create and run for free within the Azure ‘Free Services’ Blade in the portal:
- Shutting Resources Down when not in Use
In my experience this is probably the easiest to understand and the easiest to implement. Put it simply, if you are not using a resource, then shut it down!
Clearly this option isn’t applicable to some storage resources and it typically associated with compute resources.
You can simply shut the resource down or stop it in the relevant Azure Portal blade.
- Use Automation to eliminate any over spend
To take the ability to turn off resources a step further. You can add automation to your tenant that takes into account any business logic or process. Automation can be used in a number of ways, from offering an automatic stop/start of your Virtual Machines to coincide with relevant business hours: Azure Automation Start/Stop VMs during off-hours overview | Microsoft Docs
Through to utilising Scale Sets for resources like compute / data storage etc. Virtual Machine Scale Sets | Microsoft Azure or Manage multiple databases with elastic pools – Azure SQL Database | Microsoft Docs
- Azure Hybrid Use Benefit
Azure Hybrid Benefit (AHUB) is a licensing benefit that helps you to significantly reduce the costs of running your workloads in the cloud. It works by letting you use your on-premises Software Assurance-enabled Windows Server and SQL Server licenses on Azure. And now, this benefit applies to RedHat and SUSE Linux subscriptions, too.
- Azure Reservations (Reserved Instances / Reserved Capacity)
If you are able to commit or ‘Reserve’ resources in 1 or 3 year commits. Microsoft will discount their products in some cases by up to 72%.
So if you know that infrastructure you are going to deploy will be required for these time frames then it makes sense to sign up for Reservations.
- Spot Virtual Machines
By utilising Azure ‘Spot’ machines, also known as Spot VM’s, you are able to rent the ‘unused’ capacity within Azure Compute, sometimes with up to 90% discount to typical PAYG prices. You can also set the maximum price you are willing to pay in advance.
The way this is managed of course is down to capacity. So you would have to be willing to accept that your resource cannot be run for the price you want, or there is no ‘free’ capacity in the Azure region then your VM would be evicted (effectively shout down) until the conditions are met again.
Clearly this service is great for any low priority VM workloads, or batch processing workloads!
- Right size your Infrastructure
Azure offers a general resource table for Virtual Machines, but this process is also true of any PaaS servers that are governed by ‘scale units;’. Review these utilising either Azure Monitor or Cost Management tasks to ensure that your workloads are not running on infrastructure larger than is needed:
|General-purpose||Balanced CPU-to-memory.||Good for testing and development, small- to medium-sized databases, and low- to medium-volume traffic web servers.|
|Compute-optimized||High CPU-to-memory.||Good for medium-volume traffic web server, network appliances, batch processes, and application servers.|
|Memory-optimized||High memory-to-CPU.||Good for relational databases, medium- to large-size cache, and in-memory analytics.|
|Storage optimized||High disk throughput and I/O.||Good for big data, and SQL and NoSQL databases.|
|GPU optimized||Specialized VMs. Single or multiple GPUs.||Heavy graphics and video editing.|
|High performance||Fastest and most powerful CPU. VMs with optional high-throughput network interfaces (RDMA).||Critical high-performance applications.|
- Look at different Regions
Put simply, not every Azure region offers the same price for resources, some regions are more expensive than others. If you have workloads that maybe are not subject to any latency or are maybe cold standby/cool tier storage etc. then have a look at various region options for the hosting as you may be able to save some spend by locating your resources in a different region.
- Review Azure Advisor
Azure advisor is a free service that automatically analyses your Azure deployments to enable you to very quickly use the telemetry to optimise any deployment. Advisor covers many areas including cost management. If you haven’t had a look at this service yet then visit: Azure Advisor – Azure best practices | Microsoft Azure
- Implement Serverless Technologies?
Some services and/or compute resource is running code that is used infrequently but is still core to a businesses services and/or processes. Check if any running services may not be better services with Azure Serverless technologies such as Azure Functions or Azure Batch Jobs
- Non-Profit Org? – Claim your free Azure Credits
Currently Microsoft have a $3500 per year credit offer for Non-Profit organisations. MIcrosoft also have a raft of other non-profit offers, discounts and grants covering the suite of products. If you are a non-profit and have not looked at this yet, then visit: Microsoft for Nonprofits – Increase your impact with cloud solutions
- Azure DevTest Labs
Are you looking to test some Azure services, then use Azure DevTest labs. If you utilise your Azure Subscription, sometimes resources can get left on and you find out your have been billed for a test VM that someone forgot to switch off.
Get into the habit of running services in an Azure DevTest Lab and have that turn off resources when they are not in use, saving you money!
- Implement and Utilise Azure Cost Management
There are a number of tasks that can be worked through when it comes to Azure Cost management:
Utilise the Azure Cost Calculator to understand how much your implementation may cost you: Pricing calculator | Microsoft Azure
Utilise Cost Analysis Uses: Common cost analysis uses in Azure Cost Management | Microsoft Docs
Implement Azure Budgets: Azure billing and cost management budget scenario | Microsoft Docs
Implement Cost Alerts: Monitor usage and spending with cost alerts | Microsoft Docs
Allocate Costs for shared or distributed resources: Allocate Azure costs | Microsoft Docs
Utilise Power BI for Azure Cost management reporting: Connect to Azure Cost Management data in Power BI Desktop – Power BI | Microsoft Docs
Analyse cost with the Azure Cost Management Power BI App for Enterprise Agreements: Analyze Azure costs with the Power BI App | Microsoft Docs
Manage AWS Cost and Useage: Manage AWS costs and usage in Azure Cost Management | Microsoft Docs
Understand Sending Limits: Azure spending limit | Microsoft Docs
Track Credits for Microsoft Customer Agreements: Track Azure credit balance for a Microsoft Customer Agreement | Microsoft Docs
- Use appropriate Microsoft Purchasing Option and Governance
Azure offers a number of billing mechanisms each with their own requirements, from Pay-as-you-go, to Enterprise Agreement, to CSP.
These different options can come with varying discounts depending on your commit level (how much you plan to spend in Azure) as well as how you plan to manage your Azure Subscription(s).
For example, if you are currently on an Enterprise Agreement, this gives you the ability to create multiple subscriptions that can be billed to your subscription and offers certain discounts, the same is true of a CSP plan.
Make sure you are aware who has this access and if needs be, place some Azure Policy and Governance in place to ensure resource creation can only be handled by those that need this ability.
Also, if you haven’t already done so, speak with either your incumbent licence reseller, or your Microsoft Account manager to ensure you have the most attractive price plan for your organisation.