Google’s Application Hosting Engine
June 26th, 2008 by rsinghGoogle’s new offering allows the talented python web developer to create and deploy a web application on it’s cloud of web servers. Although it’s currently in limited release, thousands of developers have signed on and there are numerous widgets and web applications that are up and running as of now.
Google’s App Engine allows anyone to “run [their] web applications on Google’s infrastructure.” The application environment lets first time users deploy their application on a free sub-domain on “appspot.com” or lets them use their own domain if they prefer. The cost to start is free and each account gets “500MB of storage and enough CPU and bandwidth for 5 million page views a month.”
To begin with, all applications must be written in Python as the base language and Google provides the popular code libraries as well as it’s own custom libraries that let developers talk to it’s Accounts and other custom systems. While in development, Developers can download a local web server environment to build and test their applications.
All that said and done, what does it really offer? Anyone can write Python web applications and build a scalable web farm (with the help of services like Amazon Cloud et. al). Google offers it’s Data Objects or entities which provide an easy framework for modeling, querying, and modifying data without having to write layers upon layers of code. This Data Objects API is reminiscent of the ActiveRecord design pattern in Ruby on Rails, and the LINQ system in .NET. Instead of “SQL”, however developers are directed to adapt their data skills to use “GQL” or Google Query Language. The datastore is very powerful because it’s simple, scalable, and does not have too steep of a learning curve.
There are other services, and they aren’t “revolutionary” but rather packaged nicely. Using built in API, any application can access remote websites using URL Fetch, send messages using Mail, manipulate Images, and utilize a scalable data caches using Memcache. Memcache is a caching solution that can scale across numerous servers. Part of Facebook’s scaling success is due to the fact that they use Memcache to store cached copies of data so that the database server isn’t taxed with the millions of “read only” queries. Having a “proper” memcache implementation readily available is as important in my opinion to the scalable “GQL Datastore” itself.
So now that you know what Google App Engine is, let’s take a look at some of the interesting and useful applications people have built.
TodoListr - A simple but useful example todo list application.
PlainLists - Another todo list application but follows David Allen’s GTD “contextual” task idea.
MyTextFile - Very easy to use AJAX text editor which saves all revisions.
If you logged in to see, these aren’t going to be gaining traction of millions of users. They are proofs of concepts of basic functionality such as Single Signon using the Google Account’s API and data storage and retrieval based on Google’s DataStore API.







blog