The recently announced Java 8 support in Google App Engine Standard Environment is an important milestone. However, it is frankly a bit overdue and more importantly it may obscure some important changes that were made to the underlying infrastructure resulting in a new developer experience (DX).
Part of what’s new here is that Google is transparent about the developer runtime implementation : OpenJDK 8 and Jetty 9. While App Engine’s strength has always been to offer a local SDK development environment, production implementation details make it even more valuable.
The App Engine “Standard Environment” does not rely on VM technology and this Java 8 runtime is just the first one to take advantage of a foundational new infrastructure. As noted by beta users, there is a good chance you will see better performance and lower resource consumption. But of course YMMV.
While these implementation details are worth noting, more importantly they come with massive infrastructure improvements and a new developer experience.
If you paid careful attention to the announcement you’ve read “take advantage of everything that OpenJDK 8 (…) have to offer”. What this really means is that as a developer you can now utilize any Java class — no longer just a list of blessed APIs — as well as any threading model that you or your favorite library cares to use. This is a significant departure from the time when PaaS meant developers had to pay for the advantages of auto-scaling by dealing with the drawbacks of forced adherence to API constraints.
Whether you’re looking at going full on with microservices or simply splitting your development into multiple units of deployment, App Engine built-in services and versioning (which have been available for some time) remain a flexible yet very powerful set of features.
gRPC as a microservices communication technology is gaining serious popularity but it can be tricky to use in a cloud environment where statelessness is the norm. Fully-supported outbound gRPC services in this release is another part of the revamped DX along with Google Cloud Java Library support via Maven or Gradle.
With such an improved developer experience it’s time to revisit App Engine with an open mind. And if you feel strongly about PaaS not being right for you, consider App Engine to to be serverless, because it is!