Google App Engine Builds Steam, Updates Datastores and Task Queues

The App Engine team is on a roll. A month since we covered its earlier release, the popular Platform as a service offering from the search giant has another release. The latest release focuses more on several bug fixes with a set of key features that cover Production deployments, Task Queue and Datastore changes.

The new release, as outlined on the App Engine blog, gives the developer some more control over how your application responds in production. A while back, App Engine addressed the issue of high initial request latency by introducing idle instances. With the new release, you can now specify the minimum pending latency and the maximum number of idle instances for your application.

The Datastore service also has some key changes. First up, you can now query your datastore statistics by namespace. The next important change is that that datastore developers are aware of and which is a possible solution to the exploding indexes problem and the need to provide custom indexes when doing any sort of complex querying. The SDK will now recommend better indexes and the announcement mentions of an upcoming article that will discuss this and further datastore optimizations in more detail.

The Task Queue which allows you to perform tasks in the background also has some added features. The Administration Console has added information and headers for the Task runs, Enqueued Tasks and payloads. Pull Tasks, which allow your application or another external application to lease tasks at a specific time have two enhancements: You can now extend the lease on the tasks if the initial lease was not sufficient and the size for pull tasks has been bumped up to a maximum of 1MB now.

Currently, App Engine supports the Python and Java runtimes and has experimental support for the Go runtime. If you are interested in Go, this release brings support of the Go runtime to all High Replication Database applications.

There were several bug fixes and enhancements done as part of this release. Please refer to the release notes for Python and Java for more details.