Which strategy should I use for App Engine First-Generation Runtime Deploy Deprecation on January 31,?
As of 2026-03-27, this has already occurred: new deployments of App Engine standard first-generation runtimes are blocked. Teams still running Python 2.7, Java 8, Go 1.11, or PHP 5.5 apps must choose an in-place migration path or a replatform path before decommission risk tightens further.
Blockers
- New deployments of App Engine standard first-generation runtimes are blocked after the deprecation date passed.
- New deployments of App Engine standard first-generation runtimes are blocked after the deprecation date passed.
- New deployments of App Engine standard first-generation runtimes are blocked after the deprecation date passed.
- New deployments of App Engine standard first-generation runtimes are blocked after the deprecation date passed.
- runtime/python-2-7 — EOL 2027-01-31
- runtime/java-8 — EOL 2027-01-31
- runtime/go-1-11 — EOL 2027-01-31
- runtime/php-5-5 — EOL 2027-01-31
Who this is for
- serverless
- low-ops
- enterprise
- cost-sensitive
Candidates
Migrate in place to App Engine standard second-generation runtimes
As of 2026-03-27, App Engine standard first-generation runtime deployments for Python 2.7, Java 8, Go 1.11, and PHP 5.5 are already blocked because the deprecation date of 2026-01-31 has passed, although existing apps still receive traffic. Google Cloud's runtime support schedule shows these first-generation runtimes are decommissioned on 2027-01-31, so this path buys continuity but not indefinite delay. Supported App Engine standard targets now include Python 3.10 to 3.14, Java 17, 21, and 25, Go 1.25 and 1.26, and PHP 8.1 to 8.5. App Engine pricing still applies here: for example, F1 is free for the first 28 instance-hours per day then 0.05 USD per hour, F4 is 0.20 USD per hour, and Google states the same pricing and quotas apply to bundled services used from first- and second-generation runtimes.
When to choose
Use this when you want the smallest operational change and your app still fits App Engine standard constraints. It is the decisive choice when preserving App Engine deployment shape, URLs, and some legacy bundled-service compatibility matters more than full container portability.
Tradeoffs
Lowest replatforming overhead and some bundled-service compatibility remain available, but you still have to modernize language/runtime code and often replace proprietary APIs over time. You also remain inside App Engine's opinionated platform model.
Cautions
Do not assume all legacy bundled services carry over unchanged. Google documents only a subset for second-generation runtimes, and many migrations still require replacements such as Cloud Tasks, Pub/Sub, Memorystore, Cloud Storage, Cloud Logging, or client libraries.
Replatform to Cloud Run and replace App Engine bundled services
Google's migration center recommends evaluating Cloud Run for modernization, and its App Engine comparison guide says Cloud Run is the preferred alternative for new Google Cloud users. Cloud Run supports source or container-image deployment, immutable revisions, sidecars, scale-to-zero, configurable request timeouts up to 60 minutes, up to 8 vCPU and 32 GB memory per instance, and optional GPUs. The same comparison guide states Cloud Run uses request-based or instance-based billing and supports committed use discounts, but exact current charges should be checked in official pricing docs. The major blocker is compatibility: Cloud Run does not support App Engine legacy bundled services, so those integrations must be replaced before cutover.
When to choose
Use this when you are already doing meaningful code or dependency surgery and want a more portable long-term platform. It is the decisive choice when you need container control, sidecars, GPUs, regional flexibility, or want to exit App Engine-specific service dependencies.
Tradeoffs
Better long-term flexibility and broader workload support, but migration scope is usually larger because you must replace App Engine-specific APIs and revisit deployment, health checks, and revision semantics. This path can reduce future lock-in at the cost of a bigger near-term project.
Cautions
Plan for bundled-service replacement work first, not last. Cloud Run does not provide App Engine legacy bundled services, and Cloud Run revisions are immutable and named differently from App Engine versions, which can affect release tooling and rollback assumptions.
Try with your AI agent
$ npm install -g pocketlantern $ pocketlantern init # Restart Claude Code, Cursor, or your MCP client, then ask: # "Which strategy should I use for App Engine First-Generation Runtime Deploy Deprecation on January 31,?"