A lot has been made this week of the beta launch of Google App Engine, a piece of software that lets users run applications on top of a company's own Web infrastructure.
But what's inside the platform and how is it different from the more mature AWS (Amazon Web Services) platform? Essentially, application developers will be able to harvest the same tools and building blocks Google uses for its own applications.
Google App Engine offers dynamic Web serving, storage through Google's Bigtable database system running on its GFS file system, automatic scaling and load balancing, said William Fellows, an analyst with The 451 Group who examined the Google App Engine in a research report April 10.
Programmers' applications, which must be written in Python for Windows, Linux or Mac OS X, will leverage Google APIs for authenticating users and sending e-mail. Moreover, they will run in Google's Apps stack.
Amazon.com declined to comment about Google App Engine, but Fellows noted that a core difference between AWS and the App Engine is that AWS employs a loosely coupled architecture. Specifically, developers don't have to use Amazon.com's Elastic Compute Cloud, Simple Storage Server or SimpleDB together, while the App Engine is more of an all or nothing approach.
"The developer must be willing to run its entire stack on it; i.e., hand Google a URL along with their code, and trust Google to do everything else," Fellows said. "Unlike AWS, it isn't a virtual machine provider and doesn't give the user a raw virtual machine."
Google Gets Closer to Businesses
What this does is empower Google with another form of control. Businesses will get an entr??Â«e into a world of building Web applications they normally wouldn't have the bandwidth for; Google will get to know the companies, getting the skinny on whether they're a purchase fit.
The inflexibility is a good thing for application availability, said AdventNet CEO Sridhar Vembu, whose company owns the Zoho SAAS (software as a service) unit that competes with Google Apps.
Vembu said EC2 can host any Linux binary image that can include any kind of program written in any language available on Linux, providing great flexibility with a caveat: "If your program goes into an infinite loop and occupies 100 percent of its virtual CPU, AWS will simply let it burn up the CPU-hours."
App Engine meanwhile is basically a hosted middleware framework that imposes specific constraints on the kinds of program that can run on the service. The Google App Engine will run short-running Web applications but not stand-alone programs using multiple threads, such as Web crawlers.
"The flexibility lost by the developer comes with a huge benefit," Vembu wrote in a blog post April 10. "Because of the constraints imposed by the middleware framework, Google can make much stronger guarantees of your application availability than Amazon can."