Intermediate

Scaling Azure OpenAI

Master rate limits, quota management, load balancing, and retry strategies for handling production-scale traffic on Azure OpenAI Service.

Understanding Quotas and Limits

Limit TypeUnitScopeConfigurable
Tokens per minute (TPM)Thousands of tokensPer deployment✓ (within subscription quota)
Requests per minute (RPM)RequestsPer deploymentDerived from TPM
Max tokens per requestTokensPer model
Subscription quotaTPM per regionPer subscription per regionVia quota request

Load Balancing with API Management

<!-- APIM policy for round-robin load balancing -->
<policies>
  <inbound>
    <set-variable name="backendIndex"
      value="@(new Random().Next(0, 3))" />
    <choose>
      <when condition="@(context.Variables
        .GetValueOrDefault<int>("backendIndex") == 0)">
        <set-backend-service
          base-url="https://oai-eastus.openai.azure.com/" />
      </when>
      <when condition="@(context.Variables
        .GetValueOrDefault<int>("backendIndex") == 1)">
        <set-backend-service
          base-url="https://oai-westus.openai.azure.com/" />
      </when>
      <otherwise>
        <set-backend-service
          base-url="https://oai-northeu.openai.azure.com/" />
      </otherwise>
    </choose>
  </inbound>
</policies>

Retry and Backoff Strategies

  • 429 responses: Respect the Retry-After header returned with rate limit errors
  • Exponential backoff: Implement exponential backoff with jitter for transient errors
  • Circuit breaker: Open circuit after repeated failures to prevent cascading issues
  • Fallback regions: Route to secondary regions when primary region is rate-limited
  • Request queuing: Queue requests during traffic spikes and process at sustainable rate

Scaling Strategies

🔄

Horizontal: Multi-Region

Deploy across regions to multiply your available quota. Each region has independent TPM limits.

Vertical: Increase Quota

Request higher TPM quota for high-traffic deployments. Available up to subscription limits.

💰

PTU Provisioning

Reserve dedicated compute for guaranteed throughput without rate limiting on provisioned capacity.

📈

Model Tiering

Route simple requests to GPT-3.5 Turbo and complex requests to GPT-4o to optimize cost and capacity.

Pro tip: Use Azure API Management's built-in retry policies with the retry-after-header to automatically handle 429 responses. Combine with smart routing that checks response headers and shifts traffic away from rate-limited backends to available ones.

Ready to Go Deeper?

Live instructor-led courses from our partners. Affiliate disclosure.