The microservice architectural style is gaining more and more prevalence in the industry when designing complex, cloud-based distributed systems. One of its guiding principles is design for failure, which means that a microservice is able to cope with failures of other microservices and its surrounding software/hardware infrastructure. This resilience is achieved by employing architectural resilience patterns such as circuit breaker and bulkhead, which have become core features of modern microservice technologies such as Hystrix, Kubernetes, and Istio.
Resilience benchmarking is a well-known method to assess failure tolerance mechanisms—for instance, via fault injection. Meanwhile, resilience benchmarking is not only conducted in testing environments, but also during a system's production use. Current resilience benchmarking practices are ad-hoc and based on random fault injection. For instance, the Simian Army shuts down or manipulates randomly selected (virtual) servers or data center regions. On the other hand, efficiency is one of the desired properties of fault injection, aiming to keep the number of experiments at an adequately low level to save time and costs. In this talk, we outline the vision and the current state of our ORCAS* project for efficient resilience benchmarking of microservice architectures. The approach exploits knowledge about the relationship of resilience patterns, antipatterns, and suitable fault injections, as well as the system's architecture to generate resilience experiments, combining simulations and testing/production-level benchmarks. ORCAS can be used to detect resilience antipatterns and to assess the effectiveness of present resilience patterns. The expected benefit is that the number of benchmarks to be executed against the real system are considerably reduced while achieving comparable or better benchmarking results.
*The name ORCAS has been chosen based on the analogy to the killer whales known for their coordinated and prey-specific hunting strategy.
The ORCAS project is funded by the Baden-Württemberg Stiftung (ORCAS Project) as a part of the elite program for early career researchers.