This domain is 30-35% of AZ-900. The questions are mostly “which tool does this job” and many answers are one of three look-alikes: Policy versus RBAC versus locks, Advisor versus Service Health versus Monitor, CLI versus PowerShell versus Cloud Shell. Learn the single purpose of each tool and the usual wrong answer it gets confused with.
Cost management
Factors that affect cost
| Factor | Effect |
|---|---|
| Resource type and size | VM series and size, storage type, database tier all have different rates |
| Region | Prices differ by region because of local costs |
| Usage and time | Running hours, storage amount, transactions, operations |
| Bandwidth | Inbound data is free; outbound (egress) to the internet or across regions is charged, with a small free allowance |
| Subscription type | Pay-as-you-go, enterprise agreements, free accounts and credits |
| Licences | Windows, SQL Server and other software on VMs, reduced by Azure Hybrid Benefit if you own licences with Software Assurance |
| Reservations and savings plans | One- or three-year commitments give discounts compared with pay-as-you-go |
| Spot | Unused capacity at deep discounts, can be evicted |
| Support plan | Paid support tiers add cost |
| Marketplace | Third-party software and services add their own charges |
Ways to cut cost: right-size or stop idle VMs, deallocate rather than just shut down, autoscale, pick cooler storage tiers, use reservations for steady load, use Spot for interruptible work, and apply Hybrid Benefit. Azure Advisor flags many of these.
Pricing calculator
The Azure pricing calculator is a free web tool that estimates the monthly cost of services you plan to use: choose services, region, size, tier and quantity and it shows a running estimate you can export and share. It is for future costs. The Azure TCO calculator (where available) compared a move from on-premises with Azure running costs; Microsoft has been steering people to the pricing calculator and Azure Migrate business cases for this.
Cost Management capabilities
Microsoft Cost Management (in the portal, with billing) is for spending you already have or are on track to have:
- Cost analysis: break down and visualise costs by resource, resource group, tag, service and time.
- Budgets: set a spending limit for a scope and trigger alerts (email or action groups) at thresholds. Budgets alert, they don’t stop resources.
- Cost alerts for budgets, credits and anomalies, plus recommendations and exports for reporting.
- Resources can be allocated to teams using tags and scopes (chargeback and showback).
| Need | Tool |
|---|---|
| Estimate cost before deploying | Pricing calculator |
| See and analyse what you’ve spent | Cost analysis |
| Get warned when spending nears a limit | Budget with alerts |
| Find savings on existing resources | Azure Advisor cost recommendations |
Tags
Tags are name/value pairs (for example environment: prod, costcenter: 1234) attached to resources, resource groups and subscriptions. Uses: group costs and report by team or project, organise resources, automation and operations.
Key facts:
- Tags are not inherited by default: a tag on a resource group doesn’t appear on its resources. Azure Policy can enforce a tag or copy it down from the group.
- A resource can have up to 50 tags in most cases.
- Tags are metadata: they don’t control access or change behaviour.
Governance and compliance
Microsoft Purview
Microsoft Purview is a family of data governance, risk and compliance solutions. In Azure, it helps you:
- Discover and map data across on-premises, multicloud and SaaS (a data catalogue), classify sensitive data and trace lineage.
- Manage compliance: information protection, data loss prevention, retention, audit and eDiscovery, insider risk, and a Compliance Manager that gives a compliance score.
Think “know where data is, classify it and meet regulations”, not “enforce a configuration on resources”.
Azure Policy
Azure Policy evaluates resources against rules and either audits or enforces compliance. It governs resource properties, not user permissions.
- A policy definition holds the rule; an initiative is a group of definitions toward one goal (for example a regulatory standard); an assignment applies it at a scope (management group, subscription, resource group) and is inherited downward, with optional exclusions.
- Common effects: Audit (flag non-compliance), Deny (block creation or update), Modify (change properties such as add tags), DeployIfNotExists (deploy a related resource if missing), Append.
- Examples: allow only certain regions, allow only specific VM sizes, require a tag, require HTTPS on storage, require encryption.
- Policy checks existing resources too and shows compliance. Remediation tasks can fix non-compliant resources.
Resource locks
A resource lock prevents accidental deletion or modification whatever a user’s permissions. Two types:
| Lock | Effect |
|---|---|
| CanNotDelete (Delete) | Authorised users can read and modify, but can’t delete |
| ReadOnly | Authorised users can read but can’t modify or delete (like giving everyone Reader) |
- Applied to a subscription, resource group or resource, and inherited by everything beneath.
- Even an Owner is blocked; to remove the resource you must first remove the lock (needs the right permission).
- ReadOnly can have surprising side effects: some operations that look like reads (such as listing storage keys) are blocked.
Policy vs RBAC vs locks
| Tool | Controls | Question it answers |
|---|---|---|
| RBAC | What users can do | “Who is allowed to do this?” |
| Azure Policy | What resources may look like | “Is this configuration allowed or compliant?” |
| Resource lock | Accidental delete or change | “Stop anyone, even owners, deleting this” |
| Purview | Data discovery and compliance | “Where is sensitive data and are we compliant?” |
Managing and deploying resources
Azure portal
The Azure portal is the browser-based graphical console for creating, managing and monitoring resources. It offers dashboards, resource blades, and Cloud Shell. Good for exploring and one-off tasks; poor for repeatable bulk changes.
Cloud Shell, CLI and PowerShell
| Tool | What it is |
|---|---|
| Azure Cloud Shell | Browser-based, authenticated shell reached from the portal or shell.azure.com, with Bash or PowerShell, preinstalled tools, and a cloud-hosted file share (an Azure Files share) for your files. Nothing to install |
| Azure CLI | Cross-platform command-line tool with commands such as az vm create; runs in Bash, Cmd, PowerShell and Cloud Shell |
| Azure PowerShell | PowerShell module (the Az module) with cmdlets such as New-AzVm; cross-platform |
CLI and PowerShell do the same job; choose by preferred syntax. Both enable scripting and automation, which is more repeatable than clicking in the portal. Cloud Shell is the way to run either with no local installation.
Azure Arc
Azure Arc extends Azure management to resources outside Azure: on-premises servers, other clouds, Kubernetes clusters and (through Arc-enabled data services) databases. You can apply Azure Policy, tags, RBAC, monitoring, and Defender to them from one control plane, and run Azure services on them. It’s the answer for “manage on-premises and other clouds the Azure way”.
Infrastructure as code
Infrastructure as code (IaC) describes infrastructure in text files that you version, review and deploy automatically. Benefits: repeatable and consistent environments, fewer manual errors, version history and peer review, faster provisioning, and easy teardown. Approaches:
- Declarative: describe the desired end state and the platform works out how (ARM templates, Bicep, Terraform).
- Imperative: write the steps (scripts with CLI or PowerShell).
Azure Resource Manager and ARM templates
- Azure Resource Manager (ARM) is the management layer for Azure. Every request from the portal, CLI, PowerShell, SDKs or REST APIs goes through it, where it is authenticated, authorised (RBAC, Policy, locks) and then passed to the resource provider. It gives consistent results from any tool, and lets you deploy, update and delete resources together as a group.
- ARM templates are declarative JSON files describing resources and their properties. Deploying the same template repeatedly yields the same result (idempotent). They support parameters, variables and dependencies between resources.
- Bicep is a simpler, cleaner language that compiles to ARM JSON and is the preferred way to author. Terraform is a non-Microsoft multi-cloud IaC tool that also works on Azure.
Monitoring tools
Azure Advisor
Azure Advisor is a free personalised consultant that analyses your existing resources and gives recommendations across five pillars: reliability, security, operational excellence, performance and cost. It can show estimated savings and let you act on or postpone each item.
Azure Service Health
Shows how Azure’s own services are affecting you, in three parts:
| Part | Shows |
|---|---|
| Azure status | Global overview of Azure services and regions for everyone |
| Service Health | Personalised view of issues, planned maintenance and health advisories for your subscriptions, services and regions, with alerts |
| Resource Health | The health of individual resources (for example one VM), including whether an issue is on Azure’s side |
Use Service Health when an Azure outage or planned maintenance may affect you; use Azure Monitor for the state of your own application.
Azure Monitor
Azure Monitor collects, analyses and acts on metrics and logs from Azure, on-premises and other clouds.
- Metrics are numeric time series (CPU %). Logs are records and events.
- Log Analytics is the tool and workspace for querying logs with Kusto Query Language (KQL).
- Azure Monitor alerts notify or act when a condition is met (metric threshold, log query result, activity log event). Alerts use action groups (email, SMS, push, webhook, runbook, Logic App).
- Application Insights is application performance monitoring (APM) for web apps: request rates, response times, failures, dependencies, exceptions, user behaviour, live metrics and distributed traces.
- Also in the family: autoscale settings, workbooks and dashboards, the activity log (subscription-level control-plane events such as who deleted a VM).
Which monitoring tool?
| Question | Tool |
|---|---|
| Is Azure having a problem or planned maintenance affecting me? | Service Health |
| How can I improve cost, security, reliability of what I have? | Azure Advisor |
| What is my VM’s CPU, or what do my logs say? | Azure Monitor / Log Analytics |
| Why is my web app slow, where are the exceptions? | Application Insights |
| Alert me when CPU is high | Azure Monitor alert |
| What are my security recommendations and threats? | Defender for Cloud |
Exam checklist
- Pricing calculator = estimate before deploying; Cost Management = analyse, budget and alert on actual spend. Budgets don’t stop resources.
- Inbound data is free; outbound is charged. Reservations (1 or 3 years), Spot and Hybrid Benefit reduce cost.
- Tags are for organisation and cost reporting, are not inherited by default, and Policy can enforce or copy them.
- Policy = resource compliance (Audit, Deny, Modify, DeployIfNotExists). RBAC = user permissions. Locks = prevent delete (CanNotDelete) or change (ReadOnly), even for owners.
- Purview = data governance and compliance.
- Portal = graphical; CLI and PowerShell = scripting; Cloud Shell = browser shell with nothing to install.
- Arc = manage on-premises and other clouds from Azure. ARM = the management layer behind every tool. ARM templates = declarative JSON; Bicep compiles to ARM.
- IaC = repeatable, versioned, consistent. Declarative describes the end state.
- Advisor = recommendations in five pillars. Service Health = Azure issues that affect you. Monitor = metrics and logs; Log Analytics = KQL queries; Application Insights = app performance.