Requests over a network to an API can be delayed for many reasons e.g. network congestion or excessive server load. For applications to be resilient they must be designed to handle these inevitable variabilities and tested to ensure optimum end user's experience, even when the back-end APIs are not working properly.