Microsoft Azure performance
★★★★★ 4.5 CE

Microsoft Azure Performance: Benchmarks, Latency & Limits 2026

Azure Container Apps bills by the second and scales to zero via KEDA. Independent tests flag the slowest cold starts of the big three, near 6x Lambda.

Microsoft Azure Performance verdict

Verified today·7 sources checked

Azure Container Apps runs serverless containers billed by the second, at $0.000024 per vCPU-second and $0.000003 per GiB-second.

Plus $0.40 per million requests and a monthly free grant. KEDA scales it on HTTP, TCP or custom events, down to zero after a 300s cool-down.

How to size it

The cold start is the thing to design around. For anything latency-sensitive, keep minimum replicas above zero so requests do not wait on Azure's slow start, and keep deployment images small, because cold start gets worse as the package grows. Budget by active vCPU-seconds, since idle replicas bill at the low $0.000003 rate. For steady high-throughput work, move to Dedicated or App Service Premium. Enable zone redundancy at creation for the higher SLA, remembering you cannot add it later.

Honest limits
  • The independent cold-start figures are for Azure Functions from 2021, the closest scale-to-zero sibling of Container Apps. Setting minimum replicas above zero avoids cold starts on either.
  • Container Apps supports only horizontal replica scaling, with no vertical scaling. Size the replica before deploying.
  • Specific SLA percentages are not on the docs page. They live in the master Microsoft Online Services SLA, and zone redundancy increases them, though it must be set at creation.
Cold start C# (independent)
0.932 s
CPU rate (active)
$0.000024/vCPU-s
Idle rate
$0.000003/vCPU-s
Warm lifetime
20-30 min
Free requests
2M/mo
View sources

This page covers how Azure Container Apps performs and scales, and what it costs. Region coverage lives on its own page.

Estimate your Microsoft Azure usage cost

Cold start and latency, independently measured

MetricValueSource
Cold start, C# (independent)0.932 sShilkov, Azure Functions
Cold start, Python1.281 sShilkov, Azure Functions
Cold start, JavaScript1.575 sShilkov, Azure Functions
vs AWS Lambda (JS)~6x slowerShilkov comparison
Warm-instance lifetime20-30 minShilkov, before recycle
Container Apps billingPer secondContainer Apps pricing

KEDA autoscaling

CapabilityValueNotes
Autoscaling engineKEDAHTTP, TCP and custom event triggers
HTTP scale triggerconcurrentRequestsAdds a replica when concurrent requests exceed the threshold
Scaling algorithmceil(current / target)desiredReplicas from the metric ratio
Scale-up steps1, 4, 8, 16, 32Up to the configured max replica count
Poll / cool-down30 s / 300 sPoll every 30s; wait 300s before scaling in
Scale to zeromin 0 replicasNo charge when scaled to zero
Vertical scalingNot supportedHorizontal (replica) scaling only

Microsoft Azure resources and prices

OptionvCPU / RAMPrice
Container Apps, Consumption0.25, 4 vCPU / 0.5, 8 GiB$0.000024/vCPU-s active
Container Apps, idlemin replicas, warm$0.000003/vCPU-s
Container Apps, DedicatedD4, D32 (4, 32 vCPU)$0.0571/vCPU-hr + $0.10/hr
App Service B11 core / 1.75 GB$13.14/mo
App Service B34 core / 7 GB$51.10/mo
App Service P1v42 vCPU / 8 GB$131.40/mo
App Service P3v48 vCPU / 32 GB$524.14/mo

Microsoft Azure reliability and architecture

  • Both Azure Container Apps and App Service define their SLA percentages in the master Microsoft Online Services SLA document rather than quoting them on the reliability page
  • Enabling zone redundancy on a Premium App Service plan increases the uptime percentage defined in the SLA, distributing the app across physically separate availability zones
  • Container Apps zone redundancy is available in every region with availability zones, applies to both Consumption and Dedicated profiles, but must be enabled at environment creation and cannot be changed later
  • The Container Apps availability SLA depends on the scale rules you configure, and the service is built for stateless, zone-redundant workloads
  • Container Apps scales to zero with no usage charges, and idle minimum replicas are billed at a reduced idle rate to keep them warm
  • Container Apps offers three workload profile types, Consumption (serverless, scale-to-zero, per-replica billing), Dedicated (reserved compute, per-node billing) and Flex (preview)

