Cloud Run or App Engine Flexible?
Two ways to run containers on Google Cloud — and Google's own recommended default.
Cloud Run is Google's modern default — its own documentation recommends it over App Engine for new users, citing advanced capabilities such as GPUs at lower prices. It scales to zero and bills per request. App Engine Flexible is not deprecated and remains supported, but it is a legacy option: it still fits when you need VM-level control (Compute Engine VMs with SSH), workloads that must sit in the Compute Engine network, or steady traffic where an always-on instance is acceptable. The deciding factor is scale-to-zero and billing — Cloud Run charges nothing when idle; Flexible always keeps a billable VM running.
Answer the questions — the helper scores both the options against the sourced table below and shows its reasoning. A heuristic, not an oracle: the verdict above stays the authority.
| Criterion | Cloud Run | App Engine Flexible |
|---|---|---|
| Scale to zero | Yes — idle revisions scale to 0 instances | No — at least one instance always runs |
| Billing when idle | Request-based billing — no charge when idle | Instances billed continuously |
| Deploy unit | Any OCI / Docker container, as an immutable revision | A Docker container on Compute Engine VMs |
| Cold starts | Yes — scale-from-zero | None — no scale-from-zero |
| Startup speed | Seconds | Minutes — VM boot |
| Request timeout | Default 5 min, configurable to 60 min | 60 min |
| GPU support | Yes — NVIDIA L4 and RTX PRO 6000 | No |
| VM-level access | No host access | Yes — SSH into the underlying Compute Engine VM |
| Positioning | Modern, recommended default for new projects | Supported; Cloud Run recommended instead |
Pick Cloud Run when
- Traffic is spiky — scale to zero and pay only per request.
- You are starting a new project — Google recommends it as the default.
- You need GPUs, fast deploys, or percentage-based traffic splitting.
Pick App Engine Flexible when
- You need VM-level control — SSH into the Compute Engine VM for debugging.
- Your app must run inside the Compute Engine network.
- You have an existing Flexible app and migration cost outweighs modernising now.
- Compare App Engine and Cloud Run — https://docs.cloud.google.com/appengine/migration-center/run/compare-gae-with-run
- Cloud Run instance autoscaling — https://docs.cloud.google.com/run/docs/about-instance-autoscaling
- Cloud Run billing settings — https://docs.cloud.google.com/run/docs/configuring/billing-settings
- Cloud Run request timeout — https://docs.cloud.google.com/run/docs/configuring/request-timeout
- Cloud Run GPU configuration — https://docs.cloud.google.com/run/docs/configuring/services/gpu
- App Engine flexible environment overview — https://docs.cloud.google.com/appengine/docs/flexible/overview