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.”
Google App Engine or AWS?
So, should a business pick AWS or Google App Engine, or something more familiar? Some feel that these nouveau Internet companies have a ways to go before challenging the old guard of business computing.
In response to an April 7 eWEEK story on the Google App Engine, an anonymous reader whose company has used business services from Google and Amazon said Google is not so much challenging Amazon.com as the entrenched companies like IBM that have been providing data storage and application hosting for decades.
“With IBM you get to talk to a person,” the reader wrote. “With Google and with Amazon the interaction is via e-mail with Tier 1 support personnel and not at all suited for ‘mission-critical’ applications. Reported problems take days to even receive a response, much less for action to be initiated by technical staff.
“These new services may be priced to be attractive to the CFO but heaven help the CIO that puts critical applications in the hands of either company,” the reader added.
Whether or not Google or Amazon.com will address those issues is a question for the future. And it will be interesting to see what Microsoft brings to the table with the Dryad parallel computing system and its SQL Server Database Services in 2008.