Ben Cherian’s blog

putting cloud computing to the test

Archive for the ‘turbogears’ tag

Solutions to Google App Engine lock-in

without comments

In a earlier post, I explained my concerns about lock-in surrounding Google App Engine (GAE). I was told by the Google team responsible for GAE that many external developers have seen this issue and are developing products to solve the problem.

Today, I stumbled across two possible ways to port your GAE code without rewriting the entire app. The first of which is a proof-of-concept called AppDrop. AppDrop allows you to to move your app from GAE to Amazon’s EC2 without rewriting a single line of code. Of course, because the infrastructure model is significantly different, you won’t enjoy the unlimited scalability of GAE database, but it will allow you to do a temporary move while giving you time to figure out which database technology to move to.

The more exciting option is to use Massimo Di Pierro’s web2py framework. In version 1.30, Massimo added GAE support to the ORmapper in web2py. While full web2py functionality won’t be possible due to GAE’s restriction on writing to the filesystem, it still allows developers to move code between completely disparate environments and database technologies (mySQL, PostgreSQL, Oracle, SQLite3, and Google Query Language) with relative ease. All you have to do is add an import line to your python script! Check out this video for more info.

I’d like to see other python frameworks such as django, TurboGears, and Pylons make this functionality a part of their feature set. Since django and TurboGears have reasonably, deep Google connections, I would guess that there has been some internal discussion of this before.

These products only deal with the database layer and not every Google-specific call like mail or authenication. My hope is that there will be some traction on this front as well. In any case, it’s a great sign that many people are working to make code portability a reality for GAE apps…and that’s good for everybody.

Written by ben

June 16th, 2008 at 3:01 pm