Blog


To the Cloud!

This past week I’ve been playing with Google AppEngine for a research project (SenseTheBeach).  So far, developing with AppEngine has been interesting (in a good way).   The platform enables you to run web applications on Google’s infrastructure - allowing you to scale easily. But in exchange for this scalability, Google has some restrictions on how your application can operate.

First, all “web” requests need to respond within 30 seconds.  So you can’t do something crazy like image processing or intense processing.  Instead, you should do your processing in the background through task queues (smart cron jobs) and have responses to web requests pre-processed.  Also, all external requests (emails, url fetch requests, etc…) need to be 1 MB or less.  This makes you strive for compression when dealing with communicating to an outside entity.  Finally, everything (processing, bandwidth, number of requests) counts towards your quota.  Of course you can pay to increase your quota, but at TakeFive, we like to be “efficient,”  so things like saving to a memory cache and then creating processes to eventually store aggregates to a database is the way to go.

Anyway when I first approached developing on the cloud, I thought I could do whatever I wanted and it would just work.  But actually it’s forcing me to be smart - which is a good thing.

Tags: , , ,

Leave a Reply