Application resiliency using fault injection
Fault injections are used for testing the recovery capability of applications in case of any kind of failure. In principle, every microservice should be designed with in-built resiliency for internal and external failures but often, that is not the case. The most complex and difficult work of building resiliency is usually at design and test time.
During design time, you must identify all known and unknown scenarios to which you need to cater. For example, you must address the following:
- What kind of known and unknown errors might happen inside and outside of the microservice?
- How should each of those errors be handled by the application code?
During test time, you should be able to simulate these scenarios to validate the contingencies built into the application code:
- Mimic in real-time different failure scenarios in the behavior of other upstream services to test the overall application behavior
- Mimic...