GKE vs Cloud Run vs App Engine vs Compute Engine
Google Cloud offers four main ways to run application code, from raw virtual machines to fully serverless containers. Compute Engine gives maximum control, GKE orchestrates containers with Kubernetes, App Engine is a platform for code, and Cloud Run runs containers without servers. The ACE exam expects you to trade control against operational effort for each scenario.
Compute Engine: virtual machines with full control
Compute Engine provides virtual machines running on Google infrastructure, with choices for machine family, CPU, memory, disks, GPUs, operating system images, and networking. You can install almost anything, use custom images, attach persistent disks, and build instance groups with autoscaling and load balancing. It is the closest equivalent to running your own servers, only provisioned in minutes in Google data centers.
That control carries responsibility. You patch the operating system, manage agents, design for zonal failure, and configure scaling yourself. Managed instance groups and instance templates reduce some effort, but the operational model remains infrastructure-centric. In exam scenarios, Compute Engine is correct when requirements mention a specific OS, kernel tuning, software that cannot be containerized, or direct control over the machine - not when the team wants to forget infrastructure.
- Best for: lift-and-shift, custom OS or kernel needs, licensed software, GPUs, and specialized networking
- Watch out for: you own patching, hardening, scaling design, and instance lifecycle
- Exam clue: words like full control, specific operating system, or legacy application point here
GKE: Kubernetes for container orchestration at scale
Google Kubernetes Engine runs Kubernetes clusters for containerized applications, handling deployments, scaling, service discovery, and rolling updates through the Kubernetes API. In Standard mode you configure node pools and manage more of the cluster; in Autopilot mode Google manages nodes, applies secure and efficient defaults, and charges by pod resource requests. GKE supports stateful workloads, GPUs, private clusters, and integration with Google Cloud networking and identity in depth.
The reason to choose GKE is that you need Kubernetes itself: its ecosystem, its APIs, custom resource definitions, or a consistent platform across many services and teams. If a scenario describes one stateless container and a desire for zero cluster management, GKE is usually overkill and Cloud Run is the intended answer. Exam questions test that boundary repeatedly.
- Best for: microservices needing Kubernetes APIs, stateful sets, custom schedulers, service mesh, or multi-cluster patterns
- Watch out for: cluster operations in Standard mode and the complexity cost for simple apps
- Exam clue: words Kubernetes, pods, nodes, Helm, or portability to other clusters point here
App Engine: a platform for code in standard runtimes
App Engine is a fully managed platform where you deploy application code in supported languages and runtimes, and Google handles provisioning, scaling, health checking, and load balancing. The standard environment runs in language-specific sandboxes with fast scaling, including scaling to zero for some configurations, while the flexible environment runs custom runtimes in virtual machines with more flexibility and slower scaling.
App Engine features such as services, versions, and built-in traffic migration and splitting are favorite exam topics. It remains a strong choice for straightforward web applications and APIs in supported runtimes where the team wants platform simplicity without building containers. When a scenario centers on a container image, arbitrary binaries, or container portability, Cloud Run or GKE fits better than App Engine.
- Best for: web applications in Python, Java, Go, Node.js, and other supported runtimes, with rapid deployment from code
- Watch out for: runtime and platform constraints compared with containers
- Exam clue: words like deploy code without containers, standard environment, and traffic splitting between versions point here
Cloud Run: serverless containers that scale to zero
Cloud Run runs container images on a fully managed platform, automatically scaling instances up with traffic and down to zero when idle, billing for CPU and memory allocated while handling requests with minimum instances as an option to reduce cold starts. You bring any container that listens on the configured port, in any language or with any binary, and Cloud Run provides HTTPS endpoints, revisions, gradual traffic rollout, and integration with events and workflows.
Cloud Run removes cluster and server management entirely for stateless workloads, which is why it is the default exam answer for containerized applications with unpredictable traffic and a small operations team. Its limits are the model itself: it is designed for request-driven and job-style execution, not for hosting a self-managed database, a custom Kubernetes control pattern, or software needing a persistent local state on a specific machine.
- Best for: stateless APIs, web back ends, webhooks, event-driven services, and containerized apps with spiky traffic
- Watch out for: request-driven model and constraints around long-running or stateful workloads
- Exam clue: words serverless containers, scale to zero, pay per request, and minimal operations point here
Choosing by control versus operations
Plot the four options on a single axis: as you move from Compute Engine to GKE to App Engine to Cloud Run, you give up low-level control and gain operational simplicity. Most wrong exam answers break this trade-off, offering maximum control when the scenario begs for minimal management, or a serverless answer when the scenario requires a custom operating system, a stateful Kubernetes pattern, or privileged system software. Read the constraint words first - must, requires, cannot - and they will usually eliminate two options immediately.
- Control decreases: Compute Engine, then GKE, then App Engine flexible, then Cloud Run and App Engine standard
- Operations decrease in roughly the same order
- Scaling: manual or group-based on Compute Engine, cluster-based on GKE, platform automatic on App Engine and Cloud Run
- Portability: containers on GKE and Cloud Run travel most easily; VMs travel as images
How to choose
Choose Compute Engine when you need control over the machine itself. Choose GKE when you need Kubernetes features, portability, or complex container orchestration. Choose App Engine for code-first web applications in supported runtimes with built-in version and traffic management. Choose Cloud Run for stateless containers with minimal operations and scale-to-zero economics. For the exam, match the strongest constraint in the scenario - OS, Kubernetes, runtime, or operations - to the service built around it.
Frequently asked questions
When should I choose GKE over Cloud Run?
GKE gives you full Kubernetes control, including custom networking, stateful workloads, and fine-grained pod configuration. Cloud Run runs containers serverlessly without cluster management. Choose GKE when you need Kubernetes features specifically, and Cloud Run when you simply need to run a stateless container with minimal operations.
Why would a team still choose Compute Engine?
Compute Engine gives full control over the operating system, kernel, and installed software, which suits lift-and-shift migrations, licensed software, and GPU or specialized machine requirements. The cost is that you patch, secure, and manage the virtual machines yourself.
Is App Engine the same as Cloud Run?
They overlap for simple web applications, but they are not interchangeable on the exam. App Engine deploys code in supported runtimes with platform services built in, while Cloud Run deploys any container image. If the scenario mentions a container or Dockerfile, lean Cloud Run; if it mentions a standard runtime with no container management, lean App Engine.
Study aid disclaimer: Cloud Cert Notes is an independent educational study aid. It is not affiliated with, endorsed by, or sponsored by Google, Microsoft, Amazon, Oracle, or Alibaba. Google Cloud, Associate Cloud Engineer, and Cloud Digital Leader are trademarks of Google LLC; all other certification names and product names are trademarks of their respective owners. Always confirm service details against the official provider documentation before sitting an exam.