App Engine 1.5.0: Google Adds 'Backends' for Java and Python
Google announced the release of App Engine 1.5.0 at its annual I/O conference, underway this week in San Francisco. The new version of the search giant's platform-as-a-service (PaaS) offering comes with some developer-focused features, including Backends for Java and Python, improved Task Queues and tentative support for the Go programming language.
Peter Magnusson, engineering manager in charge of Google's App Engine, called Backend -- special App Engine instances that have no request deadlines, and feature higher memory and CPU limits, plus a persistent state across requests -- a "potential game changer." Essentially, the capability opens the door for a new class of application that requires long-running and high memory processes, he said.
"Backends allows you to add your own services for your own applications," Magnusson told reporters during a press Q&A session at the conference. "Whenever you need long-running code or computational intensity or persistent state and it doesn't match directly to a combination of data store or memcache or even HTTP requests, it becomes very cumbersome to express it. With Backends you can very easily -- in fact, delightfully easily -- code that up."
Magnusson also fielded a question about Google's decision to support Go, an open source language released by Google back in 2009, instead of the more widely used PHP dynamic scripter. Google has described Go as "Python meets C++." Google's decision to provide what it calls "experimental support" for Go in this App Engine release generated some buzz at the show.
"Go was designed from the outset to be quick to compile," he said, "even with a very large application. That allows you to have a deployment model in a PaaS like App Engine, where you upload the source code and compile, link and run it. The compilation linking [with Go] is so fast, that it's just as fast as uploading the binary, or even faster. So it provides a fundamental benefit that Python and Java don't. That's why Go is an interesting addition, as opposed to some other languages that we might support in the future."
The App Engine SDK for Go is available now for download, and the company promises to enable deployment of Go apps into the App Engine infrastructure soon. Google is also inviting developers to sign up to be early testers here.
This release also comes with improvements to Task Queues designed to allow developers to build apps that control how tasks are executed and to easily share the work using the new REST-based APIs. "This API access expands App Engine's compatibility with other on-premise and cloud services," the company said in a statement, "furthering our commitment to an open development platform."
The Google App Engine ecosystem has grown tremendously since it launched in preview status in 2008, Greg D'Alesandre, senior product manager of Google's App Engine group wrote in his blog announcing the release. He claims more than 100,000 developers now use the PaaS monthly "to deliver apps that dynamically scale with usage without the need to manage hardware or software." App Engine now hosts more than 200,000 active apps that serve over 1.5 billion site views daily, D'Alesandre said.
App Engine is set to officially "graduate" from preview status in the second half of this year, D'Alesandre said, at which time the company will add "additional enterprise-grade features that allow us to support many more business application scenarios," he wrote, adding, "Graduation from preview status also indicates a longer term commitment by Google to the product and provides a deprecation policy whereby we will support prior versions of product APIs for a guaranteed amount of time, allowing applications written to prior API specifications to continue to function."