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

The ten-second lookup: every term in one line, the commands you will actually type, the resource ID shapes, and the limits worth knowing the scope of.

Glossary

Agent — A persistent object in a project combining a model deployment, instructions, and tools; invoked many times, not a request payload.

Agent identity — The managed identity an agent authenticates with; it says nothing about who asked, which is why tools must authorise the end user separately.

AI Hub (classic)Microsoft.MachineLearningServices/workspaces, kind = Hub; the older Foundry architecture, requiring a storage account and Key Vault as siblings. Superseded for new work by the Foundry account.

API key / local auth — Key-based authentication to the data plane. Disable it (disableLocalAuth = true); while enabled, anyone who can read the keys can call the models unattributably.

Azure AI Foundry — Former name of Microsoft Foundry (renamed at Ignite, 18 November 2025); itself the former Azure AI Studio. Still the name most tooling and documentation uses.

Azure AI Services — Former name of Foundry Tools; before that, Cognitive Services. The resource provider is still Microsoft.CognitiveServices.

Azure OpenAI Service — Now Azure OpenAI in Foundry Models: a model family inside Foundry rather than a separate product. A kind = OpenAI resource still exists and still works.

Batch (deployment type) — Asynchronous, discounted inference for bulk offline work; not interactive.

Capability host — The binding that points a project's agent state at your own Cosmos DB, AI Search, and Storage (the standard agent setup) instead of Microsoft-managed storage (basic).

Connection — A named, typed reference from a project or account to another resource, authenticated by key or identity. Prefer identity.

Content filter — Configurable prompt and completion filtering by harm category and severity, attached per deployment, optionally including prompt shields and protected-material detection.

Control planemanagement.azure.com; creates and manages the resources. Governed by roles like Cognitive Services Contributor. Does not grant the ability to call a model.

Data plane — The endpoints that do the work: inference at <account>.services.ai.azure.com and the project surface at .../api/projects/<project>. Governed by separate roles.

DataZone Standard / DataZone Provisioned — Deployment types that process only within a Microsoft data zone (US, EU, APAC). A zone is not a country.

Deployment (model deployment)Microsoft.CognitiveServices/accounts/deployments; a named binding of model + version + deployment type + capacity. The thing your code calls.

Deployment type — The real SKU axis: Standard, DataZone Standard, Global Standard, Batch, and the provisioned family. Sets residency, capacity pool, latency profile, and billing model.

Evaluation — A scored run of a dataset against a model, agent, or flow using built-in or custom evaluators (groundedness, relevance, coherence, fluency, safety).

Foundry accountMicrosoft.CognitiveServices/accounts, kind = AIServices, project management enabled: the regional resource owning the endpoint, network rules, identity, keys, and quota consumption.

Foundry Account Owner — Control-plane role; formerly Azure AI Account Owner.

Foundry Project Manager — Project data-plane role for creating and publishing agents; formerly Azure AI Project Manager.

Foundry Tools — The prebuilt task APIs (Speech, Vision, Document Intelligence, Language, Translator, Content Safety), formerly Azure AI Services / Cognitive Services, now exposed on the Foundry endpoint.

Foundry User — Project data-plane role for using agents, threads, and evaluations; formerly Azure AI User.

Global Standard — Deployment type routing inference anywhere in Microsoft's fleet: biggest capacity pools, newest models first, weakest residency guarantee. Often the default — check before accepting it.

Managed identity — System- or user-assigned Entra ID identity on the account, project, or agent; the keyless way Foundry authenticates to other Azure resources and your app authenticates to Foundry.

Microsoft Foundry — The current name of the product (from Ignite, November 2025). "Azure" was dropped deliberately; the API name did not change.

Private endpoint — Private-link connection into your VNet on the account sub-resource. Requires the matching Private DNS zones to be linked, or the name resolves publicly and the firewall refuses you.

ProjectMicrosoft.CognitiveServices/accounts/projects; scopes connections, agents, evaluations, and role assignments. Shares the account's deployments, network, and quota — so it isolates people, not blast radius.

Prompt shield — Content-safety protection aimed at prompt-injection and jailbreak attempts.

Provisioned (ProvisionedManaged / GlobalProvisionedManaged / DataZoneProvisionedManaged) — Reserved model capacity sold in PTUs; predictable throughput and latency, billed hourly whether idle or not.

PTU (Provisioned Throughput Unit) — The unit of reserved capacity. How much throughput one buys depends on the model and traffic shape, so size it from measurement, not forecast.

Reservation — A term commitment that lowers the PTU hourly rate. A billing commitment, not a resource: deleting the deployment does not end it.

RPM (requests per minute) — The request-rate limit that accompanies TPM; binds first on many-small-call workloads.

Run — One execution of an agent against a thread: model call, tool calls, loop, result appended.

Soft delete — Deleted Cognitive Services accounts retain their globally unique name until purged, blocking recreation. az cognitiveservices account purge is the fix.

Spillover — Overflow from a provisioned deployment to a standard one during bursts, so peaks degrade in cost rather than availability. ⚠️ Verify current availability.

Standard (deployment type) — Regional processing; tightest residency, smallest capacity pools, fewest models offered.

Thread — Persistent conversation state for one interaction with an agent.

