App Engine Study Notes
App Engine is a fully managed, serverless platform for building and hosting web applications, where you deploy code and Google provisions and scales the infrastructure. An application consists of services, each service has versions, and each version runs in instances that scale with traffic. It suits teams that want to focus on code in supported runtimes rather than on servers or containers.
Key facts
- The standard environment runs applications in language-specific sandboxes with fast startup and scale to zero, but restricts some system calls, native code, and filesystem writes.
- The flexible environment runs your application in a Docker container on Compute Engine VMs, supports custom runtimes and background processes, but does not scale to zero and starts more slowly.
- Configuration lives in an app.yaml file in the application root, which declares the runtime, handlers, scaling settings, and environment variables for a service.
- Every App Engine application is tied to a single region chosen at creation, and that region cannot be changed later, so region choice is a permanent early decision.
- Traffic splitting lets you send percentages of requests to different versions, by cookie or IP address in standard patterns, enabling gradual rollouts similar to canary deployments.
- The default service must exist for an application to serve traffic, and additional services let you run separate components, such as an API and a frontend, under one application.
- Automatic scaling adjusts instances based on request rate, latency, and utilization targets, while manual and basic scaling give more direct control for special workloads.
- App Engine integrates with services such as Cloud Tasks for asynchronous work and provides application logs and version management through the console and gcloud.
What the exam expects you to know
- Choosing between the standard and flexible environments based on runtime support, scale to zero, startup time, and local filesystem or background process needs.
- Explaining the application, service, version, and instance hierarchy and how traffic is routed between versions.
- Knowing that an application's region is fixed at creation and cannot be migrated by changing a setting afterwards.
- Reading an app.yaml to identify runtime, scaling type, and handlers in a scenario or configuration question.
- Using traffic splitting and version promotion to deploy safely and roll back by redirecting traffic to the previous version.
- Recognizing when a workload has outgrown App Engine and should move to Cloud Run for containers or GKE for orchestration.
App Engine vs Cloud Run: when to use which
Choose App Engine when your application fits a supported language runtime and you want a platform model built around services and versions, with source-based deployment and minimal container work. Choose Cloud Run when you want to deploy any container image, use a custom runtime or binary, or run event-driven services and jobs outside a web application structure. The main criteria are packaging and flexibility: App Engine abstracts more of the runtime for standard languages, while Cloud Run centers on containers and gives predictable per-request scaling. See also the Cloud Run notes.
Useful gcloud commands
gcloud app deploy
gcloud app services list
gcloud app versions list
gcloud app browseCommon exam traps
- Trying to change an App Engine application's region later: the region is selected when the application is created and is permanent, so a move means creating a new project and application.
- Assuming the flexible environment scales to zero like standard: flexible always keeps at least one instance running, which affects the cost answer in comparison questions.
- Deploying a new version and expecting all traffic to switch automatically in every case: check traffic allocation, because a new version can receive zero traffic until you migrate or split it.
- Writing persistent files to the local disk in standard: the filesystem is limited and ephemeral, so durable data belongs in Cloud Storage or a database service.
Frequently asked questions
What is the difference between App Engine standard and flexible?
Standard runs code in a managed language sandbox, starts quickly, can scale to zero, and restricts some system access and third-party native libraries. Flexible runs a Docker container on VMs, supports custom runtimes, background processes, and more system access, but it starts more slowly and always keeps at least one instance running.
How do services and versions work in App Engine?
An application contains one or more services, which are separate deployable components such as a frontend and an API. Each deployment to a service creates a version, and multiple versions can exist at once. You control how much traffic each version receives, which makes testing, gradual rollout, and rollback straightforward.
Can I move my App Engine app to another region?
No, not by changing a setting. The region is chosen when the App Engine application is first created in a project and it cannot be changed afterwards. To move regions you create a new project, create the application in the desired region, redeploy your code, and migrate any data and configuration.
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.