AZ-305Chapter 89 of 103Objective 1.3

Azure Cost Management and Budgets in Architecture

This chapter covers Azure Cost Management and Budgets, a critical area for the AZ-305 exam under Domain 1: Identity Governance, Objective 1.3 — Manage costs and budgets. Understanding how to design cost-effective architectures and implement budgets is essential for passing the exam, as questions on cost management appear in roughly 10-15% of the overall exam. We will dive deep into the mechanics of Azure Cost Management, budget creation, alerting, and automation, ensuring you can answer any exam question on this topic with precision.

25 min read
Intermediate
Updated May 31, 2026

Azure Budgets as a Prepaid Phone Plan

Think of Azure Cost Management and Budgets like a prepaid phone plan for your department. You estimate your monthly usage and set a budget cap. When your usage approaches that cap, the carrier sends you alerts — text messages at 50%, 75%, and 90% of your limit. If you hit 100%, they might throttle your data or you can choose to cut off service. In Azure, you create budgets at the subscription or resource group level, define alert thresholds as percentages of the budget amount, and configure action groups to send email or trigger automation. When costs reach each threshold, the system evaluates your actual spend against the budget and fires the configured actions. You can also set up automated shutdown of non-critical resources using runbooks triggered by budget alerts. Just as with a prepaid plan, you set the budget before the month starts, and the system monitors continuously, alerting you before you overspend. The key difference is that Azure budgets do not automatically stop spending — you must configure actions to do that. This mirrors the prepaid plan where you must set up auto-pay or manually top up to avoid interruption. The budget is an estimate, not a hard limit, unless you enforce it with automation.

How It Actually Works

What is Azure Cost Management and Why It Exists

Azure Cost Management is a suite of tools within the Azure portal that helps you plan, analyze, and optimize your cloud spending. It exists because cloud costs can spiral out of control without proper governance. The exam tests your ability to design cost controls that align with business requirements, such as setting budgets, configuring alerts, and using policies to enforce cost limits. Azure Cost Management includes cost analysis, budgets, recommendations, and exports. The most exam-relevant feature is Budgets, which allow you to set spending limits and receive alerts when costs exceed thresholds.

How Budgets Work Internally

A budget in Azure is a cost or usage limit that you define at a scope (management group, subscription, resource group). The budget is evaluated periodically (typically daily) against actual costs incurred. When costs reach a specified percentage of the budget amount, the system triggers alerts. The budget does not automatically stop spending; it is a monitoring and alerting mechanism only. To enforce cost limits, you must pair budgets with action groups that run automation, such as scaling down resources or disabling non-critical VMs.

#### Key Components - Budget Scope: The hierarchy level where the budget applies. Options include management group, subscription, resource group, or a resource group with a filter. The scope determines which costs are aggregated. - Budget Amount: The maximum amount you plan to spend in a given period (monthly, quarterly, annually). This is a numeric value in the currency of your billing account. - Time Grain: The period over which the budget is evaluated. Options: Monthly, Quarterly, Annual. The most common is Monthly. - Start Date and End Date: The budget is active between these dates. If no end date is set, it runs indefinitely. - Alert Thresholds: You define up to 5 alert conditions, each with a threshold percentage (e.g., 50%, 75%, 90%, 100%) and an action group to trigger. The threshold is based on the ratio of actual cost to budget amount. - Action Groups: These are Azure resources that define the notification method (email, SMS, webhook, Azure Function, etc.) when an alert fires. - Forecasted Cost Alerts: You can also set alerts based on forecasted costs, which predicts future spending based on past usage. This is useful for proactive cost management.

#### Evaluation Mechanism

Azure Cost Management evaluates budgets daily. The system calculates the actual cost incurred so far in the current period (e.g., month-to-date) and compares it to the budget amount. If the ratio exceeds any defined threshold, an alert is fired. The alert is sent to the configured action group. For example, if you set a threshold of 80% and your actual cost reaches $800 on a $1000 budget, the alert triggers. The evaluation is not real-time; there is a delay of up to 24 hours for cost data to appear. This means alerts may be delayed, especially for recent charges.

