Tuesday, April 26, 2011

Migrating an App to High-Replication Datastore on Appengine

Google's Appengine now gives you the choice between the original master-slave datastore, and the new high-replication datastore. In a nutshell, high-replication provides more reliable storage (in terms of data security and latency) but has slower write times and costs considerably more.

The owners of almost all serious applications will choose the high-replication datastore. The extra cost is a small price to pay (literally) to escape the maintenance outages, datastore timeouts and high-latency requests that plague the master-slave datastore.

The following article explains how to switch a production application from master-slave to high-replication with the minimum impact on your users.

Saturday, April 2, 2011

Installing Multiple Versions of Python on Linux

The Google Appengine SDK requires at least version 2.5 of python, or else it spits the dummy. To compound matters, Google has announced that version 1.4.3 of the SDK is the last to support python 2.5, and all newer versions will require python 2.6. [Update: and now you need python 2.7 for multi-threaded apps.]

So how do you install later versions of python without impacting the system default version - which is required for all sorts of vital system services?