Why start with a map
Azure has about a dozen management and monitoring services, and several have been renamed more than once. A runbook from 2019 may tell you to "check OMS". A 2022 blog post talks about "Automanage machine configuration". A colleague still calls Cost Management "Cloudyn". If you can't turn those names into today's services, you lose time in an incident and you misjudge what is still supported.
Think of this lesson as the floor plan of a workshop: which tool hangs on which wall. Later levels take each tool down and use it. For now you need three things: the job group each service belongs to, its old names, and the first place to look for a common operations question.
The map: seven job groups
| Job group | Service (current name) | Former names you will still meet |
|---|---|---|
| Monitoring and logging | Azure Monitor: platform metrics, alerts, workbooks, and Azure Monitor Logs stored in a Log Analytics workspace | Operations Management Suite (OMS). The OMS portal moved into the Azure portal in 2018–19. "Log Analytics" is now the name of the query page and the workspace, not a separate product |
| Monitoring and logging | Azure Monitor managed service for Prometheus and Azure Managed Grafana | Self-run Prometheus and Grafana on VMs or AKS |
| Tracing (application performance) | Application Insights, part of Azure Monitor | "Classic" Application Insights, retired 29 Feb 2024. Only workspace-based resources can be created now |
| Infrastructure as code | Azure Resource Manager (ARM) with Bicep, template specs and deployment stacks | ARM JSON templates (still valid; Bicep compiles to them). Azure Blueprints is retiring: no new definitions from 31 Jul 2026, no edits or new assignments from 31 Oct 2026, fully retired 31 Jan 2027. Its replacement is deployment stacks plus template specs |
| Configuration and patching | Azure Update Manager | Update Management in Azure Automation, retired 31 Aug 2024 along with the Log Analytics agent (MMA) it relied on |
| Configuration and patching | Azure Automation (runbooks, hybrid workers) and Azure Machine Configuration | Machine Configuration was Azure Policy Guest Configuration, then Automanage Machine Configuration. Automation State Configuration (DSC) retires 30 Sep 2027 and moves to Machine Configuration |
| Inventory and governance | Azure Resource Graph, Azure Lighthouse, Azure Policy and management groups (Policy was covered in the security course) | Change Tracking and Inventory on the old agent retired 31 Aug 2024 and now runs on Azure Monitor Agent. Automanage Best Practices retires 30 Sep 2027 and moves to Azure Policy |
| Cost | Microsoft Cost Management + Billing | Cloudyn, retired June 2021. Also "Azure Cost Management" |
| Advice and health | Azure Advisor and Azure Service Health (which includes Resource Health) | — |
Gotcha: "Log Analytics" is used for three things: the old product, the workspace that stores the data, and the query page in the portal. When a doc says "send it to Log Analytics", read it as "send it to a Log Analytics workspace, through Azure Monitor".
Walkthrough: one question, one first stop
The skill here is routing a question to the right first stop. Here are three common questions, each answered from the CLI. Run them in Cloud Shell, which is already signed in.
"Which VMs are missing patches?" Start with Update Manager, read through Resource Graph
Update Manager writes its assessment results into Resource Graph. That means one query can cover every subscription you have access to.
# The az graph commands come from the resource-graph extension.
# The first call installs it automatically; this line just makes it explicit.
az extension add --name resource-graph
# Count pending updates per machine from Update Manager's latest assessment
az graph query -q "
patchassessmentresources
| where type =~ 'microsoft.compute/virtualmachines/patchassessmentresults'
| extend vm = tostring(split(id, '/')[8])
| project vm, status = properties.status,
critical = properties.availablePatchCountByClassification.critical,
security = properties.availablePatchCountByClassification.security
| order by toint(critical) desc" -o table
The output looks something like this:
Vm Status Critical Security
----------- --------- -------- --------
web-prod-01 Succeeded 3 5
sql-prod-02 Succeeded 1 2
Pitfall: If a VM is missing, no assessment has run on it yet. That isn't the same as "fully patched". You'll see how to fix that in the Update Manager lesson.
"What do we actually run?" Start with Resource Graph
# Inventory of resources by type across all subscriptions you can read, top 5
az graph query -q "resources | summarize count() by type | top 5 by count_" -o table
Resource Graph is read-only and fast, and it reads the Resource Manager control plane. It doesn't see inside a VM; for that you need Azure Monitor or Machine Configuration.
"Why did the bill jump?" Start with Cost Management, then Advisor
Cost Analysis in the portal (Cost Management → Cost analysis, grouped by service or resource) shows what changed. Anomaly alerts flag unexpected daily spikes. Advisor then tells you what to do about it:
# Advisor's cost recommendations, for example idle or oversized resources
az advisor recommendation list --category Cost \
--query "[].{impact:impact, problem:shortDescription.problem}" -o table
Trade-off: Cost Management tells you where the money went. Advisor tells you what to change. You usually need both, and in that order.
Quick routing table
| Question | First stop |
|---|---|
| Is the CPU on this VM high right now? | Azure Monitor metrics |
| Why is checkout slow for users? | Application Insights |
| Is it us or Azure? Is there a region outage? | Service Health / Resource Health |
| Who deployed this, and can we redeploy it the same way? | ARM deployment history, Bicep, deployment stacks |
| Which VMs are missing patches? | Azure Update Manager |
| Is this server's OS configuration compliant? | Machine Configuration |
| How many untagged disks do we have, across 40 subscriptions? | Resource Graph |
| How do we manage a customer's tenant without guest accounts? | Azure Lighthouse |
| Why did the bill jump? | Cost Management |
| What should we resize or shut down? | Advisor |
Best practice: Keep a "rename crib sheet" in your team wiki next to the runbooks. Most confusion in old Azure scripts comes from names, not from the technology.
Key takeaways
- Azure ops tooling falls into seven job groups: monitoring and logging, tracing, infrastructure as code, configuration and patching, inventory and governance, cost, and advice and health.
- OMS became Azure Monitor (with Log Analytics workspaces), Update Management became Update Manager, Guest Configuration became Machine Configuration, and Cloudyn became Cost Management.
- Several services are retiring: Blueprints (fully retired 31 Jan 2027), Automation State Configuration and Automanage Best Practices (both 30 Sep 2027). Don't build anything new on them.
- Resource Graph is the cross-subscription inventory tool, and it also holds Update Manager's patch assessment results.
- For bill questions, go to Cost Management to see where the money went, then Advisor to see what to change.