As well known, the most important parts of Test In Production (TiP) are:
I found the Shadow Deployment a promising approach.
With this approach, the V-next product is deployed in production side by side with the V-current. When customer request arrives, a clone of the request is routed to V-next for testing purpose. But the result is never returned to customer. Thus NO risk is exposed to customer. Once the V-next is ready, we can simply switch to it and tear down the V-current.
So it seems the critical parts are:
My questions are:
For the specific technology details, please check here: https://stackoverflow.com/questions/14599167/how-to-clone-iis-request-and-redirect-to-a-test-version-site
(Unfortunately, SO community deleted above post...)
Thanks!
Shadow Testing reduces risks when you consider replacing the current environment (V-Current) with candidate environment with new feature (V-Next). This approach is monitoring and capturing differences between two environments then compare and reduces all risks before you introduce a new feature/release.
A shadow deployment is a method of testing a candidate model for production where production data runs through the model without the model actually returning predictions to the service or customers. Essentially, simulating how the model would perform in the production environment.
Shadow Mode is one main building block that is going to be used for the validation of highly automated driving functions. Shadowing is generally considered as the analysis of functions that are implemented in the car and simulate driving actions/decisions, but do not execute them.
What is Shadow Mode? “Shadow Mode” or “Dark Launch” as Google calls it is a technique where production traffic and data is run through a newly deployed version of a service or machine learning model, without that service or model actually returning the response or prediction to customers/other systems.
We did this at Twitter using Diffy. Not only do you want to capture V-next, you also want to compare it V-current. Further, you want to aggreagate and denoise this comparison over thousands of samples to gain confidence.
A different approach for testing in production is to test on a low percentage of users or to open a new feature only to your QA team on production (dark launches).
There are many tools that can help you test in production, even on real users. Configz.io is a great tool for that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With