#### Configuration and Verification

To create a budget, navigate to Cost Management + Billing > Cost Management > Budgets. Click "Add" and fill in the details. You can also create budgets via PowerShell or CLI.

PowerShell example:

New-AzConsumptionBudget -Name "MonthlyBudget" -Amount 1000 -Category Cost -TimeGrain Monthly -StartDate 2024-01-01 -EndDate 2024-12-31 -Scope "/subscriptions/12345678-1234-1234-1234-123456789abc"

CLI example:

az consumption budget create --budget-name "MonthlyBudget" --amount 1000 --time-grain monthly --start-date 2024-01-01 --end-date 2024-12-31 --scope "/subscriptions/12345678-1234-1234-1234-123456789abc"

To add alert thresholds, you must include them in the budget definition. In the portal, you add conditions under "Alert conditions." Each condition has a threshold percentage and an action group.

#### Interaction with Related Technologies

Azure Policy: You can use Azure Policy to enforce budget creation on subscriptions. For example, you can require that every subscription has a budget with at least one alert threshold. This is a common governance pattern.

Azure Automation: Budget alerts can trigger runbooks that automatically shut down VMs or scale down resources to stay within budget.

Action Groups: These are shared across Azure Monitor alerts and budget alerts. You can configure email, SMS, webhook, ITSM, or Azure Functions.

Cost Analysis: This is the reporting tool that provides detailed breakdowns of costs by resource, service, or tag. Budgets rely on the same cost data.

Best Practices for Exam

Always remember that budgets are alerting only — they do not stop spending by default. You must configure action groups to perform actions.

Budgets are evaluated daily, not in real-time. There is a latency of up to 24 hours for cost data.

You can set alerts on forecasted costs as well as actual costs.

Budgets can be scoped to management groups, subscriptions, resource groups, or specific resources using filters.

The exam will test scenarios where you need to design cost control. For example, you might be asked to ensure that a development subscription does not exceed $500 per month. The correct answer would involve creating a budget with alerts and an action group that sends an email to the team lead.

A common trap is thinking budgets can automatically block spending. They cannot. You need Azure Policy or Automation to enforce limits.

Detailed Mechanics

When a budget alert fires, the action group receives a notification with the budget name, current cost, threshold, and scope. If the action group contains an email, the email is sent from azure-noreply@microsoft.com with a subject like "Budget alert: MonthlyBudget has exceeded 80% of $1000.00." The email includes a link to the budget in the portal.

For forecasted alerts, the system uses machine learning to predict future costs based on historical usage. This is useful for catching trends early. The forecast is updated daily.

API and SDK

You can manage budgets programmatically via the Consumption REST API. The endpoint is:

https://management.azure.com/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}?api-version=2023-11-01

The request body includes properties like amount, timeGrain, timePeriod, and filter.

Limitations

Budgets can only be created by users with Owner or Contributor permissions on the scope.

There is a limit of 100 budgets per scope.

Alert thresholds must be between 1% and 1000%.

The budget amount must be greater than 0.

Exam Objective Codes

This content aligns with AZ-305 Objective 1.3: Manage costs and budgets. Specifically:

Design and implement cost management strategies

Create and manage budgets

Configure cost alerts and automation

Use Azure Policy to enforce cost controls

Walk-Through

1

Define Budget Scope and Amount

First, open Azure Cost Management + Billing and navigate to Budgets. Click 'Add' to create a new budget. Choose the scope: management group, subscription, or resource group. For example, select a subscription named 'Dev-Sub' to limit costs for development. Enter a budget name, such as 'Dev-Monthly-Budget'. Set the amount to $500. Choose the time grain: Monthly. Set the start date to the first day of the current month and optionally an end date. The budget will track costs incurred from the start date onward. This step establishes the baseline for cost monitoring.

