Background
Sections
IntroductionFoundations1. Resource Hierarchy2. Resource Manager3. Identity and RBAC4. Regions and Availability5. Naming and TaggingVirtual Machines1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetVirtual Network1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetBlob Storage1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure SQL Database1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure Kubernetes Service1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure Container Registry1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetMicrosoft Entra ID1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure RBAC1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure Functions1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAPI Management1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure App Configuration1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure Machine Learning1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure Monitor1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and CheatsheetAzure AI Foundry1. What and Why2. Core Concepts3. Architecture4. Getting Started5. Deployment6. Integrations7. Production8. Interview Questions9. Glossary and Cheatsheet

9. Glossary and Cheatsheet

9 min read

Glossary

Term One line
Workspace The regional ARM resource that owns everything. Check its kind before assuming what it is
kind Default (Azure ML), Hub / Project (Foundry classic), FeatureStore. Same resource type, different products
Dependent resources The storage account, Key Vault, Application Insights, and container registry beside every workspace. They survive workspace deletion
Datastore A saved, named connection to a storage service with its auth attached
workspaceblobstore The default datastore on the workspace's own storage account. Job outputs and snapshots land here
Data asset A named, versioned pointer to data — uri_file, uri_folder, or mltable. Not a copy, not a snapshot
MLTable A spec file describing how to load a folder of data — schema, delimiters, partitions
Environment A versioned image + dependency spec, materialised and cached in ACR
Curated environment Microsoft-maintained, prebuilt, in the shared azureml registry. Fast; you don't control what's in it
Job One tracked execution. Types: command, sweep, pipeline, automl, spark
Experiment A name you group jobs under. Nothing more than that
Code snapshot The upload of the job's code directory at submission. A real copy, unlike a data asset. Governed by .amlignore
Component A reusable, versioned pipeline step with a typed input/output interface
Pipeline job A DAG of components, with step-level caching and per-step compute
Sweep A hyperparameter search over a command job, with an early-termination policy
AutoML Azure ML searching models and hyperparameters for you
Model A versioned artifact: custom_model, mlflow_model (prefer this), or triton_model
Registry A separate ARM resource sharing models, environments, and components across workspaces and regions. The promotion mechanism
Compute instance A single-user managed dev VM. Billed per hour while running. Set idle shutdown
Compute cluster / AmlCompute An autoscaling job pool. Set min_instances = 0
Serverless compute Nodes Azure ML manages; you specify size and count on the job
Kubernetes compute Your AKS or Arc cluster with the Azure ML extension, attached to the workspace
Spot / low-priority Cheap, evictable nodes. Separate quota pool. Right for sweeps, wrong for one long run
Online endpoint A stable HTTPS address with an auth mode. Managed or Kubernetes
Deployment Model + environment + scoring script + instance type + count, behind an endpoint
Traffic split Percentages across an endpoint's deployments. Your canary and your rollback
Batch endpoint Submit a job over a dataset; runs on a cluster, writes outputs. Pays only while running
Scoring script init() once per instance (load the model here), run() per request
init() / run() Loading the model in run() is the classic latency bug
Managed VNet Azure-run network isolation for compute. Disabled / AllowInternetOutbound / AllowOnlyApprovedOutbound
AllowOnlyApprovedOutbound Egress only to declared FQDNs and private endpoints. Provisions a billed managed firewall
Model data collection A per-deployment switch writing request/response payloads to storage, for drift analysis
Data drift Production input distribution has moved away from the training baseline. The failure infra telemetry won't show you
AzureML Data Scientist Data-plane role: run jobs, manage assets. Cannot create compute
AzureML Compute Operator Control-plane role: start/stop/manage compute without full Contributor
Soft delete Workspaces (and Key Vaults) go to a recycle bin; the name stays reserved
Purge protection Key Vault: a one-way door. Once on, a deleted vault cannot be purged early
azapi The Terraform provider that talks raw ARM, for resource types azurerm hasn't modelled — here, online deployments and registries

Commands you will actually type

Setup

az extension add -n ml                    # or: az extension update -n ml
az configure --defaults group=<rg> workspace=<ws>

Quota — check before anything else

az ml compute list-usage --location eastus -o table

Workspace

az ml workspace create -n <ws> -g <rg> -l <loc>
az ml workspace show   -n <ws> -g <rg>
az ml workspace list-deleted -o table
az ml workspace purge  -n <ws> -g <rg> -l <loc>     # frees a soft-deleted name

Compute

az ml compute create -n cpu-cluster --type AmlCompute \
  --size Standard_DS3_v2 --min-instances 0 --max-instances 4 \
  --idle-time-before-scale-down 300

az ml compute list -o table
az ml compute update -n cpu-cluster --max-instances 8
az ml compute stop  -n <instance-name>              # compute INSTANCES only
az ml compute start -n <instance-name>
az ml compute delete -n cpu-cluster --yes

Jobs

az ml job create -f job.yml --web
az ml job create -f job.yml --set inputs.n_estimators=500     # override without editing
az ml job list -o table
az ml job stream -n <job-name>
az ml job cancel -n <job-name>
az ml job download -n <job-name> --output-name model --download-path ./out

Assets

