views:

46

answers:

1

In Google App Engine we can have multiple versions of an app running at the same time. Our main version's link would be at appid.appspot.com and a different version would be at version.latest.appid.appspot.com.

Say I make a new version, but I only want 10% of my user base to see it for a while, to make sure any problems with it don't affect everyone that uses my site.

How can I do this cleanly?

The obvious way I can think of is that I would send a redirect to the new version for 10% of the users. But I don't think that is a good solution because then they would be browsing on a different domain and any bookmarks they make won't be valid later.

With normal infrastructure, a proxy that diverts 10% to the new version would be simple. How could I do this on the app engine though?

I suppose from the main version I could URL fetch the newer version and pass it along to the client, but would that be slow, and might it cause any complications?

+2  A: 

There's currently no way to do this with App Versions without a reverse proxy in front of your app that sends users to one version or the other. Your best option is probably to integrate the A/B testing support into your code, and switch features on and off based on which group you put a user in.

Nick Johnson