I saw the news of the Google App Engine this morning, and was wondering just exactly what it meant. It sounds promising, a full stack, fully scalable, incorporating Python scripting, Google's BigTable database and Google's file system.

The problem, I am an ASP / ASP.Net SQL Sever developer, and so python is completely alien to me. So, this evening I set out to give Google App Engine a go. As the 10000 signup places are gone all you can do is download the SDK - this is essentially the Google Apps Engine running on your own machine, so you don't actually need to sign up for the engine just yet. Make sure you've installed python before installing the SDK.

Once python and the SDK are installed, follow this tutorial. A couple of pointers to following this tutorial.

  • If you're doing this on Vista, you might get annoyed with security popups if you put your files in the Google Apps directory, so stick them somewhere else that isn't so secure, I put mine on my data drive, E:
  • When they say run this cmd line to start the web server, you need to open a cmd prompt, then enter dev_appserver.py and the path to your helloworld directory, so for me the final cmd looked like dev_appserver.py E:\appengine\helloworld
  • To stop the webserver they say to use Ctrl+C when the cmd prompt has focus, on Windows (or my laptop at least) you actually need to do Ctrl+Break
  • When talking about adding in static files to your application the tutorial is correct, but there is a bug in the SDK, so instead enter this in your app.yaml (see this thread)
    - url: /stylesheets/main.css
    static_files: stylesheets/main.css
    upload: stylesheets/main.css

Other than that you should be able to follow the tutorial and see the results.

So, what do I think? Well, on the face of it it looks promising. Obviously learning python is a major barrier, as is the fact that Bigtable is not a relational database, so I need to get my head around how that works in this environment (I'm guessing the theory is to have some kind of data access layer doing joins etc.) But, the benefits are equally attractive; free, scalable, hosting, highly configurable web applications, good API access to Google user accounts and email services.

I need to play with the SDK a bit more before I commit to using it for any of my current sites, but if things go well there is no reason not to, it is far easier to get started with than Amazon's offerings have ever been, well done Google!