Azure Cost Management: Advisor, Quotas, Budgets, and Alerts
Keeping a subscription's spend under control in Azure isn't one feature, it's a handful of them working together: a way to see where money is going, a way to cap it before it runs away, and a way to get warned when something looks off. This post covers the day-to-day mechanics of all three, plus the quotas that limit how much you can deploy in a region in the first place.
Cost Analysis
Cost Analysis is the starting point for understanding spend on a subscription — it provides a visual, filterable breakdown of costs by resource, resource group, region, tags, and other dimensions, which is what makes it possible to actually identify where the money is going rather than just seeing a single total. Costs can vary meaningfully by region for otherwise identical resources (Brazil, Japan, and the US regions, for example, can differ noticeably), so region is one of the more useful dimensions to filter by when hunting for savings.
Budgets and cost alerts
Budgets let you plan and track spending against a defined amount, with a creation date and an expiry date. A budget on its own is just a number to compare against — its usefulness comes from linking it to alerts, which notify you as spending approaches or exceeds the threshold you set. Budget alerts go to the email recipients configured on the budget directly; for other channels — SMS, a webhook, an ITSM ticket, or an automated runbook — a budget alert can be routed through an Azure Monitor action group instead.
Cost alerts more broadly can be configured against either a budget threshold or against anomaly detection, and can be set to trigger on forecasted spend as well as actual spend, giving you a chance to react before the threshold is actually crossed rather than after.
Anomaly detection
Anomalies are unexpected changes in spending patterns — a sudden spike that doesn't match historical usage. Azure's anomaly detection runs automatically per subscription (it isn't available at other scopes) and uses a deep-learning forecasting model to flag daily usage that falls outside its expected range; once detected, an anomaly triggers a single alert email at the time it's found, rather than repeating. Anomalies are visible in Cost Analysis's dedicated smart views as well as through alerts.
Quotas and usage restrictions
Quotas cap how much of a given resource you can deploy in a specific region — the number of availability sets, total vCPUs, or dedicated CPUs, for example — and they're found under "Settings" within the subscription. Quotas can be increased on request where the default is too restrictive for the workload.
One quota tier worth calling out specifically is the Total Regional vCPUs quota: it represents the maximum vCPU count across all VM sizes combined in that region, and it counts every VM against the limit regardless of whether it's running or stopped (deallocated) — stopping a VM frees up nothing against this particular quota. The actual default value for this quota depends on the subscription's offer type and the region, rather than being a single fixed number across Azure — a lab or trial subscription commonly starts well below what a production enterprise subscription would default to in the same region.
Azure Advisor's cost recommendations
Azure Advisor runs continuously against a subscription and surfaces cost-optimisation recommendations — identifying unused reservations, VMs running with persistently low CPU utilisation, and similar savings opportunities, alongside its performance, security, reliability, and operational-excellence recommendations. Advisor recommendations may simply not appear for accounts with very low spending — there's not enough signal for it to have anything to suggest — so a lab subscription used lightly for learning purposes may show no cost recommendations at all; the fix, if you want to see the feature in action, is generating more spend for it to analyse.
Whenever Advisor detects a new recommendation, that event is recorded in the Azure Activity log, and alerts can be configured against those events — scoped to a subscription and, optionally, a specific resource group — so the right people get notified as new recommendations appear rather than having to check the Advisor blade manually. Notification recipients for these alerts are defined through an action group, the same mechanism budget alerts use for non-email channels.
Lab walkthrough
- Access Cost Analysis and get a visual overview of subscription spend.
- Examine the cost breakdown by resource, resource group, and region to identify where spend is concentrated.
- Set a budget under Cost Management — Budgets, defining the amount, timeframe, and alert thresholds.
- Configure a cost alert, based on either a budget threshold or anomaly detection.
- Review Advisor's cost recommendations for the subscription.