# Azure Container Apps vs Google Cloud Run

Canonical: https://inetgeek.com/compare/azure-container-apps-vs-google-cloud-run/

Every value below is read from Azure Container Apps's and Google Cloud Run's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Azure Container Apps | Google Cloud Run |
| --- | --- | --- |
| 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. |
| 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. |
| Containers | Supported | Supported |
| 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. ([source](https://learn.microsoft.com/en-us/azure/container-apps/billing))
- 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. ([source](https://cloud.google.com/run/pricing?hl=en))

### Max request duration

- Azure Container Apps: 240 seconds for an HTTP request through the fully qualified domain name. ([source](https://learn.microsoft.com/en-us/azure/container-apps/ingress-overview))
- Google Cloud Run: 5 minutes by default, extendable to 60 minutes per request. ([source](https://docs.cloud.google.com/run/docs/configuring/request-timeout?hl=en))

### Persistent processes

- Azure Container Apps: Supported ([source](https://learn.microsoft.com/en-us/azure/container-apps/scale-app))
- Google Cloud Run: Limited — instance-based billing keeps CPU allocated ([source](https://docs.cloud.google.com/run/docs/configuring/billing-settings?hl=en))

## Which should you choose?

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.

Consider something else: 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.

Consider something else: Google Cloud Run — You need a process that stays running between requests, or a disk that survives a deploy.

## Documented by only one

- Kind of free offer: Google Cloud Run: Free tier
- What the free plan includes: Azure Container Apps: Per subscription, per calendar month: 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million HTTP requests. Free usage does not appear on the bill.
- Git deployment: Google Cloud Run: Supported
- Docker deployment: Google Cloud Run: Supported
- Edge network: Google Cloud Run: Limited — deploy per region, add a load balancer
- Autoscaling: Google Cloud Run: Supported
- Regions: Google Cloud Run: 43 regions, counted from Cloud Run's own locations list — Google publishes the list rather than a total. 20 are Tier 1 and 23 Tier 2, so the region chosen changes the bill as well as the latency.
- Uptime SLA: Google Cloud Run: 99.95% for a non-GPU service and for GPU services with zonal redundancy; 99.5% for GPU services without it. Published as an SLO, outside Mexico and Stockholm.
- SOC 2: Google Cloud Run: Covered under Google Cloud's core SOC 2 Type II reports, issued quarterly for Google Cloud and Google Workspace products generally.
- ISO 27001: Google Cloud Run: The Google Cloud Services ISMS holds an accredited ISO/IEC 27001 certification, audited by an independent third party.
- HIPAA: Google Cloud Run: Cloud Run is listed as a Covered Product under Google Cloud's HIPAA Business Associate Agreement.
- PCI DSS: Google Cloud Run: Cloud Run is listed among the individual Google Cloud products certified against PCI DSS via annual third-party audit.

## 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.
