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|
|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,
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
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
||Python 2.7, PHP 5.5: None
Java 8, Go 1.11: Read/write access to
|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
gcloudcommand support and the same GCP console interface
- Free tier
First to second generation runtime migration resources
- Migration guides available for each language runtime on Long-term Support page
- Migration "module" tutorial content (Python code samples, codelabs, videos; announcement)
- Community-contributed migration samples repo (announcement)