How to utilize Varnish for A/B Testing and Feature Rollout?

Posted by Ken on Server Fault See other posts from Server Fault or by Ken
Published on 2010-12-21T08:37:06Z Indexed on 2010/12/21 8:55 UTC
Read the original article Hit count: 433

Filed under:
|
|
|
|

Hi all,

wasn't really sure if this should go here on or stackoverlow - admins, please move if i'm mistaken (and sorry).

Today we have our web layer exposed to the world. We would like to add Varnish in front of our web layer to accelerate the site and reduce calls to the backend. However, we have some concerns and i was wondering how most people approach them:

  1. A/B Testing - How do you test two "versions" of each page and compare? I mean, how does varnish know which page to serve up? If and how do you save seperate versions on each page?

  2. Feature rollout - how would you set up a simple feature rollout mechanism? Let's say i want to open a new feature/page to just 10% of the traffic.. and then later increase that to 20%?

  3. How do you handle code deployments? Do you purge your entire varnish cache every deployment? (We have deployments on a daily basis). Or do you just let it slowly expire (using TTL)?

Any ideas and examples regarding these issues is greatly appreciated!

Thanks in advance.

Ken.

© Server Fault or respective owner

Related posts about reverse-proxy

Related posts about cache