Today we are announcing the release of App Engine 1.9.0 which includes the General Availability (GA) of the Modules API, a new MapReduce library for Java developers, as well as improvements to the PHP runtime.

App Engine Modules is now Generally Available
We’ve solidified development of the App Engine Modules API and service and we’re happy to announce that Modules is now a generally available feature. With App Engine Modules applications can be split into logical components, where each component has its own set of performance settings, deployments, and versions. We’ve heard from customers that they benefit from the DevOps efficiency that App Engine provides, but need more granular cost and performance controls within their application. App Engine Modules provides improvements in both areas.

With per-Module performance settings, applications can be “tuned” to run more cost effectively. For example, the F4 instance and low pending latency configuration used for serving frontend traffic isn’t always the same configuration that one might use for batch-like data processing. By utilizing per-Module performance settings, the data processing workload can be configured to run on less expensive F1 instances with a higher pending latency threshold, thus driving down the overall cost of the application.

Since each Module has its own set of deployments and versions, DevOps teams can be more agile and efficient, updating or rolling back specific Modules within an application. When there are inter-application dependencies, updates that span an entire set of Modules can be made in lockstep. Integration between Modules is just as easy. All Modules within a given application are able to share services such as Datastore, Memcache, and Task Queues, as well as communicate in a secure fashion via a common auth model that spans the entire application.

If you’re looking to get started, checkout the App Engine Module docs (Java | Python) and samples (Java | Python).

MapReduce library for Java
We’ve seen many customers, both internal to Google and external, using App Engine’s MapReduce libraries and underlying autoscaling service to perform data processing tasks, such as data analysis, migration, and report generation. Today we’re pushing this functionality forward with a Preview release of the MapReduce library for Java that includes built-in integration with Google Cloud Storage and improved support for large datasets. In addition, we’ve also included a bunch of bug fixes.

As with many other App Engine services, there’s no need to set up and maintain dedicated data processing infrastructure. Just import the library into your existing app, implement your map() and reduce() functions, deploy a new Module, and you’re off and running! But don’t take our word for it, give it a try yourself with one of our samples.

Finally, we’ve been steadily making improvements to App Engine for PHP developers. Our PHP SDK now supports autoloading, which means fewer libraries to include and faster startup times for your application.

If you like to include PHP code fragments from Google Cloud Storage, you can now improve the security of your application by restricting file inclusions to a specific directory of a cloud storage bucket. We’ve also expanded support for working with Google Cloud Storage objects with the new CloudStorageTools::getContentType() and CoudStorageTools::getMetaData() methods.

We’ve also addressed an important bug - the SCRIPT_NAME and PHP_SELF environment variables have been corrected to reflect the typical implementation provided by popular web servers.

The complete list of features and bug fixes for App Engine 1.9.0 can be found in our release notes.

-Posted by Chris Ramsdale, Product Manager