Azure Container Apps vs Google Cloud Run
SEPT 2026 auditA comparison of Azure Container Apps and Google Cloud Run built from values read directly from each provider's own documentation, with the source recorded against every figure.
The short answer
Choose Azure Container Apps if…
Containerised services and jobs already inside an Azure subscription, where the monthly free grant of 180,000 vCPU-seconds and 2 million requests covers low traffic and scaling to zero stops usage charges between bursts.
Editorial · Palash Bagchi · approved
Choose Google Cloud Run if…
A container you already build, that should cost nothing when nobody is using it. Scales to zero by default and back up on request volume, with a 60-minute ceiling per request that most request-driven platforms do not offer.
Editorial · Palash Bagchi · approved
Consider something else if…
- Azure Container Apps: Requests can run longer than the 240-second ingress timeout, or you want to read an uptime figure on a web page: Microsoft publishes its SLA only inside a consolidated downloadable document covering Azure, Dynamics, Office and Intune.
- Google Cloud Run: You need a process that stays running between requests, or a disk that survives a deploy.
3 sourced criteria separate them — see where, with sources, below.
Pick the criteria you care about. The chart counts how many of them lean toward each provider — the same read as scanning the bars below, just totalled for the ones you chose.
Azure Container Apps 0
Google Cloud Run 0
At a glance.
| Criterion | Azure Container Apps | Google Cloud Run |
|---|---|---|
| Pricing | ||
| Free tier | Yes | Yes |
| Pricing model | Two plan types. Consumption bills only for the resources apps use while running, in vCPU-seconds, GiB-seconds and HTTP requests. Dedicated bills for instances allocated to a workload profile. | Metered by resource, billed in 100 ms increments, with no monthly minimum. Two billing settings change what is counted: request-based charges CPU only while a request is being processed, instance-based charges for the whole instance lifecycle. Prices vary by region — the location list is split into Tier 1 and Tier 2 pricing — and the free tier is applied as a spending-based discount at Tier 1 rates. |
| Limits | ||
| Max request duration | 240 seconds for an HTTP request through the fully qualified domain name. | 5 minutes by default, extendable to 60 minutes per request. |
| Deployment | ||
| Containers | Supported | Supported |
| Infrastructure | ||
| Persistent processes | Supported | Limited — instance-based billing keeps CPU allocated |
| Scales to zero | Supported | Supported |
Where they differ.
Pricing model
- Azure Container Apps
- Two plan types. Consumption bills only for the resources apps use while running, in vCPU-seconds, GiB-seconds and HTTP requests. Dedicated bills for instances allocated to a workload profile.
- Google Cloud Run
- Metered by resource, billed in 100 ms increments, with no monthly minimum. Two billing settings change what is counted: request-based charges CPU only while a request is being processed, instance-based charges for the whole instance lifecycle. Prices vary by region — the location list is split into Tier 1 and Tier 2 pricing — and the free tier is applied as a spending-based discount at Tier 1 rates.
Sources (2) →Sources ↓
- Billing in Azure Container Apps ↗
“consumption plan serverless compute option where you're only billed for the resources your apps use as they're running. dedicated plan customized compute options where you're billed for instances allocated to each workload profile.”
Read 2026-09-14 · official docs
- Cloud Run pricing — Google Cloud ↗
“Cloud Run charges you only for the resources you use, rounded up to the nearest 100 millisecond. Your total Cloud Run bill will be the sum of the resource usage in the pricing table after the free tier is applied. [...] Cloud Run pricing depends on the selected region. Pricing for Cloud Run services also depends on the billing configuration. [...] The free tier is applied as a spending based discount using Tier 1 pricing.”
Read 2026-09-09 · official pricing
Max request duration
240 seconds for an HTTP request through the fully qualified domain name.
5 minutes by default, extendable to 60 minutes per request.
Sources (2) →Sources ↓
- Ingress in Azure Container Apps ↗
“a fully qualified domain name (fqdn) request time out is 240 seconds”
Read 2026-09-14 · official docs
- Configure request timeout for services — Google Cloud Documentation ↗
“The timeout is set by default to 5 minutes (300 seconds) and can be extended up to 60 minutes (3600 seconds).”
Read 2026-09-09 · official docs
Persistent processes
- Azure Container Apps
- Supported
- Google Cloud Run
- Limited — instance-based billing keeps CPU allocated
Sources (2) →Sources ↓
- Set scaling rules in Azure Container Apps ↗
“if you want to ensure that an instance of your revision is always running, set the minimum number of replicas to 1 or higher.”
Read 2026-09-14 · official docs
- Billing settings for Cloud Run services — Google Cloud Documentation ↗
“With request-based billing, CPU is only allocated during request processing. With instance-based billing, CPU is allocated for the entire container instance lifecycle. [...] Instance-based billing can be useful for running short-lived background tasks and other asynchronous processing tasks. This setting was previously called CPU always allocated.”
Read 2026-09-09 · official docs
When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.
Documented by only one.
These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing.
Questions this comparison answers.
Should I choose Azure Container Apps or Google Cloud Run?
Pick Azure Container Apps if Containerised services and jobs already inside an Azure subscription, where the monthly free grant of 180,000 vCPU-seconds and 2 million requests covers low traffic and scaling to zero stops usage charges between bursts.
Pick Google Cloud Run if A container you already build, that should cost nothing when nobody is using it. Scales to zero by default and back up on request volume, with a 60-minute ceiling per request that most request-driven platforms do not offer.
