To reduce Azure costs, first find what you pay for and remove what nobody uses: resize idle machines, clear forgotten disks and check the licences you already own. Then give every cost an owner with tags, set budgets that warn you early, and commit only your proven baseline to a reservation or savings plan.
I have worked in IT and development since 1998 and hold the Microsoft Certified: Azure Fundamentals certification. Rizonetech is a Microsoft Partner, and our Azure service includes a monthly cost review that explains each charge. This guide proposes a monthly review you can run yourself. Every term and figure below is Microsoft’s own, read on 12 October 2026.
Where does an Azure bill usually go wrong?
Start by checking these five areas. Each one has a free tool in the Azure portal that shows it.
| Where the money goes | What to check | The catch |
|---|---|---|
| Resources nobody uses | Advisor cost recommendations and unattached disks | Confirm the owner and any retention need before deleting |
| Licences paid for twice | The licence type on each Windows Server and SQL Server resource | Licences need Software Assurance or a qualifying subscription, and may already be in use elsewhere |
| Costs nobody owns | Cost analysis grouped by tag | Resource tags do not retag past usage |
| No early warning | Budgets with alerts in Cost Management | Alerts arrive late and do not stop the spend |
| Steady workloads on pay-as-you-go rates | Reservation and savings plan recommendations | A one or three year commitment that is hard to undo |
How much any of these saves depends on your workloads. A review shows whether any of them offer a saving worth the change.
What is running that nobody uses?
Look for machines that are too big, machines that sit idle, and disks left behind. Azure Advisor flags the first two for free, and the Disks list in the portal shows the third.
Advisor’s cost recommendations suggest shutting down or resizing a virtual machine. Advisor checks CPU and outbound network use over a lookback period, seven days by default, and you can change it to 14, 21, 30, 60 or 90 days. Its shutdown rule does not consider memory, and its savings estimates use retail rates, not your discounts. Microsoft also cautions that a resize can raise costs if it moves a machine off a reservation you already paid for. Before you resize or shut anything down, check its purpose, its busy periods and whether a reservation or savings plan covers it.
What should you check after Advisor?
Three things to check next:
- Disks left behind. Whether a disk is deleted with its virtual machine depends on the machine’s delete settings. A new OS disk created in the portal is set to Delete with VM by default, but an existing disk or a data disk can stay behind, and Microsoft keeps billing unattached disks. In the portal, open Disks and filter for the Unattached state. Confirm each disk’s owner and purpose, and delete only disks approved for removal, after checking any recovery copy and retention period you need. Snapshots are also billed, so give any snapshot you keep an owner and a review date.
- Stopped is not deallocated. A virtual machine shut down from inside its operating system shows as Stopped (Allocated), and Microsoft still bills it. Use Stop in the Azure portal, then confirm the status reads Stopped (deallocated). Its disks and some networking are still billed.
- Test machines left running. Auto-shutdown turns a machine off at a set time each day. Its time zone defaults to UTC, two hours behind South African time, so set the time zone when you set the time.
Are you paying for Windows Server or SQL Server licences twice?
If you own Windows Server or SQL Server core licences with active Software Assurance or a qualifying subscription, Azure Hybrid Benefit lets you use them in Azure instead of paying for the licence again in the hourly rate. It is easy to miss during a migration if nobody records which licences you already own.
The rules that matter:
- Windows Server needs at least 8 core licences per virtual machine, Datacenter or Standard edition, and enough licences for the machine’s cores above that, according to Microsoft’s licensing page. Changing the licence type does not restart the machine.
- Check where the licences are already used. Under Microsoft’s Hybrid Benefit rules, Windows Server Standard licences are used on-premises or in Azure, not both, except for one period of up to 180 days while you migrate. Datacenter licences allow use in both places for virtual machines.
- Azure SQL Database and SQL Managed Instance take the benefit on the vCore model, not on DTU or serverless, per Microsoft’s SQL page.
- Red Hat and SUSE Linux subscriptions can also be brought to Azure.
Microsoft publishes several savings figures for the benefit, each with a different basis, so treat any single number as an example. Ask for the licence records first, and check them against Microsoft’s Product Terms. If nobody can find the records, that is the first job.
Can you tell who owns each cost?
Give each subscription or resource group an owner, then use owner and cost-centre tags for more detailed reporting. With tags, cost analysis can group and filter the bill, and one monthly total becomes a list of owners you can ask. Review untagged costs and shared purchases separately, so they have an owner too.
Tags need setting up:
- Resource tags are not inherited. A resource does not take its resource group’s tags, and adding a tag does not retag past usage.
- Azure Policy can enforce them. The built-in tag policies can require a tag on new resources, or copy a tag from the resource group.
- Cost Management can copy tags onto usage. Tag inheritance applies resource group and subscription tags to usage records, for Enterprise Agreement, Microsoft Customer Agreement and Microsoft Partner Agreement accounts. It updates the current month’s records, from the first of the month, usually within 24 hours. It changes the cost records only, not the resources.
Will you find out before the invoice does?
Budget alerts can warn you before the invoice arrives, but they depend on delayed cost data, so combine them with a regular look at Cost analysis. A Cost Management budget sends an email when actual or forecast cost crosses a threshold you set, with up to five thresholds per budget.
Know its limits:
- It does not stop anything. Microsoft says resources are not affected and consumption is not stopped. Automatic shutdown needs a configured action, such as an Automation runbook, triggered through the budget’s action group, available for subscription and resource group budgets. A notification-only group stops nothing, and the data delay below still applies.
- Alerts are delayed. Cost data usually takes 8 to 24 hours to arrive for Enterprise Agreement and Microsoft Customer Agreement subscriptions, and up to 72 hours for pay-as-you-go. Budgets then check the data every 24 hours. Do not treat a budget as a real-time spending limit.
Set a budget for each subscription at the monthly amount you expect, with alerts at 50%, 80% and 100% of actual cost and at 100% of forecast cost. A forecast alert in the second week gives you time to act.
Should you buy a reservation or a savings plan?
Only after the waste is gone and the machines are the right size, because a commitment locks in whatever you are running. Then a reservation suits a workload that runs all the time on the same machine type in the same region, and a savings plan suits compute that changes. Both trade a one or three year commitment for a lower rate than pay-as-you-go, and you can use both at once.
The two work differently:
- A reservation covers a specific product, such as a virtual machine size or an Azure SQL Database. Microsoft says virtual machine and SQL Database reservations cover eligible compute, not software licences, networking or storage. Other reservation products, such as storage capacity, cover different charges.
- A savings plan for compute is a fixed spend per hour across virtual machines, App Service, Functions Premium and other compute services. Microsoft’s overview says unused commitment for an hour expires and does not roll over, and that the compute plan does not cover software, networking or storage.
- A savings plan for databases is a separate plan for Azure SQL Database, SQL Managed Instance and other database services. If databases drive your bill, compare it with database reservations before committing.
How big are the discounts?
The headline discounts come with narrow examples. On its reservations page, Microsoft says reservations can save up to 72% for virtual machines, based on one large SUSE Linux virtual machine in the East US region over 36 months, at January 2026 prices. On its savings plan page, the figure is up to 65%, based on one large Ubuntu virtual machine in East US over 36 months, also at January 2026 prices. Your saving depends on your machines, your region and how much of the commitment you use.
My decision rule: compare Microsoft’s recommendations with a representative stretch of usage, your seasonal peaks and any changes you have planned, then commit only the baseline you expect to need for the whole term. Microsoft’s own guidance also puts right-sizing before any new commitment.
What if your usage changes after you commit?
Check the exit terms before you commit:
- A savings plan cannot be cancelled or refunded.
- Most reservations can be returned, but Microsoft limits cancelled commitments to USD 50,000 per billing scope in any rolling 12 months. Red Hat plans, SUSE Linux plans and pre-purchase plans cannot be refunded. If you bought through a Cloud Solution Provider partner, the partner makes the return for you.
- Exchanges are narrowing. Reservations bought from 1 February 2027 for services a savings plan also covers, such as virtual machines and Azure SQL Database, cannot be exchanged.
One South African detail: savings plan rates are priced in US dollars and, for Microsoft Customer Agreement and partner customers, billed in local currency at the month’s exchange rate. A weaker rand raises the monthly amount even when the commitment stays the same.
Does running in South Africa change the bill?
Yes. Compare the regional prices of the services you use, then check data leaving Azure and data crossing regions. How much each matters depends on your workload. Microsoft has two South African regions, and its regions list shows the difference:
- South Africa North, in Johannesburg, has three availability zones and is open to every subscription.
- South Africa West, in Cape Town, is restricted to specific scenarios such as disaster recovery, and access must be requested.
What does data transfer cost from South Africa?
Data sent out to the internet is charged by billing zone. The bandwidth pricing page puts both South African regions in Zone 2 with Asia, Oceania and the Middle East. The first 100 GB a month is free. After that, data sent from Africa costs USD 0.12 per GB at the first paid tier, against USD 0.087 from North America and Europe, when it is routed over Microsoft’s own network, the default.
A worked example from those rates: a server in South Africa North that sends 500 GB a month to the internet pays for 400 GB, about USD 48 a month before VAT. The same traffic from West Europe would cost about USD 35. This bandwidth comparison alone does not settle where to host. Compare total service costs, application latency, recovery needs and the rules that apply to your data. It is a reason to check what sends data out.
Azure’s standard bandwidth pricing does not charge for transfers between services in the same region, but separate networking charges can still apply: traffic across peered virtual networks is charged at both ends, even within one region. Data moving between regions is charged, at USD 0.08 per GB between regions in the Middle East and Africa. A backup or an integration that crosses regions every night adds up, so keep it in one region unless you need the separation. Our Azure migration guide covers region choice in more depth.
How to reduce Azure costs with a monthly review
Work through the bill in the same order each month. Every tool here is free: Microsoft Cost Management is included with Azure, and Azure Advisor has no additional cost. Use this checklist as a starting point.
- Read last month’s bill by service and by tag in Cost analysis, using Actual cost. Note anything you cannot name.
- Check what your commitments cover. Switch Cost analysis to Amortized cost, which spreads reservation and savings plan costs across their term, and look for the UnusedReservation and UnusedSavingsPlan charge types. Microsoft explains that unused reservation costs show only in this view, and that they are not attributed to the subscription that bought them, so use the billing scope that holds the commitment. If you cannot open the billing view, ask your billing administrator or Azure partner for the utilisation report.
- Open Advisor’s cost recommendations. Resize or shut down what it flags only after checking the machine’s purpose, memory, peak use and commitment coverage, so the change lowers the total bill.
- Review unattached disks and old snapshots with their owners, and deallocate any machine that shows Stopped (Allocated).
- Check the licence type on every Windows Server and SQL Server resource against the licences you own and where they are already used.
- Check data transfer charges for traffic leaving Azure or crossing regions.
- Adjust the budgets for the coming month and confirm the alerts reach someone who will act. A new steady workload may also be ready for a commitment.
If you would rather have the review done, our Azure service includes one every month.
FAQ
Does stopping a virtual machine stop the bill?
Deallocating it stops its pay-as-you-go compute charges, but not the whole bill. A machine shut down from inside its operating system shows as Stopped (Allocated) and is still billed, so use Stop in the Azure portal and confirm the status reads Stopped (deallocated). Disks, some networking and any reservation or savings plan commitment still cost money.
Can I cancel an Azure reservation or savings plan?
A savings plan cannot be cancelled or refunded. Most reservations can be returned, within a USD 50,000 limit on cancelled commitments per billing scope in a rolling 12 months, but Red Hat, SUSE Linux and pre-purchase plans cannot. Size either one to the baseline you are sure of.
Do Azure budgets stop spending?
No. A budget sends alerts when cost crosses its thresholds, and Microsoft says resources are not affected. Automatic shutdown needs a configured action, such as an Automation runbook, triggered through the budget’s action group, and the cost data delay still applies.
How much can a business save on Azure?
There is no reliable percentage for a whole bill without reviewing its usage and rates. Reservations and savings plans have different terms, and Microsoft’s headline figures each describe one example machine. A review of your own bill shows which of these areas apply.
What should you do next?
Run the free IT health check to see where your systems stand, then work through the monthly review above on your own subscription. A review can show whether any of these areas offer worthwhile savings for your workloads. For larger estates with several suppliers, read our Azure governance whitepaper. If you are still choosing a cloud, compare Azure and AWS for South African businesses or cloud and on-premise.
Published 16 June 2026. Last updated 12 October 2026.