Create the most scalable HelloWorld application in the world with Google App Engine
April 16, 2008
If you have the luck to use the programming language and technology that Google uses, then you can use Google App Engine to host your web application and scale almost indefinitely.
Google App Engine is very different to Amazons’s approach.
- it serves code, so no virtual machines
- for web applications only (based on WSGI). WSGI is the de facto standard interface between a web server and a web application or framework in the Python world
- App Engine includes Python runtime (version 2.5.2)
- pure Python, no C extensions allowed
- includes non-relational data-store. Something that feels like tuple spaces?
- plus usual administration stuff
You can start the most scalable HelloWorld application in the world with the following lines:
from google.appengine.ext import webapp class MyHandler(webapp.RequestHandler)
There will be nothing Google specific in the web part of your application. It is WSGI-based so you can host it at Google or within your own Apache HTTPD through mod_wsgi.
The bigger concern is this special data store, for which no open source replacement exist.
So you can not use a relational database with such distributed system like App Engine, but if you use this Google Datastore then you trapped into a dependency, that can not be removed easily. And introducing an additional abstraction layer for data access is not the way to success with a dynamic programming language, fast development and being happy.