Skip to main content
idle · azure

Azure Machine Learning online deployments that served zero requests

resource types
1
rule IDs covered
1
severity
high

What does ZopNight detect here?

ZopNight flags an Azure Machine Learning managed online deployment whose `RequestsPerMinute` metric shows zero on average and at peak, with at least 7 days of data and a known cost. A managed online deployment keeps its instances, often GPU VMs, running for as long as it exists, so a model endpoint nobody calls bills the full instance rate.

Signal and threshold

How ZopNight evaluates Azure Machine Learning online deployments that served zero requests.
Field Value
Rule IDsRC-1397
Categoryidle
Severityhigh
MetricRequestsPerMinute
Thresholdaverage and maximum = 0
Evaluation window30d
SourceZopNight
Permissions usedMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/read · Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/read · Microsoft.Insights/Metrics/Read

Instances bill for as long as the deployment exists

A managed online endpoint is the address; each deployment behind it is a set of instances of a chosen VM size running your model. You pick the instance count, and Azure Machine Learning also reserves 20% extra quota on some VM sizes for upgrades, per the online endpoints overview. Those instances run whether or not requests arrive.

Deployments are also easy to lose track of in the bill. Microsoft’s cost guide for online endpoints explains that costs accrue to the workspace and must be filtered by the azuremlendpoint and azuremldeployment tags to see a single deployment.

Checking requests on a deployment

Terminal window
az ml online-deployment list --endpoint-name my-endpoint \
--resource-group my-rg --workspace-name my-workspace -o table
az monitor metrics list --resource <deployment-resource-id> \
--metric RequestsPerMinute CpuUtilizationPercentage GpuUtilizationPercentage \
--offset 30d --interval PT24H --aggregation Average Maximum

The az ml commands come from the Azure CLI ml extension.

Evidence needed for a delete recommendation

  1. The RequestsPerMinute series exists for the deployment.
  2. Its average is 0 and its maximum is 0.
  3. It covers at least 7 days, so a deployment created this week is not flagged before callers are pointed at it.
  4. The deployment has a known cost above zero. Billing for a new deployment can take a day or more to appear, so the finding may show up on a later pass rather than immediately.

CPU and GPU utilization are attached as supporting evidence when available. They do not decide the outcome.

Deployments that are not flagged

No request data means no finding: absence of the metric is not treated as zero traffic. A single request in the window clears the deployment. Deployments with no cost yet recorded are also skipped, because a finding without a price cannot be ranked against anything else.

Saving is the deployment’s full run rate

Terminal window
saving = current monthly cost of the deployment's instances
cost after fix = 0

Removing an unused deployment

  1. Confirm no application, pipeline or traffic rule routes to the deployment; check the endpoint’s traffic split in Azure Machine Learning studio under Endpoints.
  2. Delete it: az ml online-deployment delete --name my-deployment --endpoint-name my-endpoint --resource-group my-rg --workspace-name my-workspace --yes.
  3. If the endpoint has no deployments left, delete it too with az ml online-endpoint delete.
  4. For models that need occasional inference, consider autoscale on the deployment through Azure Monitor autoscale, so instance count follows demand.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·