Container Apps Scaling Patterns
HTTP-based Scaling
Best for APIs and web applications:
bicep
scale: \{
minReplicas: 1
maxReplicas: 10
rules: [
\{
name: 'http-scaling'
http: \{
metadata: \{
concurrentRequests: '100'
\}
\}
\}
]
\}Queue-based Scaling
Best for background workers:
bicep
scale: \{
minReplicas: 0
maxReplicas: 30
rules: [
\{
name: 'queue-scaling'
azureQueue: \{
queueName: 'orders'
queueLength: 10
auth: [
\{
secretRef: 'storage-connection'
triggerParameter: 'connection'
\}
]
\}
\}
]
\}Service Bus Scaling
bicep
scale: \{
minReplicas: 0
maxReplicas: 20
rules: [
\{
name: 'servicebus-scaling'
custom: \{
type: 'azure-servicebus'
metadata: \{
queueName: 'myqueue'
messageCount: '5'
\}
auth: [
\{
secretRef: 'servicebus-connection'
triggerParameter: 'connection'
\}
]
\}
\}
]
\}Recommendations
| Workload | Min Replicas | Max Replicas | Rule Type |
|---|---|---|---|
| Production API | 1 | 10-20 | HTTP |
| Dev/Test API | 0 | 5 | HTTP |
| Background Worker | 0 | 30+ | Queue/Event |
| Scheduled Job | 0 | 1 | KEDA cron |