Home/Library/Cloud Run vs GKE for Cost
Comparison · Google Cloud · Updated June 2026

Cloud Run vs GKE for Cost: Which to Choose

The Cloud Run versus GKE decision comes down to one variable: how steady your traffic is. Cloud Run scales to zero and bills per request, so it wins on spiky or low load. GKE wins once you have enough steady work to keep nodes busy. This guide gives you the scorecard and the rule.

For cost, choose Cloud Run when traffic is spiky, low, or unpredictable, because it scales to zero and bills per request and per resource-second, so idle costs nothing. Choose GKE when you have steady, high-utilization workloads that keep nodes busy, because packing many containers onto well-used nodes costs less per unit of compute than per-request serverless billing. The crossover is utilization: below it, serverless saves money by charging nothing when idle; above it, a well-packed cluster is cheaper per unit. Most estates end up running both, with Cloud Run on the bursty edge and GKE on the steady core.

Last updated: June 2026. Written by Fredrik Filipsson and reviewed by Morten Andersen, built on our See, Cut, Lock, Run method.

This article sits in our complete guide to Google Cloud cost optimization, the cluster pillar it links up to. Choosing the right runtime is a Cut step decision: the platform you pick sets the cost ceiling before any tuning. For the choice within GKE itself, see our companion GKE Autopilot vs Standard cost comparison.

The one rule that matters most

Match the platform to the traffic shape. Spiky, low, or scale-to-zero friendly workloads belong on Cloud Run, where idle is free. Steady, high-utilization workloads belong on GKE, where committed, well-packed nodes beat per-request pricing. The mistake is running an always-busy service on per-request billing, or an idle one on always-on nodes.

What are Cloud Run and GKE?

Cloud Run is a fully managed serverless platform for running containers that scales automatically, including to zero, and bills for the resources your requests consume. You hand it a container and it runs, scales, and bills per request plus per vCPU-second and per GiB-second, with no nodes to manage. Google Kubernetes Engine (GKE) is managed Kubernetes: you run a cluster of nodes and schedule containers onto them, paying for the nodes plus a cluster management fee. GKE gives you the full Kubernetes control plane, the ability to pack many workloads densely onto shared nodes, and access to commitment discounts on the underlying compute.

How does each one bill?

Cloud Run bills per request and per resource-second, while GKE bills for nodes plus a cluster fee. On Cloud Run's default request-based model, you pay per request plus roughly 0.000024 US dollars per vCPU-second and 0.0000025 US dollars per GiB-second, with a monthly free tier of 2 million requests, 180,000 vCPU-seconds, and 360,000 GiB-seconds per billing account, and nothing charged while idle unless you set minimum instances above zero, per the Cloud Run pricing documentation. GKE charges a flat cluster management fee of about 0.10 US dollars per cluster per hour for both Autopilot and Standard, plus compute: Standard bills the underlying VM nodes whether or not pods use them, while Autopilot bills the CPU, memory, and storage your pods request, per the GKE pricing documentation. One zonal or Autopilot cluster per billing account is covered by a monthly free credit. Verify the current rates in those docs before modeling, as Google Cloud pricing changes.

Cloud Run vs GKE, side by side

DimensionCloud RunGKE (Standard / Autopilot)
Billing unitPer request plus vCPU-second and GiB-secondPer node (Standard) or per pod request (Autopilot), plus cluster fee
Scale to zeroYes, idle is free by defaultWorkloads can scale low, but nodes and the cluster fee persist
Cluster feeNoneAbout 0.10 USD per cluster per hour, both modes
Best utilization fitSpiky, low, or unpredictable loadSteady, high, packable load
Commitment discountsCommitted use discounts on Cloud Run spendCUDs and Spot on the underlying compute
Operational overheadMinimal; no nodes to runHigher; you operate the cluster (less on Autopilot)
VerdictCheaper for bursty and idle-heavy servicesCheaper for always-on, densely-packed fleets

The rates above reflect Google Cloud pricing structure as we read it in June 2026. Confirm exact figures for your region and configuration in the linked Google Cloud documentation, because prices and free tier limits change.

When is Cloud Run cheaper?

