Google AppEngine – A Concept Prototyping Playground

In my opinion Google’s AppEngine is a application prototypers dream. Up until just now I was tossing up whether to code a prototype or ConceptBuzz in PHP or RoR, even though I had a predisposition to building components of it using python. This was purely for the reason that I was being conservative with regards to economics – it’s cheap to get PHP hosting (and in general if you have cpanel hosting, you get RoR as well) so I was leaning that way.

Google AppEngine

I’d investigated Amazon’s EC2 offerings, but wasn’t yet ready to part with some of my hard earned cash on something that I optimistically hoped would be successful (but really had no business case). Additionally, I would have to spend development time on obtaining and deploying an EC2 instance to serve either Python, PHP or RoR. In addition to this, if I had gone down the EC2 path, I would probably have used SimpleDB as storage, and to be honest, I really wasn’t all that taken with it. Really, I’m sure it’s very good, but I really do want to have some relationships represented in my database.

Now that I have discovered AppEngine (and had a good read of the terms and conditions of the site, making sure that Google don’t take any ownership of application IP deployed to their “Service” as they put it), I feel this is an excellent option and one I will pursue with much haste. Why you ask? Well…

Cost
Google offer AppEngine (at least at the moment) with a very generous free quota (some changes are planned on the 25/05/09) on both CPU time, data transfer and other related services. Even with the reduction in some of the free quotas, Google make the assertion that the free quotas should still enable an application to serve 5 million page views per month – personally I think that’s fantastic.

Datastore API
The datastore api that is integrated into AppEngine is far superior (IMHO) to Amazon’s SimpleDB. Indexes, keys, strong types, etc, etc are all supported. For someone who is working with RDBMSes this all feels a lot more comfortable.

Other APIs
The other APIs that are described in the documentation, position me in an excellent position to be able to deliver my ConceptBuzz application:

  • URLFetch – very helpful for communicating with the social bookmarking sites I’m going to use to track buzz.
  • Image Processing – offers some rudimentary image processing functions. For ConceptBuzz, I’m going to need more in-depth functions, but hey it’s a start.
  • MemCache – API to assist with caching and thus improving peformance of an application.

      So I guess in short, I’m very impressed. Now if anyone knows what the catch is… please let me know… If the only catch is I have to code in Python, well for me, there is no catch :)

      Updates
      2009-03-23
      Updated conceptbuzz.net links to www.conceptbuzz.net as I’ve moved some hosting to the Google AppEngine.

2 Responses to “Google AppEngine – A Concept Prototyping Playground”

  1. [...] AppEngine at the moment, would be well aware that whilst it is pretty amazing (as I indicated in a previous post) it does have it’s [...]

  2. [...] I’m not a Ruby fan – I prefer Python anyday – mainly because I am actively using Google AppEngine to write web applications right now and I’m using Python for [...]

Leave a Reply