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.
|First generation||Second generation|
Go 1.9 and Go 1.11
Go 1.12 (beta)
|Language extension and
system library support
|Python 2.7, PHP 5.5, Go 1.9: Whitelisted
extensions and libraries
Java 8, Go 1.11: Any extension or library
|Any extension or library|
|Supported APIs||Proprietary App Engine API||Open Source Cloud Client Libraries|
|External network access||Python 2.7, PHP 5.5, Go 1.9: Via URL Fetch API
Java 8, Go 1.11: Full access
|File system access||Python 2.7, PHP 5.5, Go 1.9: None
Java 8, Go 1.11: Read/write access to
|Read/write access to
|Language runtime||Modified for App Engine||Unmodified, open source runtime|
|Isolation mechanism||Proprietary||gVisor-based container sandbox|
App Engine first generation runtime support
There are no plans to deprecate the 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.