Tool — Something an agent can invoke: file search, code interpreter, Bing grounding, an AI Search index, an OpenAPI-described API, a Function, a Logic App, or an MCP server.

TPM (tokens per minute) — The throughput allocation for standard deployments, granted per subscription per region per model per deployment type, and divided across deployments by you.

Tracing — OpenTelemetry capture of prompts, tool calls, and timings, usually to Application Insights. Not on by default.

Version upgrade policy — Per-deployment setting controlling whether the model version changes automatically. Neither choice is safe by default: auto-upgrade can change behaviour overnight, no-auto-upgrade eventually strands you on a retiring version.

Cheatsheet

# --- discovery -------------------------------------------------------------
# What models and deployment types exist in this region?
az cognitiveservices model list -l eastus2 \
  --query "[?kind=='AIServices'].{model:model.name,version:model.version,sku:model.skus[0].name}" -o table

# What quota do I have left, and where is it going?
az cognitiveservices usage list -l eastus2 -o table

# --- account ---------------------------------------------------------------
az cognitiveservices account create -n $ACC -g $RG -l $LOC \
  --kind AIServices --sku S0 --custom-domain $ACC --assign-identity --yes

az cognitiveservices account show -n $ACC -g $RG --query properties.endpoint -o tsv

# Turn keys off (do this, then enforce it with Azure Policy)
az cognitiveservices account update -n $ACC -g $RG --api-properties disableLocalAuth=true

# --- deployments -----------------------------------------------------------
az cognitiveservices account deployment create -n $ACC -g $RG \
  --deployment-name chat-default \
  --model-name gpt-4.1 --model-version 2025-04-14 --model-format OpenAI \
  --sku-name GlobalStandard --sku-capacity 50

az cognitiveservices account deployment list -n $ACC -g $RG -o table
az cognitiveservices account deployment delete -n $ACC -g $RG --deployment-name chat-default

# --- data-plane access (control-plane Owner is NOT enough) ------------------
az role assignment create --assignee <principal-object-id> \
  --role "Cognitive Services OpenAI User" \
  --scope $(az cognitiveservices account show -n $ACC -g $RG --query id -o tsv)

# --- call it, with a token, not a key --------------------------------------
TOKEN=$(az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsv)
curl -s "https://$ACC.services.ai.azure.com/openai/deployments/chat-default/chat/completions?api-version=2024-10-21" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"hello"}],"max_tokens":50}'

# --- the teardown everyone forgets -----------------------------------------
az group delete -n $RG --yes --no-wait
az cognitiveservices account list-deleted -o table
az cognitiveservices account purge -n $ACC -g $RG -l $LOC   # releases the globally unique name

# --- drift -----------------------------------------------------------------
terraform plan -var-file=env/prod.tfvars -detailed-exitcode   # exit 2 == drift; use this in nightly CI
az deployment group what-if -g $RG -f main.bicep -p namePrefix=demo environment=prod

⚠️ Model names, versions, --sku-name values, api-version strings, and some CLI flags change often — verify against az cognitiveservices model list and current Azure docs before trusting a copy-paste.

Resource ID shapes

# The Foundry account — the scope you use for most role assignments
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}

# A project
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}

# A model deployment — the thing your code calls, by its last segment
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/deployments/{deployment}

# The classic hub, for comparison
/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.MachineLearningServices/workspaces/{hub}

Endpoint shapes

https://management.azure.com/...                                  # control plane
https://{account}.services.ai.azure.com/openai/deployments/{name}/chat/completions   # inference
https://{account}.services.ai.azure.com/api/projects/{project}    # agents, threads, evaluations
https://{account}.cognitiveservices.azure.com/...                 # Foundry Tools task APIs

Limits — memorise the scope, not the number

Limit Counted at Note
TPM per model Subscription × region × model × deployment type You allocate the pool across deployments yourself; a dev deployment starves prod
RPM Same scope, derived alongside TPM Binds first on many-small-call workloads
PTU quota Subscription × region × deployment type Increases are a request with lead time
Accounts Per subscription, per region
Deployments per account Per account
Projects per account Per account
Connections Per project (and account-shared ones)
Agents, threads, files, vector stores Per project; differs between basic and standard setups
Soft-delete retention Per deleted account The name stays reserved for this window

⚠️ Deliberately no numbers in that table. Every one of them varies by region, model, and subscription type, and several change monthly. Read your own subscription's quota page and current Azure docs — a figure copied from a document of unknown age is worse than no figure at all.

The five things to remember when you close this topic

  1. A deployment is a name, not a model. Name it for the job and you can change models without a release, and route across regions without a code path.
  2. Capacity is quota arithmetic, not autoscale. Per subscription, per region, per model, per deployment type — and 429 with Retry-After when you get it wrong.
  3. Control plane ≠ data plane. Owner cannot call the model. The portal assigns the missing role for humans and never for your pipeline.
  4. The deployment type is the SKU decision, it sets your residency boundary, and provisioned capacity bills whether or not anyone calls it.
  5. Soft delete holds your name. Purge, or your recreate fails with a conflict that reads like someone else took it.

← Back to the Azure AI Foundry overview · ← Previous: Interview Questions