With the PaaS wars heating up, the Google App Engine team in addition to new features, did a great thing by addressing the bugs reported by the users on a war footing. The net result is that the latest release 1.7.2 addresses more than 130 bugs in addition to the increased storage for application code and files, Java threading support and announcing a Trusted Tester program for outbound socket functionality.
First up is the increase in application code and static files for paid applications. Paid Apps can now upload more than 1GB of such data and will be charged $0.13/GB per month. Keep in mind that the storage is calculated by aggregating all the versions of an application and not the current version. Applications can now fetch statistics for Task Queue, which would give them information on stats like number of tasks in queue, number of currently running tasks, enforced rate and more. Refer to the Task Queue Statistics page for more detail.
The App Engine platform gets complaints from Java developers for some of the restrictions that it puts in place. This release sees support for Java Threads which were earlier not allowed. These threads can actually outlive the request that created them and that could be significant in pushing up request/response times for certain web applications. Each request is limited to 10 concurrent request threads and there are restrictions in the way that you create threads, so read up the documentation. For Python developers, PyCrypto 2.6 is now fully supported as an option for third party libraries in Python 2.7.
In what is an interesting move, the App Engine team is inviting developers to apply for the Trusted Testers program for Outbound Socket functionality. Opening a socket or access another host directly is not permitted except via the URL Fetch Service to make HTTP and HTTPS requests. This feature could open up a host of possibilities.
This App Engine release is low key and keeps up with the tradition that the team is following this year with frequent releases. What strikes out in the last few releases is the team’s quest to introduce long requested features (SSL on custom domains) and now with Java Threads and the announcement of possible Outbound Socket functionality, areas previously thought of as not possible in App Engine are either already there or in the near road map.