Google today upgraded their PaaS offering, Google App Engine (GAE). The new version, Google App Engine 1.4.0, is a significant release with some new features long requested by the developers. The new App Engine SDK will let developers take advantage of the newly released features. After starting off with just Python, Google App Engine supported Java in the next iteration. This was followed by their announcement about Google App Engine targeted towards enterprises. They then announced a partnership with VMware to make their Spring Framework work closely with Google App Engine. While Google went about enhancing these features in App Engine, there were some indications that Google App Engine was silently gaining traction among the developers. Even though there are some who are moving away from Google App Engine, there are some companies like Orangescape who have bet their offering on top of App Engine.
Some features in this new version includes:
- The Channel API – A bidirectional channel to communicate with the user browsers. This will now push notifications directly to browser rather than polling as happened previously. Imagine it to be some kind of real time communications which both the existing applications and newer ones can take advantage
- Always On – One of the biggest pain points in the previous versions of GAE was the need to reload an instance after it has been idle for some time (say, low traffic apps). Google, in order to consume resources, shuts down the instances that are idling for 30 seconds. So, if a new request comes after 30 seconds, it will launch a new instance and then serve the request. Some times it takes 15 seconds to serve a request which is ridiculous even for an unpopular low traffic application. Google now allows an always on option as a premium feature ($9 per month) and this feature reserves three instances of the application, never turning them off, even if the app has absolutely no traffic
- Warm Up Requests – This is like pre-emptive scaling or intelligent scaling (however you want to term it). This feature reduces time to serve requests by anticipating the need for more instances and loading them before user traffic is sent to the new instance. Once enabled, warm up requests will be sent whenever possible to load new instances of your application before it begins serving user traffic
Along with these features, Google has removed some limitations on the existing APIs. From now on, there is no 30 second limit for background work like requests from task queue and Cron. Now it can run up to 10 minutes without interruption. They have a new API architecture which allows them to increase the API call size limits. For example, Response size limits for URLFetch have been raised from 1MB to 32MB, Memcache batch get/put can now also do up to 32MB requests, Image API requests and response size limits have been raised from 1MB to 32MB and Mail API outgoing attachments have been increased from 1MB to 10MB.
Some of the features that are in the roadmap and will be available soon are:
- Enterprise Admin Console
- Professional Support
- Hosted SQL (Yesterday, at Seattle Cloudcamp, Googlers mentioned that it is already up and running and they are testing them)
- Custom domain SSL
PaaS space is getting interesting (see my PaaS is the future of Cloud Services series). Along with innovative startups like Heroku, Engine Yard, etc., companies like Google, Microsoft, Salesforce and VMware are competing hard. Watch out for interesting developments coming out of heavy competition among these vendors.
- Google App Engine Now Streamlines Push, Boosts API Limits And More (techcrunch.com)
- Google App Engine Gets Some Needed Upgrades (readwriteweb.com)
- Google upgrades its cloud platform (infoworld.com)
- NoSQL: Goodbye Google App Engine (GAE) (themindstorms.blogspot.com)
- Happy Holidays from the App Engine team – 1.4.0 SDK released (googleappengine.blogspot.com)
- 13 Reasons Why One Developer Dropped Google App Engine (readwriteweb.com)
- Hidden limitations of Google App Engine (stackoverflow.com)