2

Configure Alert Thresholds

Under 'Alert conditions', define up to 5 thresholds. Each threshold is a percentage of the budget. Common thresholds: 50%, 75%, 90%, and 100%. For each, select an action group. If no action group exists, create one with an email recipient (e.g., dev-team@contoso.com). You can also add SMS or webhook. The alert fires when actual costs reach the percentage. For example, at 75% ($375 spent), an email is sent. The system evaluates costs daily, so there is up to 24-hour delay. This step ensures you are notified before overspending.

3

Set Forecasted Cost Alerts

In the same budget creation wizard, you can enable alerts for forecasted costs. This is a separate section. Forecasted cost is an estimate based on historical usage. You set a threshold percentage (e.g., 100%) and an action group. When the forecast predicts you will exceed the budget by the end of the period, an alert fires. This is proactive — it catches trends early. For example, if after 10 days you have spent $200, the forecast might predict $600 for the month, triggering a forecast alert even though actual is only 40%. This step adds a layer of prevention.

4

Create Action Group for Automation

Action groups define the response to alerts. In the Azure portal, go to Monitor > Alerts > Action groups. Create an action group with a name like 'Budget-Action-Group'. Add actions: Email/SMS/Push/Voice. For automation, add an action type 'Automation Runbook' or 'Azure Function'. For example, create a runbook that stops all VMs in the resource group when the 100% threshold is reached. The action group is associated with the budget alert conditions. This step converts alerts into automated enforcement.

5

Monitor and Adjust Budget Alerts

After the budget is active, monitor the alerts. Check the Cost Analysis dashboard to see actual spending against budget. If you receive an alert at 90%, you can investigate which resources are driving costs. You may adjust the budget amount or resource usage. Budgets do not automatically enforce spending limits, so you must take manual action or rely on automation. Over time, refine thresholds based on patterns. For example, if you consistently hit 90% early in the month, increase the budget or add more restrictive automation. This step closes the loop.

What This Looks Like on the Job

Enterprise Scenario 1: Development/Test Environment Cost Control

A global software company has multiple development and test subscriptions. The finance team wants to ensure no dev subscription exceeds $1,000 per month. The solution: create a budget at each subscription scope with a $1,000 monthly amount. Set alert thresholds at 80% and 100%. The 80% alert sends an email to the dev team lead. The 100% alert triggers an action group that runs an Azure Automation runbook to shut down all non-critical VMs. This runbook is scoped to the subscription and tags VMs with 'Environment=Dev' to avoid affecting production. The system works well, but there is a delay: if a developer deploys a large GPU instance, costs may spike within hours, but the budget alert only fires the next day. To mitigate, the company also uses Azure Policy to enforce VM size limits and tag requirements. Misconfiguration: Initially, the runbook was not scoped correctly, causing production VMs to be shut down. After adding a tag filter, the automation became safe.

Enterprise Scenario 2: Multi-Department Chargeback

A large enterprise uses a management group hierarchy: Root > Departments (Sales, R&D, IT) > Subscriptions. The finance team wants each department to have a monthly budget and receive alerts when they exceed 90% of their allocation. They create budgets at the management group scope for each department. For example, the Sales department budget is $50,000 per month. Alerts are sent to department heads via email. Additionally, they use a forecasted cost alert at 100% to trigger a webhook that sends a message to a Teams channel. This allows managers to take proactive action. The challenge is that costs are aggregated across multiple subscriptions, so granular breakdowns require Cost Analysis filters. They also export cost data to a storage account for custom reporting. Misconfiguration: One department had overlapping budgets at both subscription and management group scope, causing duplicate alerts. They resolved by standardizing on management group-level budgets only.

Scenario 3: Reserved Instance Optimization

