On this page · 8 sections
Azure bills are shaped by purchase options as much as by usage. The same workload can cost very different amounts depending on whether it runs pay-as-you-go, under a commitment, with your own licenses or on a Dev/Test subscription. This guide lists fourteen ways to reduce an Azure bill, in a sensible order, using the figures Microsoft publishes. Those figures are maximums and vary by region, VM series and term, so check your own numbers.
Get Visibility First
1. Organize subscriptions and tags for accountability
Microsoft's guidance is to attribute cost so the people responsible see their own spend: a subscription or resource group per team, management groups to roll up related subscriptions, and tags for resources shared across scopes. Note that management groups are not supported for Microsoft Customer Agreement customers.
2. Enforce tagging with Azure Policy
Tags only help if they exist. Use Azure Policy to require owner, environment and application tags on new resources so cost analysis can group by them.
3. Use Cost analysis and scheduled exports
Cost data for the open billing period refreshes about every four hours. Use cost analysis for ad hoc questions and set up scheduled exports to Azure Storage for dashboards and finance systems.
4. Set budgets with automated alerts
Budgets can alert at several thresholds and trigger action groups, which lets you automate responses such as notifying an owner or running a runbook.
Remove Waste
5. Delete unused resources
Microsoft calls removing unused resources the easiest way to start saving immediately. Typical finds are unattached managed disks, unused public IP addresses, idle databases and App Service plans with no workloads.
6. Deallocate VMs you are not using
The power state decides billing. According to Microsoft's VM states documentation, a VM that is Stopped but allocated is still billed for compute, while a VM that is Deallocated is not billed for compute (disks and networking still are). A guest-OS shutdown leaves the VM allocated, so use deallocation for anything you want to stop paying for.
7. Rightsize with Azure Advisor
Azure Advisor identifies VMs with low CPU or network use and shows the estimated saving of resizing or shutting them down. Its reserved instance recommendations are based on your last 30 days of VM usage, so check that period was representative before acting.
8. Schedule non-production
Dev, test and staging environments rarely need to run overnight. Automation that deallocates them outside working hours removes a large share of their running hours.
Pay Less for What You Use
9. Savings Plan for compute
Microsoft describes Azure Savings Plan for compute as its most flexible commitment, saving up to 65% on pay-as-you-go prices across a broad range of compute services, with an hourly commitment for one or three years.
10. Reservations for stable, specific workloads
Azure Reservations prepay one or three years of VM or SQL Database capacity, with Microsoft listing savings up to 72% on pay-as-you-go. They give a billing discount without affecting runtime state. Choose them for stable workloads where you know the series and region, and use Savings Plans where you need flexibility.
11. Azure Hybrid Benefit
If you own Windows Server or SQL Server licenses with Software Assurance, or hold qualifying Red Hat or SUSE Linux subscriptions, Azure Hybrid Benefit lets you apply them in Azure. Microsoft's published claims include up to 76% savings for Linux against pay-as-you-go and, for SQL Server, savings of up to 55% on vCore-based SQL Database options; combined figures with reservations are higher. Savings vary by region, size and usage, so model your own.
12. Dev/Test subscriptions
Microsoft recommends separate Dev/Test subscriptions for development environments to take advantage of reduced pricing. Eligibility conditions apply, so check the current terms.
13. Spot capacity for interruptible work
Azure offers discounted surplus capacity for fault-tolerant workloads such as batch processing and CI. Design for eviction and keep a regular-priced fallback.
Make It Stick
14. Review commitments and recommendations on a schedule
Use Advisor and the benefit recommendations to size commitments, but only after waste is out of the baseline. Track utilization of every reservation and savings plan monthly, and review again before each renewal.
Common Azure Cost Mistakes
- Shutting VMs down from inside the OS. The VM stays allocated and keeps billing for compute. Deallocate from Azure instead.
- Forgetting the leftovers. Disks, public IPs and networking resources keep charging after a VM is deallocated or deleted.
- Buying Reservations for a workload that is about to change. If the series, region or architecture may move, a Savings Plan's flexibility usually fits better.
- Not tracking Hybrid Benefit eligibility. Licenses with Software Assurance that are not applied are money left on the table. Keep an inventory and check terms.
- Treating Advisor as a to-do list. Recommendations need an owner and a decision, including a recorded decision to decline.
Where to Start
| Order | Action | Risk |
|---|---|---|
| 1 | Deallocate idle VMs, delete unattached disks and unused IPs | Low with owner sign-off |
| 2 | Apply Hybrid Benefit where licenses allow | Low, check licensing terms |
| 3 | Schedule non-production and move it to Dev/Test pricing | Low |
| 4 | Rightsize with Advisor, test first | Medium |
| 5 | Commit with Savings Plans or Reservations | Medium, commit last |
Azure Cost Optimization With Varcio
Varcio's Azure cost management connects to your subscriptions, finds unattached disks, unused public IPs, idle SQL databases and zero-workload App Service plans, and manages reservations under approval gates, in the same view as AWS, Google Cloud, OCI and Kubernetes. For the general method see our cloud cost optimization guide, or talk to our team about an Azure spend review.
Frequently asked questions
How do I reduce my Azure bill?
Remove unused resources, deallocate VMs you are not using, rightsize with Azure Advisor, apply Azure Hybrid Benefit for eligible licenses, commit steady workloads to Savings Plans or Reservations, use Dev/Test subscriptions for non-production, and put budgets and tag policies in place so costs stay visible.
What is the difference between Azure Savings Plans and Reservations?
Microsoft describes Savings Plan for compute as the most flexible option, with savings up to 65% off pay-as-you-go across a broad range of compute services for an hourly commitment. Reservations apply to specific resources such as VMs or SQL Database and are listed with savings up to 72%. Both are one- or three-year commitments, and the figures are maximums.
Do stopped Azure VMs still cost money?
It depends on the state. A VM that is Stopped but still allocated is billed for compute. A VM that is Stopped (Deallocated) is not billed for compute, although attached disks and networking resources continue to incur charges. Shutting down from inside the guest OS leaves the VM in the billed state.
Does Varcio support Azure?
Yes. Varcio connects to Azure subscriptions and finds unattached disks, unused public IPs, idle SQL databases and zero-workload App Service plans, and manages reservations behind approval gates, alongside AWS, Google Cloud, OCI and Kubernetes.