Much has been made of what has become known as chaos engineering – the umbrella in which techniques such as Netflix’s famed chaos monkey (more here) resides. Collectively a set of techniques where parts of a system will be randomly or semi-randomly be disrupted in a manner reflecting component failure etc. to verify that system resilience holds true. As a strategy which could arguably be applied in a monolith world equally as it is typically used in a microservices context. The difference being the impact on a monolith will be potentially far greater. Regardless of monolith or microservice, this is typically a strategy when running at scale to confirm eveything is robust, and continues to be extremely robust. This kind of testing typically has to actually execute in a production environment as trying to simulate large scale systems is very difficult.
Alongside this, another form of testing/verification implemented in a production environment is the use of synthetic transactions. Whilst chaos engineering has a high profile, synthetic transactions are less so. But, as a strategy it is as equally important. Let me take you through why I say this, and the full potential of synthetic transactions if fully exploited.