Reputation: 7215
How portable are applications for the Google App Engine? Are these bound forever on the GAE?
Upvotes: 15
Views: 3298
Reputation: 14292
There is software that will run App Engine applications outside of Google, the two most prominent are AppScale and TyphoonAE.
Upvotes: 13
Reputation: 708
I have been developing for the app engine (java) for couple of months now.
Theoretically, if you stick to standards such as JPA or JDO for data access
and don't use advanced features such as Task queues, you shouldn't have much
problem in porting your app to another environment.
Having said that, I often find myself using low-level google apis for datastore access to avoid nightmarish performance issues. The side-effects of this problem can be reduced to an extent if your app design has a modular data access layer.
On another note, if I have an application working smoothly on app-engine, I can't think of any reason to move it anywhere else.Upvotes: 0
Reputation: 12895
If you do not use Google's own WebApp framework, but rely on more standardized tools (I'm not saying Django here), there are only few things to isolate from core application logic and make pluggable/swappable:
In my opinion - worth a try.
Upvotes: 5
Reputation: 59
You can use gae2django to convert AppEngine applications to Django application.
As mentioned in this article http://code.google.com/appengine/articles/pure_django.html
gae2django http://code.google.com/p/django-gae2django/
Upvotes: 3
Reputation: 844
If you use Django 0.96 you can move your code to a different host after some minor work. You will need to change port your Models from datastore to another database. You will have to stop using the google provided User class and possibly other google specific APIs.
I have ported Django apps to GAE without much trouble.
Upvotes: 1
Reputation: 112356
As a good consultant, I'd say the answer is "depends."
First of all, you can always run a GAE project in the SDK. So to that extent you're not bound. Beyond that, it depends on what other APIs you use. The webapp library is very much like some others, but I don't think it's available as a standalone; however, GAE supports Django as a web framework as well, and that of course is available stand alone.
The code is just Python. But some of the APIs, like the data API, are really meant to interact with the Google cloud; you can't be sure you can move an arbitrary GAE program to another platform without rework.
Upvotes: 2