Google accelerated its cloud computing service with the new version of Google App Engine 1.5.0 launched with the effort of the engineers to make it on time for Google IO took place this week in San Francisco.
The new features includes Backends, Pull Queues, Default High Replication Datastore, 500/s processing rate Task Queue, Code downloads, and Go Programming Language runtime and SDK.
According to official Google App Engine Blog, before Backends come out all App Engine applications have been running on short-lived dynamic instances. Developers needed to spin up and down in response to application requests. This is great for building scalable web applications, but has a number of limitations if developers are looking to build larger, long-lived, and/or memory intensive infrastructure. Backends will allow developers to do precisely this. Backends are developer-controlled, long-running, addressable sets of instances which are as large as the developer specifies. There are no request deadlines, they can be started and stopped (or dynamically start when called), they can use between 128M and 1G of memory and proportional CPU. They can also be configured to consume more memory and CPU than ordinary dynamic instances.
Most of Google App Engine users are heavily using Task Queues in their applications today, but there is lots of room for more flexibility. Pull Queues is to allow developers to “pull” tasks from a queue as applications are ready to process them, rather than relying on Task Queues to push tasks at a pre-configured rate. This means developers can write a Backend to do some background processing and pull 1, 10, or 100s of tasks off the Pull Queue when the Backend is ready for more. In addition, Google introduced a REST API which will allow external services to do the same thing. For example, if developers have an external server running to do image conversion or OCR, they can now use the REST API to pull tasks off, run them, and return the results. In conjunction with these 2 improvements, Google have also increased the payload limits and processing rate. Google says they are excited both about expanding the use of Task Queues as well as improving the ease of integration between App Engine and the rest of the cloud. Pull Queues allows for more control over task queue work rates. To use pull queues, developers need to include the 'mode' element in your queue.xml.
Task Queue payload limits have been increased. Queues support 100KB per task. Within App Engine, the new limit is 32 MB per batch of tasks. With the REST API the limit is 1 MB per batch.
HTTP request and response sizes have been increased to 32 MB.
Google have removed the rate quotas for requests, datastore operations, memcache operations, and image API operations for Google App Engine. Resource quotas still apply.
High Replication Datastore has become default. After months of usage and feedback on the High Replication datastore (as well as a record of 99.999% uptime so far) Google said that they are now confident that it is the right path forward for the majority of our users. There are two things about HRD: setting HRD as the default for all new apps created, lowering the price of HRD storage from $0.45 down to $0.24. Google encourages developers to begin plans to migrate. Developers that still wish to use the Master/Slave configuration must explicitly choose this option at application creation time.
The Task Queue maximum configurable processing rate has been increased to 500/s.
Modified Dashboard latency graphs to indicate they only include dynamic requests.
Code downloads allows developers to download an Application’s source code to include both the user who uploaded the code to download it as well as the Owner(s) of the project as listed in the Admin Console. Owners were introduced in 1.4.2 as an admin role.
Google have added two restrictions to the Mail API to improve the reliability of the service for all applications.
Emails must be sent from email accounts managed by Google (either Gmail or a domain signed up for Google Apps).
Reduced the number of free recipients per day from 2000 to 100 for new applications.
At the last, Google introduced the Go Programming Language as a new and experimental runtime for Google App Engine. Go is an open source, statically typed, compiled language with a dynamic and lightweight feel. It’s also an interesting new option for App Engine because Go apps will be compiled to native code, making Go a good choice for more CPU-intensive tasks. Google App Engine SDK for Go is available for download, and Google will soon enable deployment of Go apps into the App Engine infrastructure. Those who want to start early can sign up to be first through the door when Google open it up to early testers.