A company purchases Azure Reserved Instances (RIs) for predictable workloads. They want to ensure that RI costs are accounted for in budgets. Since RI purchases are upfront or monthly, they create separate budgets for RI and pay-as-you-go costs. They use tags to distinguish RI-related resources. Budget alerts are configured to exclude RI costs by using a filter on 'Charge Type' equals 'Usage' (excluding 'Purchase'). This ensures alerts reflect actual consumption. The main issue is that RI amortization is not reflected in the budget; the full RI cost appears on the purchase date, which can spike the budget. They work around this by setting the budget amount to include the RI cost and using forecasted alerts to smooth the view.

How AZ-305 Actually Tests This

What AZ-305 Tests on This Topic

The exam objective is 1.3: Manage costs and budgets. Questions typically present a scenario where an organization needs to control cloud spending. You must choose the correct combination of tools: budgets, action groups, Azure Policy, or Azure Automation. Key areas: - Budget creation: Know the scope options (management group, subscription, resource group). - Alert thresholds: You can set up to 5 thresholds as percentages of the budget amount. - Action groups: They can send email, SMS, or trigger automation (runbooks, functions). - Forecasted cost alerts: These are separate from actual cost alerts. - Latency: Budgets are evaluated daily, not in real-time. - Enforcement: Budgets do not stop spending; you need automation or Azure Policy.

Common Wrong Answers and Why Candidates Choose Them

1.

"Budgets automatically block further spending when the limit is reached." This is the most common trap. Candidates assume budgets work like a hard cap. Reality: Budgets only alert. To block spending, you need Azure Policy to deny deployments or Automation to shut down resources.

2.

"Budget alerts are real-time." Many think alerts fire instantly when spending exceeds a threshold. Reality: Cost data has up to 24-hour latency, so alerts are delayed.

3.

"You can set a budget on a single resource." While you can filter by resource, the budget scope must be a management group, subscription, or resource group. You cannot create a budget directly on a single VM. You must create a resource group budget with a filter.

4.

"Forecasted cost alerts are the same as actual cost alerts." They are separate. Forecasted alerts use predictive analytics, while actual alerts are based on incurred costs.

Specific Numbers and Terms That Appear on the Exam

Maximum of 5 alert thresholds per budget.

Thresholds are percentages (1% to 1000%).

Common thresholds: 50%, 75%, 90%, 100%.

Budget time grain: Monthly, Quarterly, Annual.

Action group types: Email, SMS, Webhook, Azure Function, Automation Runbook.

Budget scope: Management group, Subscription, Resource group.

The term "Cost Management" includes Budgets, Cost Analysis, Recommendations, and Exports.

Edge Cases and Exceptions

If a budget is created mid-month, it will only track costs from the creation date, not the entire month.

Budgets cannot be created on a resource group that is in a deleted state.

If the budget amount is set to $0, the budget is invalid.

Budgets do not support custom currencies; they use the billing currency.

Action groups must exist in the same region as the budget? No, action groups are global, but they are typically created in the same region as the subscription.

How to Eliminate Wrong Answers

If the question asks for a way to "prevent" overspending, eliminate any answer that only mentions budgets without automation. Budgets alone do not prevent.

If the question mentions "real-time" control, eliminate budgets because they have latency. Instead, consider Azure Policy or Azure Reservations.

If the question involves multiple subscriptions, consider management group scope for budgets.

If the question requires automatic shutdown, look for an action group triggering an Automation runbook or a Logic App.

Key Takeaways

Budgets are alerting mechanisms, not enforcement tools. They do not block spending.

Budget alerts can be set at 5 threshold percentages (1%-1000%) of the budget amount.

Budget evaluation is daily; there is up to 24-hour latency in cost data.

Action groups can send email, SMS, or trigger automation (runbooks, functions, webhooks).

Forecasted cost alerts are separate from actual cost alerts and use predictive analytics.

Budget scope can be management group, subscription, or resource group.

Maximum of 100 budgets per scope.

Budgets can be created via Azure portal, PowerShell, CLI, or REST API.

