Migrating off AppEngine
I have an application running on AppEngine that uses about 50 CPU hours a day. Most of it is spent waiting for the datastore.
I am contemplating moving it off of AppEngine to something like Rackspace Cloud Servers because I think that my application can be more efficient if I can offload some of the work to the database (plus I can add more features that would be difficult to implement on AppEngine).
So, how would I go about moving an AppEngine app? It is developed with the webapp framework and does not use many Google APIs other than the datastore. Ideally I would be able to keep the webapp code and swap out the db classes for something that would talk to another database (MySQL or PostgreSQL is probably preferable to something like CouchDB or MongoDB, but those could work too).
UPDATE: In response to the comments below... 开发者_Go百科I have run plenty of web applications before. I have not run production python apps before. I assume setting up the python / webserver aspect is fairly simple. My hope for going with something like Rackspace Cloud servers is that it will be 1 "server" that I can just add resources too as we grow. We are currently doing about 200k hits a day.
As for AppEngine optimizations, we are using memcache where we can (not many places). We are also using Tasks, and while that helps get around request timeouts, it adds to the resources used.
My primary question is a good python alternative for the data layer that might require the fewest code changes. Though I also know there are probably some relevant questions that I am not thinking to ask.
If you can redeploy to appscale, you won't have to rewrite any of your App Engine code.
You can use TyphoonAE, which is based on the SDK, and designed for small to medium scale deployments - eg, individual servers to small clusters - and should be fairly easy to set up.
Sorry to see you go.
精彩评论