DEV Community

Cover image for What’s the difference: A/B Testing VS Blue/Green Deployment?
David J Eddy
David J Eddy

Posted on

What’s the difference: A/B Testing VS Blue/Green Deployment?

Cross posted from my blog.

Introduction

In today's technology world many words and phrases come and go and even change meaning depending on the context. In this article we look at two similar sounding, and somewhat related, distinct terms: A / B Testing and Blue / Green Deployments.

A / B Testing

Sourced from https://www.optimizely.com <- Cool people.

What is it?

As explained by Wikipedia A / B Testing is comparing two version of the same subject and measuring the resultant responses. Chevy or Ford? Both are car makers, both make sedans, both have 4 doors and seat families. One has tinted windows while the other has a fancy radio. Which do you pick? Congrats, you have just been exposed to A / B Testing (contrived, I know, but you get the point I hope). Two very similar things, slightly different, measure user response rate.

What it is not.

It is not a magical marketing tool, nor an engineering fix-all. 

Blue / Green Deployments

Sourced from https://martinfowler.com/ <- Smart dude.

What is it

"Blue-green deployment is a technique that reduces downtime and risk by running two identical production environments called Blue and Green."- cloudfoundry. Could not have said it better myself. Two environments, both production. One might have version 1.0.0 (green) while blue has 1.0.1. Many times traffic is slowly increased to blue while watching for errors or undesirable changes in user behavior. Once all the traffic is moved off from the green (1.0.0) version the environment is shut down. At that point "blue" becomes "green" and the cycle starts over.

What it is not.

It is not a magical engineering tool, nor a marketing fix-all. 

Comparison

What I would like to do sometimes.

What is Similar

Two versions of the same core product is functional at the same time. Measure response and react accordingly. A successful A / B testing result may directly lead to a Blue / Green Deployment. A failed Deployment may lead to additional A / B Testing feature requirements

What is Different

A / B is a behavior monitoring paradigm. Blue / Green is an engineering process. That's it. The two can, and often are, used together with the same end goal: improve the user experience in regards to the product.

Additional Resources

Blue / Green Deployments:

A / B Testing

Conclusion

Like many topics in niche eco-systems concepts can have different labelling  but mean the same across other niche arenas; or be totally different though they share the same name (*cough * Lambda *cough*). Be mindful of the context and audience when using narrowly scoped concept labels.

Top comments (1)