Comparison
Control Plane vs Google Cloud Run
6 min read
Summary
Control Plane runs the same scale-to-zero containers across AWS, GCP, Azure, and on-prem as one virtual cloud, on managed infrastructure by default or in your own accounts, and adds the networking, security, cross-cloud identity, stateful and VM workloads, placement control, and right-sizing that production apps need. Google Cloud Run is a narrower tool: simple, GCP-only serverless containers. Both scale to zero, and both can meet strong compliance, Cloud Run through Google Cloud. The difference is functionality and reach: if you need VMs, stateful and cron workloads, one identity model across clouds, or to run beyond a single cloud without standing up a second platform, Control Plane covers it, where Cloud Run stops at single-cloud serverless.
| At a glance | Control Plane | Cloud Run |
|---|---|---|
| Clouds supported | AWS, GCP, Azure + BYOK/on-prem | GCP only |
| Runs across clouds | ●●●●● | ●●●●● |
| Scale-to-zero | ✓ Yes | ✓ Yes |
| Lock-in / exit | Managed infra or your accounts | GCP-native |
| Workload types | Serverless, standard, stateful, cron, VM + Sandboxes | Serverless containers |
| Compliance | Portable across clouds | Broad, via Google Cloud |
These two products both run scale-to-zero serverless containers, but they are not the same class of tool. Google Cloud Run is a simple single-cloud service: it runs your containers on Google Cloud, deeply integrated with the rest of GCP, and it only runs there. Its simplicity is its appeal and also its ceiling. Control Plane is a full multi-cloud runtime. It adds the networking, security, identity, stateful and VM workloads, placement control, and right-sizing production apps need, with one set of compliance controls kept consistent across every cloud. It runs that same serverless-style container across any mix of clouds and on-prem, on managed infrastructure by default or in your own accounts. The question is whether Cloud Run's feature set is enough for your app, and whether you want it on one cloud or many.
The core difference: simple single-cloud serverless vs a multi-cloud runtime
Cloud Run's model is deliberately narrow: you hand it a container image, it runs it, scales it from zero to many and back, and bills you for requests. It is tightly wired into Google Cloud: IAM service accounts, VPC connectors, Cloud Build, Artifact Registry, Pub/Sub, and the rest. That integration is exactly why it is so simple, and it is also why it only runs on Google Cloud.
Control Plane applies the same serverless container model but with a full multi-cloud runtime around it. By default it runs your workloads on hardened, managed infrastructure. Optionally it runs them across any mix of substrates you define, from an AWS region to a GCP project, an Azure subscription, a Kubernetes cluster, or an on-prem server, all as one layer, with identity, networking, security, placement, and scaling handled uniformly. It runs five workload types, serverless, standard, stateful, cron, and VM, plus Sandboxes for AI agents and untrusted code, with policy-based placement, right-sizing, and compliance controls kept consistent across all of them. The container you would ship to Cloud Run runs unchanged, with scale-to-zero, in any of those places. It runs on Kubernetes without asking you to operate a cluster: teams never have to run one, but can bring their existing clusters with Bring Your Own Kubernetes (BYOK) or have Control Plane operate fully managed clusters with Managed Kubernetes (MK8s).
Why teams look past Cloud Run in 2026
Teams look past Cloud Run for two reasons, and only one is about multi-cloud. The first is adaptability. Cloud Run is deliberately simple, and production apps outgrow it: they need richer networking and security, fine-grained identity, stateful or VM workloads alongside serverless ones, control over placement, and right-sizing. That gap, along with the day-two operations of running real production apps, shows up whether you run on one cloud or several. The second is reach. Cloud Run only runs on Google Cloud. Several things push teams to look elsewhere: an existing footprint on AWS or Azure, an acquisition or customer requirement that forces a second cloud, a data-residency or resilience mandate that spans providers, or a decision not to be locked to a single cloud's control plane. Once workloads must run in more than one cloud, a GCP-only serverless platform means running a second, different platform everywhere else and stitching identity, networking, and deployment across the seam.
This is not about leaving Google Cloud. Control Plane can run in your GCP account too, so you keep your Google spend, commitments, and native services. It is about getting a full multi-cloud runtime, and making GCP one option among several rather than the only option, with one identity and one deployment surface across everything.
Which one should you pick?
Choose Control Plane if...
- You need more than simple serverless: richer networking, security, identity, stateful or VM workloads, placement control, or right-sizing, even on a single cloud.
- You run, or expect to run, on more than one cloud and want one layer across AWS, GCP, Azure, and on-prem.
- You want the same scale-to-zero serverless containers everywhere, not a different platform per cloud.
- You want to avoid single-cloud lock-in, with the option to deploy into your own accounts, including your GCP account.
- You want credential-free access to native services across clouds through one identity model.
Where Cloud Run differs
- It runs only on Google Cloud, with native integration to Google IAM and services.
- It builds from source or a container image with gcloud (Control Plane also offers git-driven buildpack builds and per-PR preview environments).
- It runs primarily stateless serverless containers, without a full VM, stateful, or cron workload type.
These are single-cloud characteristics. Control Plane runs the same scale-to-zero containers across AWS, GCP, Azure, and on-prem, including in your own GCP account, and adds VMs, stateful and cron workloads, Sandboxes for AI agents and untrusted code, right-sizing, and compliance controls kept consistent across all of them.
Control Plane vs Cloud Run, side by side
| Dimension | Control Plane | Google Cloud Run |
|---|---|---|
| Where your app runs | Managed clusters in Control Plane's cloud accounts by default, or your own accounts / on-prem (AWS, GCP, Azure) | Google Cloud's infrastructure |
| What you operate | Nothing on managed compute; no cluster required, with optional MK8s or BYOK | Nothing, fully managed |
| Deploy model | Git-driven builds with buildpacks and per-PR preview environments, or prebuilt containers via CLI, Terraform, Pulumi, API, and UI | gcloud deploy (source or container) |
| Regions | Runs natively on AWS, GCP, and Azure across their regions, plus your own accounts and on-prem via BYOK | 39 Google Cloud regions |
| Multi-cloud plus on-prem | Yes, one layer across clouds and on-prem | Google Cloud only |
| Scaling | Horizontal and concurrency-based autoscaling | Automatic, rapid, concurrency-based |
| Scale-to-zero and right-sizing | Scale-to-zero plus Capacity AI right-sizing | Scale-to-zero (native); no automatic right-sizing |
| Pricing model | Consumption by the milli-core on managed compute, or your node cost with BYOK; no per-seat fees | Pay-per-use (requests + CPU/memory), billed to the 100ms; free tier |
| Workload types | Serverless, standard, stateful, cron, and VM, plus Sandboxes for AI agents and untrusted code | Services, jobs, functions, and worker pools; primarily stateless (volume mounts and GPUs available) |
| Databases | Managed databases including CockroachDB, Postgres, Redis, MySQL, Cassandra, and Kafka | None native; integrates with Cloud SQL, Firestore, Memorystore |
| Networking | One network model across clouds, deny-by-default firewalls, mTLS between workloads | Direct VPC egress (GA) or VPC connectors, Cloud Load Balancing, TLS |
| Secrets management | Built-in secrets, encrypted, injected at runtime | Secret Manager integration |
| Access control (RBAC) | Policy-based RBAC plus Universal Cloud Identity for credential-free cross-cloud access | Google Cloud IAM |
| Observability | Built-in logs and metrics aggregated across clouds and regions | Cloud Monitoring and Logging |
| Compliance | PCI DSS Level 1, SOC 2 Type II, HIPAA, GDPR | PCI DSS, HIPAA BAA, SOC 2, and further certifications (via Google Cloud) |
| Lock-in and exit | Standard containers, portable across clouds, no single-vendor lock-in | Google Cloud |
| Best for | Multi-cloud, VMs and stateful workloads, avoiding single-cloud lock-in | Simple, stateless services all-in on Google Cloud |
Which fits your scenario
Control Plane fits: a team whose production app has outgrown simple serverless and also needs to run beyond one cloud. The app needs more than Cloud Run's feature set covers: custom networking, fine-grained identity, stateful services and the occasional VM alongside its serverless containers, and formal compliance. On top of that a new enterprise customer or acquisition pushes it onto GCP and Azure. Rather than standing up Cloud Run in GCP, a separate serverless layer in each other cloud, and stitching identity and networking across the seams, the team runs the same standard containers, plus stateful, cron, and VM workloads and Sandboxes for AI agents and untrusted code, across AWS, GCP, Azure, and on-prem. Everything runs under one identity and network model, with scale-to-zero everywhere and no cluster required. Universal Cloud Identity lets a workload in one cloud reach native services in another, such as S3, DynamoDB, or BigQuery, with a real role and no long-lived keys. A GCP-only platform cannot do that across providers.
What Cloud Run is. Cloud Run is a single-cloud serverless service for teams all-in on Google Cloud: hand it an image and it runs the service, wired directly into GCP IAM and services. Control Plane runs that same scale-to-zero container model in your own GCP account, and adds VMs, stateful and cron workloads, one identity model across clouds, and the option to run on AWS, Azure, and on-prem too, so GCP stays in the mix as one option rather than the only one.
Why teams consolidate on Control Plane. The moment an app needs more than stateless serverless, whether that is richer networking, stateful or VM workloads, or right-sizing, or has to run in more than one cloud, a GCP-only serverless service stops being enough. Control Plane runs the same scale-to-zero containers in your GCP account and everywhere else, and adds full VMs, stateful and cron workloads, Sandboxes for AI agents and untrusted code, one identity and network model across every cloud, and compliance controls kept consistent across all of them, so you keep GCP in the mix without ending up running a second platform per cloud.
"Control Plane has really, really simplified how we manage our infrastructure. It allows us to move faster and focus on what matters for our customers."
Frequently asked questions
Often yes, for two reasons. First, Cloud Run is simple but limited. Control Plane is a full multi-cloud runtime that adds the networking, security, identity, stateful and VM workloads, placement control, and right-sizing production apps often need, which matters even if you stay on one cloud. Second, Control Plane runs the same scale-to-zero container model across AWS, GCP, Azure, and on-prem, on its managed infrastructure by default or in your own accounts, so you are not locked to only GCP. This is not about leaving Google Cloud; Control Plane runs in your Google Cloud account too.
Yes. Serverless workloads on Control Plane scale to zero when idle and back up on demand. Standard and stateful workloads can also scale on custom signals through KEDA. The difference from Cloud Run is that scale-to-zero works everywhere Control Plane runs, not just on Google Cloud.
Yes. By default Control Plane runs workloads on managed infrastructure, and as an option it runs them in your own cloud accounts, including your Google Cloud account, alongside AWS, Azure, and on-prem. When you use your own accounts you keep your GCP spend, discounts, and data residency; either way Control Plane adds one deployment surface, one identity model, and scale-to-zero across all of them so GCP is one option rather than the only option.
Cloud Run is a simple single-cloud service: fully managed, scale-to-zero serverless containers that run on Google Cloud and integrate deeply with Google services, but with a limited feature set. Control Plane is a full multi-cloud runtime. It adds the networking, security, identity, stateful and VM workloads, placement control, and right-sizing production apps need. It runs the same serverless-style containers across any mix of clouds, regions, clusters, and on-prem, on managed infrastructure by default or in your own accounts, with credential-free access to native services in each cloud.
Cloud Run uses Google Cloud service accounts to reach Google services. Control Plane adds Universal Cloud Identity, which gives a workload credential-free access to native services across clouds using temporary session credentials. A workload running on one cloud can call another cloud's service, such as S3, DynamoDB, BigQuery, or Entra ID, with a real role and no long-lived keys to manage.
Outgrowing Cloud Run?
Get a full multi-cloud runtime with the networking, security, identity, stateful and VM workloads, placement control, and right-sizing production apps need. It runs the same scale-to-zero containers across AWS, GCP, Azure, and on-prem, on managed infrastructure or in your own accounts, with credential-free access to native services in each provider and no cluster required. Google Cloud stays in the mix. Test it on one real workload and see.
99.999% uptime SLA · SOC 2 Type II · PCI DSS Level 1