az ml data create        -f data.yml
az ml environment create -f environment.yml
az ml model create -n iris-rf --version 1 --type mlflow_model \
  --path azureml://jobs/<job>/outputs/artifacts/model
az ml model list -o table
az ml model archive -n iris-rf --version 1        # soft-hide, not delete

Registries — promotion

az ml model create --registry-name reg-mlops -f model.yml
az ml model share  -n fraud-rf --version 12 \
  --registry-name reg-mlops --share-with-name fraud-rf --share-with-version 12

⚠️ Registry command surface has changed across releases — verify against az ml model --help.

Endpoints and deployments — the blue/green loop

az ml online-endpoint create -n <ep> --auth-mode AADToken

az ml online-deployment create -f deployment-green.yml       # created at 0% traffic
az ml online-endpoint invoke -n <ep> --deployment-name green --request-file sample.json
az ml online-endpoint update -n <ep> --traffic "blue=90 green=10"
az ml online-endpoint show   -n <ep> --query traffic

# ROLLBACK
az ml online-endpoint update -n <ep> --traffic "blue=100 green=0"

az ml online-deployment get-logs --endpoint-name <ep> --name green --lines 200
az ml online-deployment delete  --endpoint-name <ep> --name green --yes
az ml online-endpoint delete -n <ep> --yes

Batch

az ml batch-endpoint create -n <bep>
az ml batch-deployment create -f batch-deployment.yml --set-default
az ml batch-endpoint invoke -n <bep> --input azureml:my-data:3

Teardown

az group delete -n <rg> --yes --no-wait
az ml workspace list-deleted -o table     # confirm nothing lingers

Resource ID and URI shapes

# Workspace
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.MachineLearningServices/workspaces/{ws}

# Compute
.../workspaces/{ws}/computes/{name}

# Online endpoint and deployment
.../workspaces/{ws}/onlineEndpoints/{ep}
.../workspaces/{ws}/onlineEndpoints/{ep}/deployments/{name}

# Registry (a separate top-level resource, not under a workspace)
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.MachineLearningServices/registries/{reg}

Asset references inside YAML and the SDK use the azureml: scheme:

azureml:my-model:7                          # workspace asset, pinned version
azureml:my-model@latest                     # workspace asset, latest — never in prod
azureml://registries/{reg}/models/{name}/versions/{n}
azureml://registries/azureml/environments/sklearn-1.5/labels/latest   # curated
azureml://jobs/{job}/outputs/artifacts/model
azureml://datastores/{ds}/paths/{path}

Endpoints:

Workspace data plane : https://{region}.api.azureml.ms
Scoring              : https://{endpoint}.{region}.inference.ml.azure.com/score
Studio               : https://ml.azure.com

MLflow in three lines

import mlflow
mlflow.set_tracking_uri(ml_client.workspaces.get(ws).mlflow_tracking_uri)
mlflow.sklearn.autolog()

Inside a job submitted to Azure ML, the tracking URI is already set — mlflow.log_metric(...) just works with no Azure imports.

Limits worth knowing — with their scope

A number without a scope is useless in Azure. All of these vary by subscription type and region; read the live values rather than trusting any table, including this one.

Limit Counted per How to check
Dedicated vCPU, per VM family subscription × region × family az ml compute list-usage, portal Usage + quotas
Low-priority (Spot) vCPU subscription × region (separate pool) same
Managed online endpoint quota subscription × region (separate pool again) portal Usage + quotas
Endpoints per workspace workspace Azure docs / portal
Deployments per endpoint endpoint Azure docs
Nodes per compute cluster cluster (and bounded by family quota) cluster config
Workspaces per resource group resource group Azure docs
Workspace soft-delete retention workspace az ml workspace list-deleted
Key Vault soft-delete retention vault vault properties

⚠️ Every figure above is a shape, not a value. Verify against current Azure docs and your own subscription before designing to any of them.

Decision cheatsheet

Question Answer
Training my own model, or calling a foundation model? Own → Azure ML. Calling → Foundry
Authoring or running? Authoring → compute instance (with idle shutdown). Running → cluster or serverless
Cluster min_instances? 0. If you're arguing otherwise, measure first
Spot or dedicated? Sweeps and checkpointed work → Spot. One long run your release depends on → dedicated
Real-time or bulk? Sub-second per request → managed online endpoint. Large batches, latency-tolerant → batch endpoint (much cheaper)
Spiky traffic, cost-sensitive? Not a managed online endpoint — there's no scale-to-zero. Batch endpoint, or a Container App
Key auth or Entra ID on the endpoint? Entra ID (AADToken). Key auth is for the first hour
One deployment or two? Two. blue and green. The second one is your rollback
How do I roll back? az ml online-endpoint update --traffic "blue=100 green=0"
Promoting a model between environments? A registry. Not a file copy
@latest in a spec? Fine in dev, never in prod
Terraform or az ml? ARM resources → Terraform. Assets, models, deployments, traffic → az ml
Where's my money going? A running compute instance, a cluster floor, or an idle online deployment. In that order

Next: back to the Azure Machine Learning overview, or on to the next topic in the article.

← Back to the Azure Machine Learning overview · ← Previous: Interview Questions