Scaling Apps on the Google App Engine

 
 
By Jeff Cogswell  |  Posted 2009-01-14 Email Print this article Print
 
 
 
 
 
 
 

Tech analysis: It's been almost a year since Google introduced the beta of its Google App Engine, and eWEEK Labs wants to see what applications have been built on the technology. While none have yet reached the size and power of Facebook or Twitter, some interesting tools have been built on Google App Engine. The technology may still trail others, such as Amazon Web Services, but Google App Engine shows promise as a viable platform for large Web-based applications.

When I first became aware of Google App Engine, I was skeptical. It seemed to have some severe shortcomings that would make it unable to match up to competitors, especially Amazon Web Services.

These perceived shortcomings included the fact that your Google applications do not have access to an entire virtual server setup in the way that, for example, Amazon.com's Amazon EC2 (Elastic Compute Cloud) does. On EC2, applications get an entire virtual private server, complete with an entire operating system of your choice (including Linux, Microsoft Windows Server 2003 and even Sun Microsystems' Solaris). The applications can then be written and compiled in any language supported by your chosen operating system, and run on the virtual server.

Google App Engine, on the other hand, limits you to a tightly controlled Python virtual machine. Your applications can only be written in Python, and you don't have access to a file system or any of the operating system features. And Python isn't a truly compiled language.

Click here to see some of the sites built on the Google App Engine.

Furthermore, unlike competitors' offerings, your Google applications don't have access to a full SQL-based database. Instead, if you want to use a database, you must use the Google Datastore.

As it happens, I was not the only one with these concerns. Many bloggers and reporters wrote about these issues. In response, many people came to Google's defense and offered explanations of why these were, in fact, not shortcomings at all, but rather just a different approach to a common problem of creating software that can easily scale and handle millions of users.

People could argue either side and present different ideas about whether Google's approach is good. However, without any real evidence, it was hard to back up either side of the debate. That said, there was one strong argument indicating the plan would work: Google's own products. It's no secret that much of the Google App Engine, or GAE, is based on the very same technology that powered Google's own products, including its search engine. For example, the Datastore was built using technology very similar to the database technology used behind Google Maps, Blogger and even the search engine itself.

Now, almost a year later, the evidence is starting to come in, although slowly. In this article I explore a few applications that developers have built with GAE, and then draw some conclusions about the current state of GAE.

Apps in action

Google itself provides a list of some "Editor's Picks" for applications. These are what people at Google consider among the best applications they've seen. For me, that's a good starting point, because such applications should (hopefully) show what the engine is capable of. You can see the list at the Application Gallery site.



 
 
 
 
Jeff Cogswell is the author of Designing Highly Useable Software (http://www.amazon.com/dp/0782143016) among other books and is the owner/operator of CogsMedia Training and Consulting.Currently Jeff is a senior editor with Ziff Davis Enterprise. Prior to joining Ziff, he spent about 15 years as a software engineer, working on Windows and Unix systems, mastering C++, PHP, and ASP.NET development. He has written over a dozen books.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...

 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel