App Engine standard environment runtimes

The App Engine standard environment has two generations of runtime environments. The second generation runtimes significantly improve the capabilities of App Engine and remove some of the limitations of the first generation runtimes. This page describes the similarities and differences between the first and second generation runtimes.

Second generation First generation
Supported languages Python 3
Java 11
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
Language extension and
system library support
Any extension or library Python 2.7, PHP 5.5: Allowlisted
extensions and libraries
Java 8, Go 1.11: Any extension or library
Supported APIs For accessing Google Cloud services,
use Open Source Cloud Client Libraries
Proprietary App Engine APIs
For data persistence, use Cloud Datastore (Python developers can also use Cloud NDB), Cloud Firestore (requires new project), or Cloud SQL.
Datastore App Engine API
For image processing, Imgix is recommended.
Otherwise, use Rethumb if you prefer having a free tier.
Images App Engine API
For messaging, use a third-party mail provider such as SendGrid, Mailgun, or Mailjet. Mail App Engine API
For caching app data, create a Cloud Memorystore instance and connect it to your app using Serverless VPC Access. Memcache App Engine API
For searchable document indexes, host any full-text search database such as ElasticSearch on Compute Engine and access it from your service. Search App Engine API
For push queues, use Cloud Tasks.
For pull queues, use Cloud Pub/Sub.
Task Queue App Engine API
For user authentication, use any HTTP-based authentication system, such as OAuth 2.0, or Firebase Authentication. Users App Engine API
External network access Full access Python 2.7, PHP 5.5: Via URL Fetch API
Java 8, Go 1.11: Full access
File system access Read/write access to /tmp Python 2.7, PHP 5.5: None
Java 8, Go 1.11: Read/write access to /tmp
Language runtime Unmodified, open source runtime Modified for App Engine
Isolation mechanism gVisor-based container sandbox Proprietary

App Engine first generation runtime support

There are no plans to deprecate additional App Engine first generation runtimes at this time. The second generation runtimes represent the future direction of App Engine; however, developers and customers using the first generation runtimes will continue to receive support and feature updates.

Similarities between first and second generation runtimes

  • Nearly instantaneous scale-up time to respond to traffic spikes
  • Applications are built using the same build process
  • Same SLA for GA services
  • Identical gcloud command support and the same GCP console interface
  • Free tier

First to second generation runtime migration resources