Azure Machine Learning Workspace / Azure AI Foundry - Complete Deep-Dive Reference
Authoritative reference for every aspect of Azure Machine Learning Workspace (Azure AI Foundry) including architecture, networking, private endpoints, compute clusters, endpoint deployment, managed identities, ACR integration, storage accounts, all CLI and PowerShell commands, log reading, debugging, and Terraform integration.
1. ARCHITECTURE AND CORE CONCEPTS
Workspace Resource Hierarchy
Azure Subscription
└── Resource Group
├── Azure ML Workspace (Microsoft.MachineLearningServices/workspaces)
│ ├── Dependent Resources (auto-created or BYO)
│ │ ├── Azure Storage Account (default datastore)
│ │ ├── Azure Key Vault (secrets, connection strings)
│ │ ├── Azure Application Insights (telemetry)
│ │ └── Azure Container Registry (Docker images for environments)
│ ├── Compute Targets
│ │ ├── Compute Instances (dev/test VMs)
│ │ ├── Compute Clusters (AmlCompute - training)
│ │ ├── Serverless Compute (on-demand)
│ │ ├── Kubernetes Compute (AKS / Arc-enabled)
│ │ └── Attached Compute (Databricks, HDInsight, VMs)
│ ├── Data Assets (versioned references to data)
│ ├── Datastores (connections to storage)
│ ├── Environments (Docker + conda specs)
│ ├── Models (registered trained models)
│ ├── Endpoints
│ │ ├── Managed Online Endpoints (real-time)
│ │ ├── Kubernetes Online Endpoints (BYO infra)
│ │ ├── Batch Endpoints (large-scale scoring)
│ │ └── Serverless Endpoints (MaaS - pay-per-token)
│ ├── Jobs (training runs, pipelines, sweeps)
│ ├── Components (reusable pipeline steps)
│ ├── Schedules (recurring job triggers)
│ └── Registries (cross-workspace sharing)
└── AI Foundry Hub (kind=hub) + Projects (kind=project)
AI Foundry Hub/Project vs Classic Workspace
| Feature |
Classic Workspace (kind=Default) |
AI Foundry Hub + Project |
| Portal |
ml.azure.com |
ai.azure.com |
| Scope |
Single workspace |
Hub shares infra across projects |
| Networking |
Per-workspace |
Hub-level (shared across projects) |
| Identity |
Per-workspace |
Hub-level identity, project inherits |
| Model catalog |
Yes |
Yes, plus additional Foundry models |
| Prompt flow |
Yes |
Yes |
| AI agents |
Limited |
Full AI Agent Service |
| Use case |
Classical ML, custom training |
GenAI, LLM apps, AI agents |
Workspace Creation - All Methods
CLI:
# Install/upgrade ML extension
az extension add --name ml --upgrade
# Create resource group
az group create --name ml-rg --location eastus
# Create workspace with all dependencies auto-created
az ml workspace create \
--name my-ml-workspace \
--resource-group ml-rg \
--location eastus
# Create workspace with explicit dependencies
az ml workspace create \
--name my-ml-workspace \
--resource-group ml-rg \
--location eastus \
--storage-account /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Storage/storageAccounts/mlstorage \
--key-vault /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.KeyVault/vaults/mlkeyvault \
--app-insights /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Insights/components/mlinsights \
--container-registry /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.ContainerRegistry/registries/mlacr \
--public-network-access Disabled \
--managed-network AllowInternetOutbound \
--image-build-compute cpu-build-cluster \
--enable-data-isolation true \
--tags Environment=Production Team=DataScience
# Create AI Foundry Hub
az ml workspace create \
--name my-ai-hub \
--resource-group ml-rg \
--location eastus \
--kind hub \
--storage-account aihubstorage \
--key-vault aihubkeyvault
# Create AI Foundry Project within Hub
az ml workspace create \
--name my-ai-project \
--resource-group ml-rg \
--location eastus \
--kind project \
--hub-id /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/my-ai-hub
# Show workspace details
az ml workspace show \
--name my-ml-workspace \
--resource-group ml-rg
# List all workspaces
az ml workspace list \
--resource-group ml-rg \
--output table
# Update workspace
az ml workspace update \
--name my-ml-workspace \
--resource-group ml-rg \
--description "Updated workspace" \
--public-network-access Disabled
# Delete workspace
az ml workspace delete \
--name my-ml-workspace \
--resource-group ml-rg \
--permanently-delete --all-resources
# Diagnose workspace configuration
az ml workspace diagnose \
--name my-ml-workspace \
--resource-group ml-rg
PowerShell (Az.MachineLearningServices):
# Install the module
Install-Module -Name Az.MachineLearningServices -Scope CurrentUser -Repository PSGallery -Force
# Create workspace
New-AzMLWorkspace `
-Name "my-ml-workspace" `
-ResourceGroupName "ml-rg" `
-Location "eastus" `
-StorageAccountId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Storage/storageAccounts/mlstorage" `
-KeyVaultId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.KeyVault/vaults/mlkeyvault" `
-ApplicationInsightId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Insights/components/mlinsights" `
-IdentityType "SystemAssigned" `
-PublicNetworkAccess "Disabled"
# Get workspace
Get-AzMLWorkspace -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
# List workspaces
Get-AzMLWorkspace -ResourceGroupName "ml-rg"
# Update workspace
Update-AzMLWorkspace `
-Name "my-ml-workspace" `
-ResourceGroupName "ml-rg" `
-Description "Updated workspace" `
-Tag @{Environment="Production"}
# Remove workspace
Remove-AzMLWorkspace -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
# Diagnose workspace
Invoke-AzMLWorkspaceDiagnose -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
2. NETWORKING
Azure ML supports three managed network isolation modes (Disabled, AllowInternetOutbound, AllowOnlyApprovedOutbound) with the managed VNet approach recommended for production. Private endpoints provide inbound connectivity, and outbound rules control egress from compute resources.
Key DNS Zones
| Service |
Private DNS Zone |
| ML Workspace API |
privatelink.api.azureml.ms |
| ML Notebooks |
privatelink.notebooks.azure.net |
| Storage Blob |
privatelink.blob.core.windows.net |
| Storage File |
privatelink.file.core.windows.net |
| Key Vault |
privatelink.vaultcore.azure.net |
| Container Registry |
privatelink.azurecr.io |
| Application Insights |
privatelink.monitor.azure.com |
Key Service Tags
| Service Tag |
Purpose |
| AzureMachineLearning |
ML workspace management (inbound 44224, outbound 443) |
| BatchNodeManagement |
Compute cluster management (inbound 29876-29877) |
| Storage |
Access to Azure Storage (outbound 443) |
| AzureActiveDirectory |
Authentication (outbound 443) |
For full VNet configuration, private endpoint setup, NSG rules, and outbound rule management, see references/networking.md.
3. COMPUTE
Azure ML offers multiple compute targets: Compute Instances for dev/test, AmlCompute Clusters for scalable training, Serverless Compute for on-demand jobs without cluster management, and Kubernetes Compute for BYO infrastructure scenarios.
GPU VM SKU Quick Reference
| VM Series |
GPU |
GPU Memory |
Use Case |
| Standard_NC24ads_A100_v4 |
1x A100 |
80 GB |
Training, fine-tuning |
| Standard_ND96amsr_A100_v4 |
8x A100 80GB |
640 GB |
Large model training |
| Standard_ND_H100_v5 |
8x H100 |
640 GB |
GenAI, LLM training |
| Standard_ND_H200_v5 |
8x H200 |
1120 GB |
Latest: 2x perf vs H100 |
| Standard_NCads_H100_v5 |
1x H100 NVL |
94 GB |
Inference, fine-tuning |
| Standard_NC4as_T4_v3 |
1x T4 |
16 GB |
Budget inference |
For the complete GPU SKU table, compute instance/cluster CLI reference, serverless compute, Kubernetes attach, and debugging commands, see references/compute.md.
4. ENDPOINT DEPLOYMENT
Azure ML supports four endpoint types: Managed Online Endpoints (recommended for real-time inference with blue-green deployments), Batch Endpoints (large-scale scoring on compute clusters), Kubernetes Online Endpoints (BYO AKS/Arc infrastructure), and Serverless Endpoints (pay-per-token Model-as-a-Service).
Endpoint Types Quick Reference
| Type |
Use Case |
Auth Modes |
Scaling |
| Managed Online |
Real-time inference |
key, aml_token |
Per-deployment instance count |
| Batch |
Large-scale scoring |
managed identity |
Compute cluster auto-scale |
| Kubernetes Online |
BYO infra real-time |
key, aml_token |
K8s pod scaling |
| Serverless (MaaS) |
Pay-per-token LLM |
key |
Automatic |
For full endpoint creation, deployment, traffic splitting, log retrieval, and batch invocation commands, see references/endpoints.md.
5-7. IDENTITIES, ACR, AND STORAGE
Managed identities (system-assigned or user-assigned) control access between workspace, compute, endpoints, and dependent resources. ACR stores Docker images for environments and model serving, requiring Premium SKU for private endpoints and an image-build-compute cluster when behind a VNet. Storage accounts serve as the default datastore for blobs, file shares, job outputs, and MLflow artifacts.
Identity Types
| Identity Type |
Use Case |
| System-Assigned (workspace) |
Default workspace operations, auto-lifecycle |
| User-Assigned (workspace) |
CMK encryption, cross-resource sharing |
| System-Assigned (compute) |
Per-cluster storage/ACR access |
| User-Assigned (compute) |
Fine-grained, reusable access control |
Key RBAC Roles
| Role |
Description |
| AzureML Data Scientist |
Run jobs, manage compute, deploy models |
| AzureML Compute Operator |
Create/manage compute resources |
| Azure AI Developer |
AI Foundry project development |
| Azure AI Inference Deployment Operator |
Deploy models to endpoints |
For full identity configuration, role assignment commands, ACR integration, private ACR setup, datastore registration, and storage account details, see references/identities-acr-storage.md.
8-9. CLI AND POWERSHELL
The az ml CLI extension provides comprehensive workspace management through 20+ command groups covering workspaces, compute, jobs, models, endpoints, environments, data, datastores, components, schedules, registries, and connections. The Az.MachineLearningServices PowerShell module offers equivalent functionality for Windows-native automation.
Key az ml Command Groups
| Command Group |
Purpose |
az ml workspace |
Manage workspaces (create, diagnose, provision-network, outbound-rule) |
az ml compute |
Manage compute (create, start, stop, connect-ssh, attach) |
az ml job |
Manage jobs (create, stream, cancel, download) |
az ml online-endpoint |
Manage online endpoints (create, invoke, get-credentials) |
az ml online-deployment |
Manage deployments (create, get-logs, traffic) |
az ml batch-endpoint |
Manage batch endpoints (create, invoke, list-jobs) |
az ml serverless-endpoint |
Manage serverless endpoints (create, get-credentials) |
For the complete command reference, job management deep-dive, schedule management, and full PowerShell cmdlet reference, see references/cli-powershell.md.
10. TERRAFORM INTEGRATION
Azure ML workspaces can be fully provisioned with Terraform using the azurerm provider. A production setup includes the workspace, VNet/subnets, NSG, storage account, key vault, ACR, Application Insights, private endpoints, DNS zones, compute clusters, and RBAC role assignments.
Key Terraform Resources
| Resource |
Purpose |
azurerm_machine_learning_workspace |
ML workspace (Default, Hub, Project) |
azurerm_machine_learning_compute_cluster |
AmlCompute training clusters |
azurerm_machine_learning_compute_instance |
Dev/test compute instances |
azurerm_machine_learning_workspace_network_outbound_rule_* |
Managed network outbound rules |
For the full production-ready Terraform configuration (providers, networking, storage, key vault, ACR, workspace, compute, role assignments, and outputs), see references/terraform.md.
11. TROUBLESHOOTING AND DEBUGGING
Azure ML provides multiple debugging surfaces: real-time job log streaming, deployment container logs (inference-server and storage-initializer), compute instance SSH access for system-level diagnostics, Log Analytics queries for historical analysis, and the az ml workspace diagnose command for configuration validation.
Common Error Categories
| Category |
Common Errors |
| Compute |
QuotaExceeded, AllocationFailed, disk full, GPU not detected |
| Endpoints |
ScoringError, HealthCheckFailure, ImageBuildFailed, 429/503 errors |
| Networking |
DNS resolution failure, connection timeout, storage/ACR access denied |
| Jobs |
EnvironmentBuildError, OutOfMemoryError, NCCL timeout, blob not found |
For full error reference tables, log locations, Log Analytics queries, endpoint metrics monitoring, workspace diagnostics, and the secure workspace setup checklist, see references/troubleshooting.md.
Additional Resources
Detailed reference files for each topic area:
- references/networking.md -- VNet, private endpoints, DNS zones, NSG rules, service tags
- references/compute.md -- GPU SKUs, compute instances, clusters, serverless, Kubernetes
- references/endpoints.md -- Managed online, batch, Kubernetes, and serverless endpoints
- references/identities-acr-storage.md -- Managed identities, ACR integration, storage accounts
- references/cli-powershell.md -- Complete az ml CLI and PowerShell command reference
- references/terraform.md -- Full production-ready Terraform configuration
- references/troubleshooting.md -- Log reading, debugging, error tables, setup checklist
External Documentation
1---2name: azure-ml-foundry-workspace3description: Azure Machine Learning Workspace and Azure AI Foundry deep dive. PROACTIVELY activate for: (1) creating and configuring Azure ML workspaces, (2) Azure AI Foundry hubs and projects, (3) ML workspace networking (managed VNet, private endpoints, DNS), (4) ML compute clusters and compute instances, (5) managed online endpoints, batch endpoints, Kubernetes endpoints, (6) managed identities for ML resources, (7) ACR integration for custom environments, (8) storage account configuration, (9) az ml CLI v2 commands, (10) PowerShell Az.MachineLearningServices, (11) reading ML compute and deployment logs, (12) GPU SKU selection (ND/NC series, H100/H200/A100). Provides: workspace setup playbook, network-isolation patterns, endpoint deployment templates, az ml CLI cheat sheet, and log diagnosis workflow.4---5
6# Azure Machine Learning Workspace / Azure AI Foundry - Complete Deep-Dive Reference
7
8Authoritative reference for every aspect of Azure Machine Learning Workspace (Azure AI Foundry) including architecture, networking, private endpoints, compute clusters, endpoint deployment, managed identities, ACR integration, storage accounts, all CLI and PowerShell commands, log reading, debugging, and Terraform integration.
9
10---
11
12## 1. ARCHITECTURE AND CORE CONCEPTS
13
14### Workspace Resource Hierarchy
15
16```text
17Azure Subscription
18 └── Resource Group
19 ├── Azure ML Workspace (Microsoft.MachineLearningServices/workspaces)
20 │ ├── Dependent Resources (auto-created or BYO)
21 │ │ ├── Azure Storage Account (default datastore)
22 │ │ ├── Azure Key Vault (secrets, connection strings)
23 │ │ ├── Azure Application Insights (telemetry)
24 │ │ └── Azure Container Registry (Docker images for environments)
25 │ ├── Compute Targets
26 │ │ ├── Compute Instances (dev/test VMs)
27 │ │ ├── Compute Clusters (AmlCompute - training)
28 │ │ ├── Serverless Compute (on-demand)
29 │ │ ├── Kubernetes Compute (AKS / Arc-enabled)
30 │ │ └── Attached Compute (Databricks, HDInsight, VMs)
31 │ ├── Data Assets (versioned references to data)
32 │ ├── Datastores (connections to storage)
33 │ ├── Environments (Docker + conda specs)
34 │ ├── Models (registered trained models)
35 │ ├── Endpoints
36 │ │ ├── Managed Online Endpoints (real-time)
37 │ │ ├── Kubernetes Online Endpoints (BYO infra)
38 │ │ ├── Batch Endpoints (large-scale scoring)
39 │ │ └── Serverless Endpoints (MaaS - pay-per-token)
40 │ ├── Jobs (training runs, pipelines, sweeps)
41 │ ├── Components (reusable pipeline steps)
42 │ ├── Schedules (recurring job triggers)
43 │ └── Registries (cross-workspace sharing)
44 └── AI Foundry Hub (kind=hub) + Projects (kind=project)
45```
46
47### AI Foundry Hub/Project vs Classic Workspace
48
49| Feature | Classic Workspace (kind=Default) | AI Foundry Hub + Project |
50|---------|----------------------------------|--------------------------|
51| Portal | ml.azure.com | ai.azure.com |
52| Scope | Single workspace | Hub shares infra across projects |
53| Networking | Per-workspace | Hub-level (shared across projects) |
54| Identity | Per-workspace | Hub-level identity, project inherits |
55| Model catalog | Yes | Yes, plus additional Foundry models |
56| Prompt flow | Yes | Yes |
57| AI agents | Limited | Full AI Agent Service |
58| Use case | Classical ML, custom training | GenAI, LLM apps, AI agents |
59
60### Workspace Creation - All Methods
61
62**CLI:**
63```bash
64# Install/upgrade ML extension
65az extension add --name ml --upgrade
66
67# Create resource group
68az group create --name ml-rg --location eastus
69
70# Create workspace with all dependencies auto-created
71az ml workspace create \
72 --name my-ml-workspace \
73 --resource-group ml-rg \
74 --location eastus
75
76# Create workspace with explicit dependencies
77az ml workspace create \
78 --name my-ml-workspace \
79 --resource-group ml-rg \
80 --location eastus \
81 --storage-account /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Storage/storageAccounts/mlstorage \
82 --key-vault /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.KeyVault/vaults/mlkeyvault \
83 --app-insights /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Insights/components/mlinsights \
84 --container-registry /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.ContainerRegistry/registries/mlacr \
85 --public-network-access Disabled \
86 --managed-network AllowInternetOutbound \
87 --image-build-compute cpu-build-cluster \
88 --enable-data-isolation true \
89 --tags Environment=Production Team=DataScience
90
91# Create AI Foundry Hub
92az ml workspace create \
93 --name my-ai-hub \
94 --resource-group ml-rg \
95 --location eastus \
96 --kind hub \
97 --storage-account aihubstorage \
98 --key-vault aihubkeyvault
99
100# Create AI Foundry Project within Hub
101az ml workspace create \
102 --name my-ai-project \
103 --resource-group ml-rg \
104 --location eastus \
105 --kind project \
106 --hub-id /subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/my-ai-hub
107
108# Show workspace details
109az ml workspace show \
110 --name my-ml-workspace \
111 --resource-group ml-rg
112
113# List all workspaces
114az ml workspace list \
115 --resource-group ml-rg \
116 --output table
117
118# Update workspace
119az ml workspace update \
120 --name my-ml-workspace \
121 --resource-group ml-rg \
122 --description "Updated workspace" \
123 --public-network-access Disabled
124
125# Delete workspace
126az ml workspace delete \
127 --name my-ml-workspace \
128 --resource-group ml-rg \
129 --permanently-delete --all-resources
130
131# Diagnose workspace configuration
132az ml workspace diagnose \
133 --name my-ml-workspace \
134 --resource-group ml-rg
135```
136
137**PowerShell (Az.MachineLearningServices):**
138```powershell
139# Install the module
140Install-Module -Name Az.MachineLearningServices -Scope CurrentUser -Repository PSGallery -Force
141
142# Create workspace
143New-AzMLWorkspace `
144 -Name "my-ml-workspace" `
145 -ResourceGroupName "ml-rg" `
146 -Location "eastus" `
147 -StorageAccountId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Storage/storageAccounts/mlstorage" `
148 -KeyVaultId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.KeyVault/vaults/mlkeyvault" `
149 -ApplicationInsightId "/subscriptions/<sub>/resourceGroups/ml-rg/providers/Microsoft.Insights/components/mlinsights" `
150 -IdentityType "SystemAssigned" `
151 -PublicNetworkAccess "Disabled"
152
153# Get workspace
154Get-AzMLWorkspace -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
155
156# List workspaces
157Get-AzMLWorkspace -ResourceGroupName "ml-rg"
158
159# Update workspace
160Update-AzMLWorkspace `
161 -Name "my-ml-workspace" `
162 -ResourceGroupName "ml-rg" `
163 -Description "Updated workspace" `
164 -Tag @{Environment="Production"}
165
166# Remove workspace
167Remove-AzMLWorkspace -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
168
169# Diagnose workspace
170Invoke-AzMLWorkspaceDiagnose -Name "my-ml-workspace" -ResourceGroupName "ml-rg"
171```
172
173---
174
175## 2. NETWORKING
176
177Azure ML supports three managed network isolation modes (Disabled, AllowInternetOutbound, AllowOnlyApprovedOutbound) with the managed VNet approach recommended for production. Private endpoints provide inbound connectivity, and outbound rules control egress from compute resources.
178
179### Key DNS Zones
180
181| Service | Private DNS Zone |
182|---------|-----------------|
183| ML Workspace API | privatelink.api.azureml.ms |
184| ML Notebooks | privatelink.notebooks.azure.net |
185| Storage Blob | privatelink.blob.core.windows.net |
186| Storage File | privatelink.file.core.windows.net |
187| Key Vault | privatelink.vaultcore.azure.net |
188| Container Registry | privatelink.azurecr.io |
189| Application Insights | privatelink.monitor.azure.com |
190
191### Key Service Tags
192
193| Service Tag | Purpose |
194|------------|---------|
195| AzureMachineLearning | ML workspace management (inbound 44224, outbound 443) |
196| BatchNodeManagement | Compute cluster management (inbound 29876-29877) |
197| Storage | Access to Azure Storage (outbound 443) |
198| AzureActiveDirectory | Authentication (outbound 443) |
199
200For full VNet configuration, private endpoint setup, NSG rules, and outbound rule management, see **[references/networking.md](references/networking.md)**.
201
202---
203
204## 3. COMPUTE
205
206Azure ML offers multiple compute targets: Compute Instances for dev/test, AmlCompute Clusters for scalable training, Serverless Compute for on-demand jobs without cluster management, and Kubernetes Compute for BYO infrastructure scenarios.
207
208### GPU VM SKU Quick Reference
209
210| VM Series | GPU | GPU Memory | Use Case |
211|-----------|-----|-----------|----------|
212| Standard_NC24ads_A100_v4 | 1x A100 | 80 GB | Training, fine-tuning |
213| Standard_ND96amsr_A100_v4 | 8x A100 80GB | 640 GB | Large model training |
214| Standard_ND_H100_v5 | 8x H100 | 640 GB | GenAI, LLM training |
215| Standard_ND_H200_v5 | 8x H200 | 1120 GB | Latest: 2x perf vs H100 |
216| Standard_NCads_H100_v5 | 1x H100 NVL | 94 GB | Inference, fine-tuning |
217| Standard_NC4as_T4_v3 | 1x T4 | 16 GB | Budget inference |
218
219For the complete GPU SKU table, compute instance/cluster CLI reference, serverless compute, Kubernetes attach, and debugging commands, see **[references/compute.md](references/compute.md)**.
220
221---
222
223## 4. ENDPOINT DEPLOYMENT
224
225Azure ML supports four endpoint types: Managed Online Endpoints (recommended for real-time inference with blue-green deployments), Batch Endpoints (large-scale scoring on compute clusters), Kubernetes Online Endpoints (BYO AKS/Arc infrastructure), and Serverless Endpoints (pay-per-token Model-as-a-Service).
226
227### Endpoint Types Quick Reference
228
229| Type | Use Case | Auth Modes | Scaling |
230|------|----------|------------|---------|
231| Managed Online | Real-time inference | key, aml_token | Per-deployment instance count |
232| Batch | Large-scale scoring | managed identity | Compute cluster auto-scale |
233| Kubernetes Online | BYO infra real-time | key, aml_token | K8s pod scaling |
234| Serverless (MaaS) | Pay-per-token LLM | key | Automatic |
235
236For full endpoint creation, deployment, traffic splitting, log retrieval, and batch invocation commands, see **[references/endpoints.md](references/endpoints.md)**.
237
238---
239
240## 5-7. IDENTITIES, ACR, AND STORAGE
241
242Managed identities (system-assigned or user-assigned) control access between workspace, compute, endpoints, and dependent resources. ACR stores Docker images for environments and model serving, requiring Premium SKU for private endpoints and an image-build-compute cluster when behind a VNet. Storage accounts serve as the default datastore for blobs, file shares, job outputs, and MLflow artifacts.
243
244### Identity Types
245
246| Identity Type | Use Case |
247|--------------|----------|
248| System-Assigned (workspace) | Default workspace operations, auto-lifecycle |
249| User-Assigned (workspace) | CMK encryption, cross-resource sharing |
250| System-Assigned (compute) | Per-cluster storage/ACR access |
251| User-Assigned (compute) | Fine-grained, reusable access control |
252
253### Key RBAC Roles
254
255| Role | Description |
256|------|-------------|
257| AzureML Data Scientist | Run jobs, manage compute, deploy models |
258| AzureML Compute Operator | Create/manage compute resources |
259| Azure AI Developer | AI Foundry project development |
260| Azure AI Inference Deployment Operator | Deploy models to endpoints |
261
262For full identity configuration, role assignment commands, ACR integration, private ACR setup, datastore registration, and storage account details, see **[references/identities-acr-storage.md](references/identities-acr-storage.md)**.
263
264---
265
266## 8-9. CLI AND POWERSHELL
267
268The `az ml` CLI extension provides comprehensive workspace management through 20+ command groups covering workspaces, compute, jobs, models, endpoints, environments, data, datastores, components, schedules, registries, and connections. The `Az.MachineLearningServices` PowerShell module offers equivalent functionality for Windows-native automation.
269
270### Key az ml Command Groups
271
272| Command Group | Purpose |
273|--------------|---------|
274| `az ml workspace` | Manage workspaces (create, diagnose, provision-network, outbound-rule) |
275| `az ml compute` | Manage compute (create, start, stop, connect-ssh, attach) |
276| `az ml job` | Manage jobs (create, stream, cancel, download) |
277| `az ml online-endpoint` | Manage online endpoints (create, invoke, get-credentials) |
278| `az ml online-deployment` | Manage deployments (create, get-logs, traffic) |
279| `az ml batch-endpoint` | Manage batch endpoints (create, invoke, list-jobs) |
280| `az ml serverless-endpoint` | Manage serverless endpoints (create, get-credentials) |
281
282For the complete command reference, job management deep-dive, schedule management, and full PowerShell cmdlet reference, see **[references/cli-powershell.md](references/cli-powershell.md)**.
283
284---
285
286## 10. TERRAFORM INTEGRATION
287
288Azure ML workspaces can be fully provisioned with Terraform using the `azurerm` provider. A production setup includes the workspace, VNet/subnets, NSG, storage account, key vault, ACR, Application Insights, private endpoints, DNS zones, compute clusters, and RBAC role assignments.
289
290### Key Terraform Resources
291
292| Resource | Purpose |
293|----------|---------|
294| `azurerm_machine_learning_workspace` | ML workspace (Default, Hub, Project) |
295| `azurerm_machine_learning_compute_cluster` | AmlCompute training clusters |
296| `azurerm_machine_learning_compute_instance` | Dev/test compute instances |
297| `azurerm_machine_learning_workspace_network_outbound_rule_*` | Managed network outbound rules |
298
299For the full production-ready Terraform configuration (providers, networking, storage, key vault, ACR, workspace, compute, role assignments, and outputs), see **[references/terraform.md](references/terraform.md)**.
300
301---
302
303## 11. TROUBLESHOOTING AND DEBUGGING
304
305Azure ML provides multiple debugging surfaces: real-time job log streaming, deployment container logs (inference-server and storage-initializer), compute instance SSH access for system-level diagnostics, Log Analytics queries for historical analysis, and the `az ml workspace diagnose` command for configuration validation.
306
307### Common Error Categories
308
309| Category | Common Errors |
310|----------|--------------|
311| Compute | QuotaExceeded, AllocationFailed, disk full, GPU not detected |
312| Endpoints | ScoringError, HealthCheckFailure, ImageBuildFailed, 429/503 errors |
313| Networking | DNS resolution failure, connection timeout, storage/ACR access denied |
314| Jobs | EnvironmentBuildError, OutOfMemoryError, NCCL timeout, blob not found |
315
316For full error reference tables, log locations, Log Analytics queries, endpoint metrics monitoring, workspace diagnostics, and the secure workspace setup checklist, see **[references/troubleshooting.md](references/troubleshooting.md)**.
317
318---
319
320## Additional Resources
321
322Detailed reference files for each topic area:
323
324- **[references/networking.md](references/networking.md)** -- VNet, private endpoints, DNS zones, NSG rules, service tags
325- **[references/compute.md](references/compute.md)** -- GPU SKUs, compute instances, clusters, serverless, Kubernetes
326- **[references/endpoints.md](references/endpoints.md)** -- Managed online, batch, Kubernetes, and serverless endpoints
327- **[references/identities-acr-storage.md](references/identities-acr-storage.md)** -- Managed identities, ACR integration, storage accounts
328- **[references/cli-powershell.md](references/cli-powershell.md)** -- Complete az ml CLI and PowerShell command reference
329- **[references/terraform.md](references/terraform.md)** -- Full production-ready Terraform configuration
330- **[references/troubleshooting.md](references/troubleshooting.md)** -- Log reading, debugging, error tables, setup checklist
331
332### External Documentation
333
334- [Azure ML Documentation](https://learn.microsoft.com/azure/machine-learning/)
335- [Azure AI Foundry Documentation](https://learn.microsoft.com/azure/ai-foundry/)
336- [az ml CLI Reference](https://learn.microsoft.com/cli/azure/ml)
337- [Az.MachineLearningServices PowerShell Module](https://learn.microsoft.com/powershell/module/az.machinelearningservices/)
338- [Terraform AzureRM ML Workspace](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/machine_learning_workspace)
339- [Secure Azure ML Workspace with VNet](https://learn.microsoft.com/azure/machine-learning/how-to-secure-workspace-vnet)
340- [Managed Network Isolation](https://learn.microsoft.com/azure/machine-learning/how-to-managed-network)
341- [Troubleshoot Online Endpoints](https://learn.microsoft.com/azure/machine-learning/how-to-troubleshoot-online-endpoints)
342- [Azure ML RBAC Roles](https://learn.microsoft.com/azure/machine-learning/how-to-assign-roles)
343- [GPU VM Sizes](https://learn.microsoft.com/azure/virtual-machines/sizes/gpu-accelerated/nd-family)