medusa-ui/hydra

A/B testing via weights

Opened this issue · 1 comments

Consider load balancing as well as A/B testing:

If a microservice, with the same version, with /sample-a gets deployed twice - it should load balance between the two. 50/50 weights.

However if we deploy with a different version, the newest one should be deployed as 100/0 (all traffic going to the old one), unless otherwise specified.

We should have a UI to manage this, but also need to think about how versions of an app would get deployed and how we can reliably use these.

Medusa UI instances should have:

  • versions
  • awakening modes (is this useful?):
    • newest version wins (default) (3 instances w/ 2 versions, 1.01 (1, 0% traffic) and 1.02(2; each 50% traffic))
    • last deployed wins (3 instances w/ 3 versions, last deployed 100% traffic; effectively a failover)
    • equal share (3 instances w/ 3 versions = 33% of traffic each)