I am trying to figure out the best way to deploy a single google app engine application across multiple regions.
The same code is to be used, but the stored data is specific to each region. Motivating examples are hyperlocal review sites, like yelp.com or urbanspoon, where restaurants and other businesses to review are specific to a region (e.g. boston.app.com, seattle.app.com).
A couple options include:
Create multiple gae applications, and duplicate the code across them.
Create a single gae application, and store all data for all regions in the same datastore, with a region identifier field for each model delimiting the relevant region
Some of the tradeoffs:
option 2 seems like it will be increasingly inefficient (space: replicating a region identifier for each record of every model; time: filtering/indexing on the identifier for every query)
option 1 requires an app id for every region, while gae only allows 10 apps per account. Moreover, deploying the code across every region, as well as datastore migration, seems like it could be a pain to manage.
In the ideal world, I would have a single application instance. From that instance, I could route between subdomains (like here), as well as have a separate datastore for each subdomain. But I believe gae only allows a single datastore per application.
Does anyone have ideas on the best way to solve this problem? Or options that I am not considering?
Thanks for your time!