To enforce cost limits, combine budgets with Azure Policy or Azure Automation.

Common exam scenario: Use a budget with an action group that triggers a runbook to shut down non-critical VMs when budget is exceeded.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

Azure Budgets with Alerts

Monitors actual costs against a defined amount

Sends notifications via action groups

Does not enforce limits automatically

Requires automation (runbooks) to take action

Ideal for cost awareness and reporting

Azure Policy for Cost Control

Enforces rules on resource creation and configuration

Can deny or audit resource deployments

Can restrict VM sizes, locations, or SKUs to control costs

Automatically prevents non-compliant resources

Ideal for proactive cost prevention

Watch Out for These

Mistake

Budgets automatically stop spending when the limit is reached.

Correct

Budgets are alert-only. They do not block resource creation or usage. To stop spending, you must configure automation (e.g., runbooks) in the action group, or use Azure Policy to deny deployments after budget is exceeded.

Mistake

Budget alerts fire instantly when a threshold is exceeded.

Correct

Cost data is updated daily, so alerts can be delayed up to 24 hours. There is no real-time cost monitoring in budgets.

Mistake

You can create a budget directly on a single virtual machine.

Correct

Budgets are scoped to management groups, subscriptions, or resource groups. To track a single VM, create a resource group budget and filter by resource ID, but the scope must be the resource group.

Mistake

Forecasted cost alerts are the same as actual cost alerts.

Correct

Forecasted alerts use machine learning to predict future costs based on past usage. They are separate from actual cost alerts and can trigger even if actual costs are below the threshold.

Mistake

Budgets can be set in any currency.

Correct

Budgets use the currency of your billing account (e.g., USD, EUR). You cannot set a budget in a different currency.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

Can Azure Budgets automatically stop spending when the budget is exceeded?

No, Azure Budgets are alert-only. They do not automatically stop spending. To enforce cost limits, you must configure an action group that triggers automation, such as an Azure Automation runbook or an Azure Function, to shut down or scale down resources. Alternatively, you can use Azure Policy to deny new deployments after the budget is exceeded.

How often are Azure Budgets evaluated?

Azure Budgets are evaluated daily. The system checks the actual cost incurred so far in the current period against the budget amount. If the ratio exceeds any defined threshold, an alert is fired. However, cost data can have up to 24 hours of latency, so alerts may not be real-time.

What is the difference between actual cost alerts and forecasted cost alerts?

Actual cost alerts are triggered when the actual incurred costs reach a percentage of the budget. Forecasted cost alerts use machine learning to predict future costs based on historical usage. They trigger when the forecasted cost for the period exceeds a threshold, even if actual costs are still low. This allows proactive cost management.

Can I create a budget for a single resource like a virtual machine?

No, budgets are scoped to management groups, subscriptions, or resource groups. You cannot create a budget directly on a single resource. However, you can create a budget at the resource group scope and apply a filter to include only specific resources (e.g., by resource ID or tag).

What is the maximum number of alert thresholds I can set in a budget?

You can set up to 5 alert thresholds per budget. Each threshold is a percentage of the budget amount, ranging from 1% to 1000%. Common thresholds include 50%, 75%, 90%, and 100%.

How do I automate cost control using Azure Budgets?

To automate cost control, create a budget with alert thresholds. For each threshold, assign an action group that contains an action type such as 'Automation Runbook' or 'Azure Function'. For example, when the 100% threshold is reached, a runbook can stop all virtual machines in a resource group. You can also use webhooks to call external systems.

What permissions are needed to create Azure Budgets?

To create budgets, you need Owner or Contributor permissions on the scope (management group, subscription, or resource group). Additionally, to manage action groups, you need appropriate permissions on the action group resource.

Terms Worth Knowing

Ready to put this to the test?

You've just covered Azure Cost Management and Budgets in Architecture — now see how well it sticks with free AZ-305 practice questions. Full explanations included, no account needed.

Done with this chapter?