4 ms·
Or, one could test in production-parallel deployment. Clone all requests to a parallel test system, use the same production data for enrichment and validation f
by AppliedQuantum 2y ago
Or, one could test in production-parallel deployment. Clone all requests to a parallel test system, use the same production data for enrichment and validation for both, the current production system and the new one. And automatically compare the outputs from both systems for those fields that have to be the same between the systems, and test the expected changed outputs automatically.
Once there are no errors in the new system, you start switching over the systems in a controlled manner where the new system increasingly takes on the production role, and the old one still processes cloned requests for a while as a sanity check…
This way you don’t need an unrealistic staging environment, and you are not introducing any errors into production.
It worked more than 20 years ago when I architected this for a system that had to process 50M transactions every hour.
- K0balt 2y agoIf you rely on a card-processor or a banking API this has some limitations.
- AppliedQuantum 2y agoNothing’s stopping you from cloning those responses as well… Compare calls, clone responses.
- valicord 2y agoCharge customers twice?
- AppliedQuantum 2y agoI’m sure my former employer would have loved that. But no, you don’t send two requests. You compare the calls as they are generated, but you only send one - from the production system. And then you clone the response for the tested system.
- K0balt 2y agoYeah, that’s an obvious workaround that I somehow overlooked lol. I hope I haven’t made any decisions during my career based on that particular lack of imagination.