Design and Implement a GenAIOps Infrastructure · Topic 3 of 4

Model Deployments, Selection, Versioning and Provisioned Throughput

AI-300 GenAIOps: choose serverless or managed compute deployments, select the right model, version deployments and size provisioned throughput units.

  • 6 min
In a nutshell
  • Serverless equals pay per token; managed compute equals VMs you pay for and need quota for.
  • Data Zone types keep processing inside a data zone (US, EU or APAC); Global types maximize capacity.
  • PTUs give fixed hourly cost and stable latency; size with the capacity calculator.

What it is

A model deployment makes a model from the Foundry catalog callable at an endpoint under a deployment name that your app uses. How the model is hosted, and how you pay, depends on the deployment type. You also choose which model fits the job, keep versions under control, and use provisioned throughput units (PTUs) when traffic is steady and latency must be predictable.

Use case and constraintsShortlist modelsTest on your dataDeployment typestandard or provisionedPinned version and nameApp calls deployment name

How it works

Serverless versus managed compute

HostingWhat you getBillingTypical models
Serverless API (standard deployment)Hosted by Microsoft; you only call the APIPay per token (or per request)Models sold directly by Azure and many partner models
Managed computeA managed online endpoint on virtual machines you choose, in your subscriptionPay for the VMs while the deployment existsMany open models from the catalog

Serverless needs no VM quota and scales for you, but limits and prices are set by the service. Managed compute gives dedicated capacity and control over the VM size, needs core quota for that VM family, and costs money even when idle, so delete deployments you do not use.

Deployment types for Foundry models

TypeProcessing locationBilling
StandardWithin the Azure geography you choosePay per token
Global StandardAny Azure region, for the best availability and quotaPay per token
Data Zone StandardWithin a data zone (US, EU or APAC)Pay per token
Provisioned (regional, global or data zone)As namedHourly per PTU
Global BatchAsynchronous jobsAbout 50 percent below Global Standard, 24 hour target turnaround

Capacity for pay per token is a tokens per minute quota per model, region and subscription. Choose a data zone type when residency matters; choose global for the broadest capacity when it does not.

Select the right model

CriterionQuestion
Task fit and qualityDoes it reach the needed quality on your test set, not just public benchmarks?
CostPrice per token, and the volume expected
Latency and throughputTime to first token, tokens per second
Context windowIs the longest prompt plus response supported?
ModalityText, image, audio, embeddings
Region and residencyAvailable where data must stay
CustomizationCan it be fine-tuned if needed?
Safety and licenseContent safety fit, license terms

Use the catalog's model leaderboards and benchmarks to build a shortlist, then run the same evaluation dataset against each candidate. A model router deployment can pick among underlying models per request to balance quality and cost. Use smaller, cheaper models for simple tasks and larger ones only where needed.

Versioning and production strategy

  • Pin the model version in production. A deployment has a version upgrade policy (versionUpgradeOption): OnceNewDefaultVersionAvailable upgrades within two weeks of a new default, OnceCurrentVersionExpired upgrades at retirement, and NoAutoUpgrade never upgrades, so the deployment stops working at retirement. Automatic updates apply only to Standard deployment types, and production should avoid surprise upgrades.
  • Models are retired on a published schedule, so track retirement dates and plan migrations.
  • Apps call the deployment name. To upgrade, create a second deployment with the new version, evaluate it, shift a small share of traffic (through app configuration or a gateway such as Azure API Management), then retire the old one.
  • Put deployments in Bicep so versions and capacity are reviewed in pull requests.
resource chat 'Microsoft.CognitiveServices/accounts/deployments@2025-06-01' = {
  parent: foundry
  name: 'chat-v2'
  sku: { name: 'GlobalStandard', capacity: 50 }
  properties: {
    model: { format: 'OpenAI', name: modelName, version: modelVersion }
    versionUpgradeOption: 'NoAutoUpgrade'
  }
}

Provisioned throughput units

A PTU is a unit of reserved model processing capacity. You buy PTUs for a deployment instead of paying per token, which gives stable latency and a fixed hourly cost whatever the volume.

Standard (pay per token)Provisioned (PTU)
Cost patternGrows with tokensFixed per hour for the reserved PTUs
LatencyCan vary with shared loadPredictable
Best forSpiky, low or unknown volume, developmentSteady high volume, production, latency targets
Over limit429 when quota exceeded429 when the PTUs are exhausted

Deployment types are ProvisionedManaged, GlobalProvisionedManaged and DataZoneProvisionedManaged. Size capacity with the capacity calculator in the Foundry portal, using requests per minute and prompt and completion token counts. Each model has minimum PTU and increment sizes. Azure reservations lower the hourly price for long commitments. Watch the provisioned utilization metric for the deployment. For bursts, configure spillover: when the provisioned deployment returns a non 200 response such as 429, requests go to a standard deployment in the same Foundry resource (for all requests, or per request with the x-ms-spillover-deployment header). PTU quota is per subscription, region and deployment type, and having quota does not guarantee capacity, so create the deployment before you buy a reservation.

A worked example

A support bot has steady daytime traffic of thousands of requests per minute and a latency target. The team sizes PTUs with the calculator, buys a reservation, and keeps a smaller standard deployment as the spillover target. A new model version is deployed beside the old one as chat-v3, evaluated, and given 10 percent of traffic before cutover.

How the exam asks about this

  • "Steady high volume with predictable latency." Provisioned throughput.
  • "Prototype with unpredictable usage and no capacity planning." Standard (pay per token).
  • "A new model version must be tested before users see it." A second deployment with the new version and gradual traffic shift.

What to remember for the exam

  • Serverless equals pay per token; managed compute equals VMs you pay for and need quota for.
  • Data Zone types keep processing inside a data zone (US, EU or APAC); Global types maximize capacity.
  • PTUs give fixed hourly cost and stable latency; size with the capacity calculator.
  • Pin versions in production and plan for retirement dates.
  • Apps call the deployment name, not the model name.
Watch out

PTUs cost money every hour even with zero traffic. Do not use them for idle or experimental workloads.

Common mistakes

Choosing by benchmark alone. Public scores do not match your data. Evaluate on your own set.

Auto-upgrading production. A new default version can change behaviour unexpectedly.

Leaving managed compute running. VMs bill continuously.

Check yourself

  • Which deployment option fits steady, high volume traffic with strict latency needs?

    Provisioned throughput (PTU).

  • What is the difference between serverless and managed compute hosting?

    Serverless is hosted by Microsoft and billed per token; managed compute runs on VMs you choose and pay for, needing core quota.

  • How do you upgrade a model version safely?

    Create a second deployment with the new version, evaluate it, shift traffic gradually, then retire the old one.

Topic 3 of 4 in Design and Implement a GenAIOps Infrastructure

Test yourself on Design and Implement a GenAIOps Infrastructure

The full Microsoft AI-300 question bank has 650 questions, with timed practice exams and an explanation for every answer.

This study guide is independent and is not affiliated with, endorsed by, or sponsored by Microsoft. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.