You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Google App Engine is the original serverless platform on Google Cloud, predating both Cloud Functions and Cloud Run. It remains a powerful option for deploying web applications and APIs with zero infrastructure management. App Engine offers two environments: Standard and Flexible, each with distinct characteristics and trade-offs.
App Engine is a fully managed Platform-as-a-Service (PaaS) that lets you build and deploy applications without managing the underlying infrastructure. You write code, define your configuration in an app.yaml file, and deploy. Google handles scaling, load balancing, health checks, patching, and monitoring.
| Feature | Description |
|---|---|
| Fully managed | No servers or clusters to manage |
| Auto-scaling | Scales based on incoming traffic |
| Built-in services | Memcache, Task Queues, Cron, Identity-Aware Proxy |
| Versioning | Deploy multiple versions and split traffic between them |
| Custom domains | Map your own domain with managed SSL certificates |
| Zero downtime deploys | Traffic splitting ensures smooth rollouts |
The Standard environment runs your application in a secure sandbox. It is optimised for rapid scaling, including scaling to zero, and offers a generous free tier.
| Runtime | Versions |
|---|---|
| Python | 3.8, 3.9, 3.10, 3.11, 3.12 |
| Java | 11, 17, 21 |
| Node.js | 18, 20 |
| Go | 1.21, 1.22 |
| PHP | 8.1, 8.2, 8.3 |
| Ruby | 3.2, 3.3 |
| Characteristic | Detail |
|---|---|
| Scaling | Scales to zero — no charges when idle |
| Startup time | Seconds (fast cold start) |
| Instance classes | Predefined (F1, F2, F4, F4_1G) |
| Max request timeout | 10 minutes |
| Local disk | In-memory only (no persistent local storage) |
| Sandbox | Restricted environment — limited system calls |
# app.yaml for Standard environment
runtime: python312
instance_class: F2
automatic_scaling:
min_instances: 0
max_instances: 10
target_cpu_utilization: 0.65
env_variables:
DATABASE_URL: "your-connection-string"
The Flexible environment runs your application in Docker containers on Compute Engine VMs. It offers more customisation — you can use any runtime, install native libraries, and write to local disk.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.