Benchmarked cold starts, independently measured

  • Mikhail Shilkov's independent, open-source serverless benchmark (cloudbench, 2021) measured Azure Functions Consumption-plan cold starts at a median 0.932s for C#, 1.281s for Python and 1.575s for JavaScript
  • The same benchmark found Azure roughly 6x slower than AWS Lambda for equivalent runtimes (JavaScript 1.575s vs 0.264s), calling Azure a clear underdog with startup times often up to 5 seconds
  • Azure Functions Java cold starts were extremely slow at a median around 7.7s, and PowerShell ranged from 4 to 27 seconds, the slowest runtime measured
  • Cold start scaled sharply with deployment package size on Azure: a 1 KB package started in ~1.6s, a 14 MB package in ~7.3s and a 35 MB package in ~14.6s, far worse than AWS or GCP at the same sizes
  • An Azure Functions instance stays warm mostly 20 to 30 minutes after a request before recycling, longer than AWS Lambda (5-7 min) or GCP (15 min), so keep-alive traffic helps
  • This independent data is for Azure Functions on the Consumption plan; Container Apps shares the scale-to-zero model, and setting minimum replicas above zero avoids the cold start entirely

Microsoft Azure Performance FAQ

How is Azure Container Apps priced?

By the second on the Consumption plan: $0.000024 per vCPU-second and $0.000003 per GiB-second of active use, plus $0.40 per million requests. A monthly free grant covers 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million requests per subscription. Idle minimum replicas bill at a reduced $0.000003 per vCPU-second. A Dedicated plan runs $0.0571 per vCPU-hour plus a $0.10 per hour management fee for steady workloads.

How does Container Apps autoscaling work?

It uses KEDA, scaling on HTTP, TCP or custom event triggers. The default HTTP rule adds a replica when concurrent requests pass a threshold, following desiredReplicas = ceil(current metric / target). It scales up in steps of 1, 4, 8, 16, 32 to your max, polls every 30 seconds, and waits a 300-second cool-down before scaling in, including to zero. Vertical scaling is not supported, only horizontal.

Does Container Apps have cold starts?

Yes, because it scales to zero by default after a 300-second cool-down. Independent benchmarks of Azure's serverless platform, Azure Functions being the closest sibling, found the slowest cold starts of the big three. Medians ran 0.93s for C# and 1.58s for JavaScript. Java landed near 7.7s and PowerShell between 4 and 27s, roughly 6x AWS Lambda. Setting minimum replicas above zero avoids the cold start, and idle replicas bill at the low rate.

What SLA does Azure Container Apps offer?

Azure defines the percentage in its master Microsoft Online Services SLA rather than on the reliability page, and the Container Apps figure depends on the scale rules you configure. Enabling zone redundancy raises the guaranteed uptime by spreading the app across physically separate availability zones. It must be done at environment creation, and it applies to both Consumption and Dedicated profiles.

What are the Container Apps resource limits?

On the Consumption profile, each replica can use 0.25 to 4 vCPU and 0.5 to 8 GiB of memory, with scale-to-zero and per-replica billing. The Dedicated profile offers D-series nodes at 4 to 32 vCPU and 16 to 128 GiB, plus memory-optimized E-series up to 256 GiB, with a Flex profile in preview. Vertical scaling is not available, so size the replica and scale horizontally.

Sources & verification

Verified by ComparEdgeMethod: Vendor docs, official pages, and selected independent sources
SourceWhat was checkedLast checked
Microsoft OfficialOfficial product pageJuly 10, 2026
Microsoft App Service LinuxApp Service LinuxJuly 10, 2026
Microsoft Details Container AppsDetails Container AppsJuly 10, 2026
Microsoft LearnContainer Apps Scale AppJuly 10, 2026
Microsoft LearnReliability Reliability Container AppsJuly 10, 2026
Microsoft LearnReliability Reliability App ServiceJuly 10, 2026
Microsoft LearnContainer Apps Workload Profiles OverviewJuly 10, 2026

Every fact on this Microsoft Azure page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.