App Engine
Exam guide§2.1
Fully managed PaaS: upload code and App Engine deploys and runs the infrastructure for you. You focus on application logic, not servers. Know the two environments (Standard vs Flexible) and the versions + traffic-splitting model.
What App Engine gives you
A PaaS binds your code to the libraries and services it needs, so more effort goes into application logic instead of deployment. You upload code; App Engine provisions the runtime, scaling, and load balancing.
- Languages (Standard): Java, Node.js, Python, PHP, C#, .NET, Ruby, Go. Flexible runs any language via a Docker container.
- Structure: one app per project, organized as App > Services > Versions > Instances.
- Integrated ops: wired into Cloud Monitoring, Cloud Logging, Cloud Profiler, and Error Reporting out of the box.
Standard vs Flexible
| Standard | Flexible | |
|---|---|---|
| Runtime | Language-specific sandbox, fixed OS | Any language via custom Docker container |
| Startup | Fast (seconds) | Slower (minutes - boots a VM) |
| Scale to zero | Yes (idle apps cost nothing) | No (minimum 1 instance) |
| Local disk | Cannot write to local disk | Can write to local disk |
| SSH access | No | Yes (into the container VM) |
| Best for | Bursty/low-utilization web + mobile backends | Custom runtimes, background processes, specific libs |
An App Engine app is tied to one region, chosen at creation and not changeable afterward. If a question needs multi-region or global reach, that points to Cloud Run (region-independent) instead.
Versions & traffic splitting
- Each deploy is a version; you can keep multiple versions and roll back instantly.
- Traffic splitting routes a percentage of requests across versions for A/B testing, canary, and gradual rollout.
- Max services per app: 5 (free), 105 (paid).
- Max versions per app: 5 (free), 210 (paid).
- Max instances with manual scaling: 20.
- Scaling types: automatic (per-instance request queues), basic (cheap, higher latency), manual (fixed instances).
- Standard-environment URL:
https://PROJECT_ID.REGION_ID.r.appspot.com.
Recap
Focus on writing code, not deploying/managing the environment→App Engine
Website, mobile/gaming backend, or RESTful API→App Engine
Need a specific supported language + fast scale-to-zero→App Engine Standard
Custom runtime / Docker, background work, local disk→App Engine Flexible
Need multi-region or region-independent→Cloud Run (not App Engine)
Full control over OS / kernel→Compute Engine (not App Engine)