<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ben Cherian's blog &#187; django</title>
	<atom:link href="http://bencherian.com/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://bencherian.com</link>
	<description>putting cloud computing to the test</description>
	<lastBuildDate>Mon, 16 Mar 2009 11:31:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Solutions to Google App Engine lock-in</title>
		<link>http://bencherian.com/2008/06/solutions-to-google-app-engine-lock-in/</link>
		<comments>http://bencherian.com/2008/06/solutions-to-google-app-engine-lock-in/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 20:01:15 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[google app engine]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[pylons]]></category>
		<category><![CDATA[turbogears]]></category>
		<category><![CDATA[web2py]]></category>

		<guid isPermaLink="false">http://bencherian.com/?p=5</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://bencherian.com/?p=4" target="_self">earlier post</a>, I explained my concerns about lock-in surrounding <a href="http://code.google.com/appengine/" target="_blank">Google App Engine</a> (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.</p>
<p>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 <a href="http://appdrop.com/" target="_blank">AppDrop</a>. AppDrop allows you to to move your app from GAE to <a href="http://aws.amazon.com/ec2" target="_blank">Amazon&#8217;s EC2</a> without rewriting a single line of code. Of course, because the infrastructure model is significantly different, you won&#8217;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.</p>
<p>The more exciting option is to use Massimo Di Pierro&#8217;s <a href="http://mdp.cti.depaul.edu/" target="_blank">web2py</a> framework. In version 1.30, Massimo added GAE support to the ORmapper in web2py. While full web2py functionality won&#8217;t be possible due to GAE&#8217;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 <a href="http://www.vimeo.com/932708" target="_blank">this video</a> for more info.</p>
<p>I&#8217;d like to see other python frameworks such as <a href="http://www.djangoproject.com/" target="_blank">django</a>, <a href="http://turbogears.org/" target="_blank">TurboGears</a>, and <a href="http://pylonshq.com/" target="_blank">Pylons</a> make this functionality a part of their feature set. Since django and TurboGears have <a href="http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine" target="_blank">reasonably</a>, <a href="http://docs.turbogears.org/GSoC" target="_blank">deep</a> Google connections, I would guess that there has been some internal discussion of this before.</p>
<p>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&#8217;s a great sign that many people are working to make code portability a reality for GAE apps&#8230;and that&#8217;s good for everybody.</p>
]]></content:encoded>
			<wfw:commentRss>http://bencherian.com/2008/06/solutions-to-google-app-engine-lock-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
