Cost & Capacity Engineering · 3 of 5
Capacity Planning & Quotas
Capacity planning turns expected demand into safe operating limits, while quotas keep shared platforms stable and predictable.
Every system has a ceiling. A small prototype can feel limitless because only a few people touch it, but production traffic turns ceilings into business events: slow pages, failed jobs, delayed reports, or model calls that are throttled at the worst time. Capacity planning is the discipline of finding those ceilings before users do. Quotas are the guardrails that platforms use to keep one workload from consuming more than its share. Treat them together and you get a system that grows deliberately instead of discovering limits by accident.
Capacity is the work you can safely do
Capacity is the amount of useful work a system can complete while still meeting its promises. The work might be web requests, database queries, file transformations, model inferences, messages processed from a queue, or tokens generated by a large language model. Capacity is not one number. It depends on the resource doing the work, the shape of the workload, and the time window you care about.
A useful first principle is that every request consumes something finite. It may consume central processing unit time, memory, storage input and output, network bandwidth, graphics processing unit time, model tokens, database connections, or a license seat. When one of those resources runs out first, it becomes the bottleneck. Adding more of a different resource will not help until the bottleneck moves.
Capacity planning is therefore not guessing how large a system should be. It is translating business demand into resource demand, then leaving enough room for normal variation, failures, growth, and human mistakes.
Quotas are guardrails, not performance guarantees
A quota is an administrative limit set by a platform, product, subscription, region, project, or service. It says how much of something you are allowed to allocate or consume. A quota may limit the number of virtual machines, the number of model deployments, requests per minute, tokens per minute, database cores, public addresses, or storage accounts.
Quotas protect shared platforms from noisy neighbors and accidental runaway use. They also help providers plan their own physical capacity. In Microsoft Foundry, for example, limits can apply to model deployments, regional capacity, and Foundry Tools usage. In identity and access systems such as Microsoft Entra ID, limits can also shape how applications authenticate and call protected resources.
A quota is not the same as capacity. You can be below quota and still perform badly because your application design is inefficient or a downstream system is slow. You can also have plenty of application capacity but fail because a quota prevents new instances, additional model throughput, or more connections from being created.
Start with demand, not infrastructure
The most common planning mistake is to begin with a machine size, a cluster count, or a model tier. That skips the question that matters most: what work must be done, when, and for whom? Demand has a shape. It may be steady all day, spiky after a marketing email, seasonal at month end, or concentrated when a batch job starts.
Good capacity planning starts with a plain description of business activity. For a commerce site, that might be visits, searches, baskets, payments, and receipts. For an internal document assistant, it might be active users, questions per user, average prompt length, average response length, and documents retrieved per question. For an integration platform, it might be partner messages per hour and the largest acceptable backlog.
Once demand is described in human terms, translate it into technical work. This translation is the bridge between leaders who fund capacity and engineers who provision it.
- Peak users: the highest number of people or systems active in the same period.
- Average work per action: the typical database calls, application programming interface calls, tokens, files, or messages created by one business action.
- Peak multiplier: how much higher the busiest minute, hour, or day is than the normal baseline.
- Growth rate: the expected change in demand over the planning horizon.
- Tolerance for delay: the amount of waiting, queueing, or retrying the business can accept.
Translate demand into resource units
After demand is described, convert it into the units that the platform meters and limits. A web workload may be expressed as requests per second, processor utilization, memory use, and database connections. A messaging workload may be expressed as messages per minute, average message size, and queue depth. A generative artificial intelligence workload may be expressed as requests per minute, input tokens, output tokens, retrieval calls, and concurrent conversations.
The conversion does not need to be perfect at first. A small measured sample is better than a large spreadsheet built on guesses. Run a representative test, measure the resources consumed by one unit of business work, and scale from there. If one support question consumes 1,000 input tokens and 500 output tokens on average, then 10,000 such questions need about 15 million tokens before headroom, retries, and variance.
This step also reveals coupling. A single chat request may call an application, retrieve documents, call a model, write a transcript, and emit telemetry. The model quota may be obvious, but the storage, search, network, and logging capacity can become the real limit.
Plan for peaks, failures, and change
Systems rarely fail at the average. They fail during bursts, retries, deployments, regional incidents, data reloads, or sudden adoption. Headroom is the unused capacity you deliberately keep so the system can absorb those events. Without headroom, any small surprise becomes an outage.
A practical plan separates steady load from peak load. Steady load is what the system carries most of the time. Peak load is the highest load it must carry for a defined period while still meeting its service level objective, which is a measurable reliability or performance target. If the objective is that 95 percent of search requests complete in under one second, then capacity must be tested against that promise, not against an abstract utilization percentage.
Headroom is not waste when it protects a business promise. The right amount depends on the cost of failure, the speed of scaling, and the confidence of the forecast. A batch analytics job may tolerate waiting for more capacity. A checkout flow, trading system, clinical workflow, or customer-facing assistant may need reserved capacity before demand arrives.
Know where quotas live
Quotas are often layered. A workload can be limited at the tenant, subscription, region, service, project, deployment, or endpoint level. The exact words vary by platform, but the pattern is consistent: there is usually more than one gate between demand and capacity.
This matters because increasing one limit may not increase the effective ceiling. Raising a regional model quota will not help if the application also hits a requests-per-minute limit on an endpoint. Adding database capacity will not help if the integration service is capped by concurrent connections. Increasing virtual machine quota will not help if an organization policy prevents deployment in the chosen region.
Quota requests also take time. Some increases are automatic and near immediate. Others require approval, regional availability, or a commercial change. Treat quota lead time as part of the delivery schedule, especially before launches, migrations, public events, and large customer onboardings.
Turn planning into decisions
Capacity planning is not only an engineering exercise. It creates choices for leaders and practitioners: spend now or accept risk, reserve capacity or rely on elastic scale, centralize in one region or spread across several, serve every request equally or protect the most valuable paths first.
For leaders, the important question is not how many units to buy. It is what promise the organization is making and what failure would cost. A low-cost internal tool may accept slower responses during peaks. A revenue path may justify reserved capacity, higher quotas, active monitoring, and a tested fallback. An artificial intelligence feature may need separate budgets for experimentation, evaluation, production traffic, and safety testing.
For practitioners, the important question is how the system behaves when capacity is not enough. A mature design queues non-urgent work, sheds low-priority load, retries with backoff, reduces response size, switches to a smaller model when appropriate, or returns a clear message instead of failing unpredictably.
- Which user journeys must stay fast during peak demand?
- Which workloads can wait in a queue without business harm?
- Which quotas must be raised before launch, and who owns the request?
- Which regions or services provide a fallback if the preferred option is constrained?
- What will the system do when throttling begins?
Operate capacity as a living practice
A capacity plan expires as soon as usage changes. The operating practice is to keep measuring the gap between current use, tested capacity, and quota ceilings. That gap should be visible before it becomes urgent.
Monitor leading indicators, not only failures. Useful signals include utilization, queue depth, request rate, token consumption, latency percentiles, throttling events, retry counts, error rates, and remaining quota. A latency percentile describes how slow the slower portion of requests are, such as the 95th percentile showing the time under which 95 percent of requests complete.
Finally, rehearse the response. Know how to request quota increases, how to reduce demand safely, how to disable optional features, and how to communicate degraded service. The worst time to learn the quota process is during a launch event.
Key takeaways
- Capacity is the useful work a system can safely complete while meeting its promises.
- A quota is an allowed ceiling, not proof that the workload will perform well.
- Start planning from business demand, then translate that demand into metered resource units.
- Headroom protects against bursts, retries, failures, and forecast error.
- Effective capacity is limited by the tightest quota in the path.
- Capacity planning should drive real decisions about cost, risk, launch readiness, and graceful degradation.
Glossary
- Capacity
- The amount of useful work a system can complete while still meeting its reliability and performance targets.
- Quota
- An administrative limit on how much of a resource a workload is allowed to allocate or consume.
- Bottleneck
- The resource or dependency that limits the overall throughput of a system.
- Throughput
- The amount of work completed in a given period, such as requests per second or messages per minute.
- Latency
- The time it takes for a single request or operation to complete.
- Headroom
- Unused capacity deliberately kept available so the system can absorb peaks, failures, and forecast error.
- Throttling
- The deliberate slowing or rejection of requests when a workload exceeds an allowed rate or resource limit.
- Service level objective
- A measurable target for reliability or performance, such as a response time or availability goal.
- Token
- A unit of text processed by a language model, often representing part of a word, a whole word, or punctuation.