Google Tunes Up App Engine Cloud Platform with Focus on App Availability
Every now and again, an engine needs a tune-up. With the Google App Engine 1.4 release, Google is tuning up its application delivery platform with new availability and real-time capabilities for deploying on Google's cloud.
The new features expand Google's push to attract developers to App Engine and to compete against rivals like Amazon in the cloud application delivery market. Overall, the App Engine platform is now generating approximately 1 billion page views on a daily basis, according to Google.
New API for Push Notification
One of the notable new offerings in the App Engine 1.4 release is a channel API.
"The channel API is a tool that developers can use to push notifications and content directly into the browser," Sean Lynch, product manager for Google App Engine told InternetNews.com. "The nice thing about it is you can start to build services that require real-time notification of events, like multiplayer games or any real-time collaboration software."
Lynch noted that in previous versions of App Engine, applications could poll for new events but that was an inefficient approach. Lynch explained that the infrastructure behind the channel API is based on what Google has used for its Google Chat service.
Google App Engine Availability Enhancements
From an availability perspective, Google App Engine 1.4 is adding new Always On capabilities. Lynch noted that there is latency involved with loading new instances of an application on App Engine. With Always On, paying users of the App Engine service can reserve instances to make sure that they are available at all times, even if the application has low traffic.
App Engine instances are not separate virtual machines that Google loads and unloads.
"What that means is we're not doing anything with virtual machines, it's really Google's special sauce handling these little sandboxed instances of applications and bringing applications up and down very transparently to the developer," Lynch said.
Overall, Google has efforts underway to try and keep startup latency of new machines as low as possible. In addition to Always On, App Engine 1.4 also includes the capability for warm-up requests to further reduce load time.
"We will start sending the loading requests before we send user requests," Lynch said. "It will hide some of the loading latency associated with spinning up new instances."
No new language support was added with the App Engine 1.4 release, though Lynch noted that many users have requested PHP. He added that App Engine does support any language that can be support on the Java runtime, which includes JRuby for running Ruby on Java.
Lack of Images Raises Portability Questions
App Engine does not have an image mechanism like Amazon's EC2, which has the AMI (Amazon Machine Image) format for application portability.
"It's tough to think of App Engine as an image. You can think of it as a deployment of a set of code for an application," Lynch said. "You are sending us all the copies of your files and we're running them on our servers."
The issue of image formats is an important one for some developers, as image formats imply application portability. While App Engine does not have an image format, Lynch explained that applications are still portable on the platform.
"When talking about App Engine portability, we want the APIs and the services that you're using to be backed by as many industry standards as possible," Lynch said. "The application isn't portable in the sense that you pick up an image and drop it into another service, but it is portable in the sense that it is using the libraries, tools and packages that you'd also use if you dropped the app in Tomcat."