I recently had to port one of my applications, which makes heavy use
of the Data Store API, to run outside AppEngine. A client needed the
ability to install the application on their own internal web servers
(Apache+mod_wsgi).  Thankfully I wasn't using any GQL, so I was able
to write a very simple drop-in replacement for the
google.appengine.ext.db module. I replaced memcache with a null API
that just returns None for everything, eventually I'll have the client
install memcached and link in a real API. These modifications allowed
me to deploy the application to an Apache server with almost zero
changes to the application's code base.  In fact the only changes were
the import statements, (from myapp_wsgi.lib import db) which selects
either my standalone db module or google's based on a config file.

The AppEngine SDK obviously includes a free standing db module, but
without fully understanding the code base I wasn't willing to deploy
it in a production environment.  However, the simplicity of replacing
the ext.db API (or at least a subset of it) got me thinking about
writing a back-end for Amazon's S3, and running my app on EC2.  I
could also imagine back-ends that tie into a relational database such
as MySQL (though I'm not immediately sure of the utility there). I
like developing on AppEngine, but I would like it even more if I could
easily move my applications from AppEngine to a client's server to EC2
and back without major refactoring.  Managing servers sucks, which
makes App Engine amazingly simple, but sometimes you need more
flexibility.

Are there any existing libraries that allow one to use the Data Store
API without being tied to AppEngine? Does anyone see utility in such a
library? I'm not thinking of an abstraction layer, more a drop in
replacement for the API.  The App Engine SDK is released under the
Apache License so I don't see any immediate legal issues, but perhaps
I'm missing something?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to