Cloud Run is cheaper whenever your workload spends meaningful time idle or has unpredictable, spiky traffic. Because it scales to zero and charges nothing between requests, a service that gets traffic in bursts, an internal tool used during business hours, an event-driven job, or an early-stage product with low volume, pays only for the moments it actually runs. On GKE the same workload would keep nodes and the cluster fee running around the clock, paying for capacity it barely uses. Cloud Run also removes the operational cost of running a cluster, which is a real, if less visible, line in the total. For low and variable load, scale-to-zero almost always wins.

When is GKE cheaper?

GKE is cheaper once you have enough steady workloads to keep nodes well utilized. When several services run around the clock, you can pack many containers densely onto shared nodes, apply committed use discounts and Spot to the underlying compute, and spread the cluster fee across constant load, driving the cost per unit of compute below per-request serverless pricing. The break-even is utilization, not request count alone: a cluster running at high, sustained utilization is efficient, while one with idle nodes is paying for air. This is why bin packing efficiency and rightsizing requests matter so much on GKE, and why a poorly utilized cluster can quietly cost more than the Cloud Run equivalent it replaced. The full GKE tuning playbook lives in our Google Cloud guide.

Not sure which runtime is cheaper for your workloads?

Our Google Cloud cost audit models Cloud Run against GKE on your real traffic shapes, finds the crossover for each service, and tells you the dollar impact of moving the right workloads to the right platform. On the performance model, you pay only from realized savings. No savings, no fee.

Book a Google Cloud cost audit →

Which should you choose?

Choose by traffic shape, and expect to run both. Put spiky, low-volume, event-driven, and scale-to-zero friendly services on Cloud Run, where idle is free and there is no cluster overhead. Put steady, high-utilization, densely packable workloads on GKE, where committed, well-used nodes win on cost per unit. Many GCP estates land on a split: Cloud Run on the bursty edge and the long tail of small services, GKE for the always-on core. The wrong choice in either direction is the expensive one, an always-busy service stranded on per-request billing, or a handful of idle services each holding open a cluster.

Go deeper · free field guide

The Google Cloud Cost Optimization Field Guide includes the Cloud Run versus GKE crossover model and the utilization targets used above. It is the downloadable companion to this comparison.

Frequently asked questions

Is Cloud Run cheaper than GKE?

Cloud Run is cheaper for spiky, low, or unpredictable traffic because it scales to zero and bills per request and per resource-second, so you pay nothing when idle. GKE is cheaper for steady, high-utilization workloads that keep nodes busy, where the per-cluster fee and node cost are spread across constant load.

When does GKE become cheaper than Cloud Run?

GKE becomes cheaper once you have enough steady workloads to keep nodes well utilized, typically multiple always-on services. At that point packing many containers onto committed, well-used nodes costs less per unit of compute than per-request serverless billing.

Does Cloud Run charge when there is no traffic?

By default Cloud Run scales to zero and charges nothing when there is no traffic, on request-based billing. You only pay for idle time if you set minimum instances above zero or use instance-based billing, for example to avoid cold starts or to run GPU workloads.

What is the GKE cluster management fee?

GKE charges a flat cluster management fee of about 0.10 US dollars per cluster per hour for both Autopilot and Standard, on top of compute. One zonal or Autopilot cluster per billing account is covered by a monthly free credit. Confirm current rates in the Google Cloud pricing documentation.

The short version

Cloud Run wins on spiky and idle-heavy workloads because it scales to zero and bills per request; GKE wins on steady, densely-packed fleets because committed, well-used nodes beat per-request pricing. The crossover is utilization, and most estates run both. When you want each workload modeled and placed on the cheaper runtime, that is what our Google Cloud cost optimization service delivers.

Primary sources & further reading

Cloud pricing and service behavior change frequently. Verify the specifics in this guide against the providers’ own current documentation and the FinOps Foundation: Google Cloud pricing ↗, Google Cloud documentation ↗ and FinOps Foundation Framework ↗. This article also reflects Cloud Cost Room’s hands-on, vendor-neutral engagement experience.

Co-founder of Cloud Cost Room and a FinOps Certified Practitioner, with 20 years in IT and cloud cost optimization across AWS, Azure, Google Cloud and OCI. More about Fredrik →

More from the Google Cloud Cost Optimization cluster

See every guide in the Google Cloud Cost Optimization cluster →

The Cloud Cost Brief

Cloud pricing moves. We tell you when it matters.

New commitment instruments, FOCUS changes, hyperscaler pricing shifts, and the plays that actually move a bill. No schedule, no filler.

Subscribe · Work email only