"The deploy that fails at 5 p.m. is usually a capacity or quota surprise. A few checks before you ship save the scramble."
Level: Beginner · Time: ~2 days · Prerequisites: Modules 7, 12
Learning Objectives
By the end of this module, you will be able to:
- Explain what SKUs and capacity mean in Azure
- Plan capacity for AI workloads (tokens, quota)
- Run preflight checks before deploying
- Avoid common quota and region pitfalls
1. SKUs: Choosing the Size
A SKU (stock-keeping unit) is the tier/size of an Azure resource — how much power, memory, or throughput it has, and what it costs. A tiny SKU is cheap but slow; a large one is fast but pricey. Picking the right SKU balances performance against budget. In Bicep you set it explicitly, often as a sku property with a name and sometimes a capacity, so the size of everything you deploy is written down and reviewable rather than clicked once and forgotten.
Explain like I'm new: A SKU is like choosing a car model — economy, mid-size, or sports. All get you there; they differ in speed, capacity, and price. You pick the one that fits the trip and the wallet.
2. Capacity for AI Workloads
AI models have a special capacity dimension: tokens per minute (TPM) quota. Deploy a model with too little capacity and it throttles under load — users see slow responses or 429 Too Many Requests errors; too much and you overpay for headroom you never touch. You set this in the model deployment (the capacity value from Module 12), where one unit typically maps to a fixed block of tokens per minute.
| Consideration | Question |
|---|---|
| Throughput | How many requests/tokens per minute at peak? |
| Quota | Does your subscription allow that capacity in this region? |
| Cost | Is the capacity sized to real demand, not guesses? |
Concept: For AI apps, capacity planning is token planning. Estimate peak tokens-per-minute, then request enough quota — no more, no less.
3. Quotas and Regions
Azure limits how much of a resource you can create (a quota), and availability varies by region — a model available in eastus2 may not exist yet in westeurope, and a brand-new model may launch in only a handful of regions. Both are common deploy-blockers, and they interact: you need the right model and enough quota for it in a region that actually offers it.
Common mistake: Assuming a model or SKU exists everywhere. Check regional availability and your quota before deploying. If quota is short, request an increase early — approvals aren't instant.
4. Preflight Checks
A preflight check verifies conditions before you deploy: are you logged in, is the subscription right, do you have quota, is the region valid, are required settings present? Catching these up front turns a failed midnight deploy into a two-minute fix beforehand. Think of it like a pilot's pre-takeoff checklist: boring, quick, and the reason problems get caught on the ground instead of in the air. Some templates bundle their own preflight script as a preprovision hook, so the check runs automatically each time.
Try this: Before an important azd up, run through a quick checklist — correct azd env, right subscription, model available in your region, quota sufficient. That 60-second pass prevents the most common deployment failures.
5. Plan, Then Ship
Capacity and SKU decisions aren't glamorous, but they're where real deployments succeed or stall. A little estimation and a preflight pass mean azd up sails through instead of erroring halfway, leaving half-built resources behind.
Real-world use case: A team about to launch estimates peak load, requests enough Azure OpenAI TPM quota a week ahead, confirms the model is in their region, and runs preflight checks. Launch day's azd up just works — no quota error, no scramble.
✅ Checkpoint
- What does a SKU determine?
- What capacity dimension is specific to AI model deployments?
- What is a preflight check, and why run one?
Answers: 1) The size/tier of a resource — its performance and cost. 2) Tokens-per-minute (TPM) quota/throughput. 3) A verification of conditions (login, subscription, quota, region, settings) before deploying, to catch failures early.
Key Takeaway: SKUs set a resource's size and cost, and AI models add a tokens-per-minute capacity dimension you must size to real demand. Quotas and regional availability are common blockers — check them (and request increases) ahead of time. Running preflight checks before azd up catches login, subscription, quota, and region problems early, turning failed deploys into quick pre-fixes.
Further Learning
Part of "AZD for Beginners." Adapted from Microsoft's open AZD curriculum (MIT License).