views:

47

answers:

2

As asked here, I'm looking for a clean solution to setup a staging environment for my Google App Engine application.
Reading the new spec of Namespaces API, Google suggest that a possible use of this new feature is:

  • Creating Separate Datastore Instances for Testing and Production

In case I decide to use Namespaces for testing, could a stress test on Staging affect performance and reliability of my Production application?

Imagine a stress test that crawl and store a thousand of RSS feed in a FeedStored Model with transanctions on FeedStoreCounter and so on; could this activity on a staging namespace cause problem when the application try to do the same operation at the same time on the production namespace?
Also, do the different namespaces share the same quota?

+1  A: 
  1. A stress test should not affect performance. App Engine is meant to scale.
  2. Namespaced data (and app versions) share the same app quota.
moraes
@moraes I've slightly modified the question. I would like to know if the operations on different namespaces are kind of sandboxed and separated from each other. Quota problem: from what I see, depleting the CPU/hour quota with a stress test on staging namespace could cause serious trouble to the Production app.
systempuntoout
+2  A: 

All the data for all App Engine apps is stored in a single Bigtable. As such, data for different namespaces is just as distinct as data between different applications.

If you're also using a separate app version to serve your staging app, the two versions will be running on different app servers, too, so traffic to one version won't affect the other versions.

Nick Johnson
@Nick thanks. The only flaw I see with this staging approach is the quota shared between Staging and Production; a stress test on Staging could deplete the Cpu/hour for the Production for example. You don't have this sort of problem using a different app for Staging.
systempuntoout
Speaking of running separate apps for staging/production, could you please tell us if it is acceptable in regard to the TOS (section 4.4) ?
Franck
Yes, that's fine.
Nick Johnson