Google App Engine - first impressions
Posted by Chris @ 10:20 pm
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!
3 Comments
Wednesday, April 09, 2008 9:04:00 am
Nice post, be interested for you to highlight some of te code differences and how the BigTable works a little more if it isnt relational.I'd read the news about the system a few days ago, but as you say being a .netter I don't think I'm going to get the time to investigate this much. But could be potentially useful for embedded web functionality
This comment posted by Anthony Main
Thursday, April 10, 2008 6:42:00 am
I'm a hack and I found Python easy to learn. Deploying stuff on Amazon is time consuming to learn but I'll continue to use their services.I think App Engine has great potential and python is an awesome language.
This comment posted by Anonymous
Saturday, May 31, 2008 5:34:00 pm
My experience so far with Google App Engine is that the mental shift from relational database to the Datastore API is much bigger than programming language X to Python.This comment posted by Anonymous
Post a comment