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 Node.js PHP 7 Ruby 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 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.