ResilienceBench-Operator: A Kubernetes Extension for Systematic Evaluation of Microservice Resilience Patterns

Authors

DOI:

https://doi.org/10.5753/jserd.2026.6965

Keywords:

Resilience Patterns, Microservices, Kubernetes Extension, Benchmarking

Abstract

Microservice-based applications commonly employ resilience mechanisms such as Retry and Circuit Breaker to mitigate failures in service-to-service communication, yet configuring these mechanisms involves complex trade-offs between reliability and latency. Systematically evaluating these trade-offs in cloud-native Kubernetes environments remains a challenge due to the lack of tools supporting controlled, reproducible resilience experimentation. This paper presents ResilienceBench-Operator, a Kubernetes-native extension of the original ResilienceBench framework that enables in situ benchmarking of resilience mechanisms directly on microservice applications deployed in Kubernetes. The operator preserves the declarative evaluation-space model of ResilienceBench while integrating scenario generation, environment reconfiguration, fault injection, workload execution, and metric collection into Kubernetes through Custom Resource Definitions, controllers, and jobs. The paper formalizes the underlying scenario-based evaluation model, details the design and implementation of the operator, and demonstrates its capabilities through a controlled benchmark experiment on the Online Boutique application, covering hundreds of automatically orchestrated evaluation scenarios across multiple workloads, failure levels, and retry configurations. The experimental results reveal nuanced performance--reliability trade-offs and show, through Pareto-frontier and correlation-based analyses, how retry parameters affect checkout success and tail latency under different downstream failure and workload conditions. The paper also discusses practical challenges encountered when conducting controlled experiments in Kubernetes and extracts lessons that can guide future benchmarking efforts in this area.

Downloads

Download data is not yet available.

References

Aderaldo, C. M., Costa, T. M., Vasconcelos, D. M., Mendonça, N. C., Cámara, J., and Garlan, D. (2025). A declarative approach and benchmark tool for controlled evaluation of microservice resiliency patterns. Software: Practice and Experience, 55(1):170–192.

Aderaldo, C. M. and Mendonça, N. C. (2025). ResilienceBench-Operator: A Kubernetes Extension for Orchestrating Resilience Experiments on Microservice Applications. In Proceedings of the 39th Brazilian Symposium on Software Engineering (SBES), pages 983–989. SBC.

Aderaldo, C. M. and Mendonça, N. C. (2022). ResilienceBench: Um Ambiente para Avaliação Experimental de Padrões de Resiliência para Microsserviços. In Anais Estendidos do XL Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, pages 65–72, Porto Alegre, RS, Brasil. SBC.

Aderaldo, C. M. and Mendonça, N. C. (2023). How The Retry Pattern Impacts Application Performance: A Controlled Experiment. In Proceedings of the 37th Brazilian Symposium on Software Engineering (SBES), pages 47–56. SBC.

Amazon Web Services (2025). AWS App Mesh Documentation. [link]. Last accessed: July 17, 2026.

App Delivery Working Group (2022). Cncf operator white paper – final version. [link]. Last accessed: July 17, 2026.

Chaos Mesh Community (2025). Chaos Mesh: A Chaos Engineering Platform for Kubernetes. [link]. Last accessed: July 17, 2026.

ChaosToolkit (2024). The chaos engineering toolkit for developers. [link].

Costa, T., Vasconcelos, D., Aderaldo, C., and Mendonça, N. (2022). Avaliação de Desempenho de Dois Padrões de Resiliência para Microsserviços: Retry e Circuit Breaker. In Anais do XL Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, pages 517–530, Porto Alegre, RS, Brasil. SBC.

Dobies, J. and Wood, J. (2020). Kubernetes Operators: Automating the Container Orchestration Platform. O’Reilly Media.

Eclipse Foundation (2025). Eclipse MicroProfile Fault Tolerance Specification. [link]. Last accessed: July 17, 2026.

Envoy (2025). Envoy Proxy. [link].

Gan, Y. et al. (2019). An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud & Edge Systems. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 3–18. ACM.

GitHub (2024). Github actions. [link]. Last accessed: July 17, 2026.

Google (2024). Jib: Containerize your Java application. [link]. Last accessed: July 17, 2026.

Google Cloud Platform (2024). Online Boutique. [link].

Grafana Labs (2025). Grafana k6: Load testing for engineering teams. [link].

HashiCorp (2025). Vagrant: Development Environments Made Easy. [link].

Henning, S., Wetzel, B., and Hasselbring, W. (2021). Reproducible Benchmarking of Cloud-Native Applications With the Kubernetes Operator Pattern. In Proceedings of Symposium on Software Performance, Leipzig, Germany. CEUR.

Heorhiadi, V., Rajagopalan, S., Jamjoom, H., Reiter, M. K., and Sekar, V. (2016). Gremlin: Systematic resilience testing of microservices. In 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS), pages 57–66.

Istio.io (2025). The Istio service mesh. [link].

Jamshidi, P., Pahl, C., Mendonça, N. C., Lewis, J., and Tilkov, S. (2018). Microservices: The journey so far and challenges ahead. IEEE Software, 35(3):24–35.

Li, S. et al. (2021). Understanding and addressing quality attributes of microservices architecture: A systematic literature review. Information and Software Technology, 131:106449.

Lightbend, Inc. (2025). Welcome to Akka. [link]. Last accessed: July 17, 2026.

Linkerd.io (2022). Linkerd: Ultralight service mesh for Kubernetes and beyond. [link].

LitmusChaos Maintainers (2020). LitmusChaos: Cloud-Native Chaos Engineering Framework. [link]. Last accessed: July 17, 2026.

Meszaros, G. (2007). xUnit Test Patterns: Refactoring Test Code. Addison-Wesley.

Microsoft (2022). Polly. [link].

Microsoft Azure (2025). Azure Chaos Studio. [link]. Last accessed: July 17, 2026.

Netflix (2011). Chaos Monkey. [link]. Last accessed: July 17, 2026.

Polly-Contrib (2020). Simmy: Chaos Engineering and Fault Injection for .NET. [link]. Last accessed: July 17, 2026.

Red Hat (2024a). Fabric8 Kubernetes Client. [link]. Last accessed: July 17, 2026.

Red Hat (2024b). Java operator sdk. [link]. Last accessed: July 17, 2026.

Resilience4j (2022). Resilience4j: A Fault tolerance library designed for functional programming. [link].

Sedghpour, M. R. S., Garlan, D., Schmerl, B., Klein, C., and Tordsson, J. (2023). Breaking the Vicious Circle: Self-Adaptive Microservice Circuit Breaking and Retry. In 2023 IEEE international conference on cloud engineering (IC2E), pages 32–42. IEEE.

Shopify (2025). Toxiproxy. [link]. Last accessed: July 17, 2026.

Van Hoorn, A., Aleti, A., Düllmann, T. F., and Pitakrat, T. (2018). ORCAS: Efficient Resilience Benchmarking of Microservice Architectures. In 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pages 146–147. IEEE.

VMware (2025a). Spring Cloud Circuit Breaker. [link]. Last accessed: July 17, 2026.

VMware (2025b). Spring Cloud Documentation. [link]. Last accessed: July 17, 2026.

Walls, C. (2022). Spring in Action. Manning Publications, 6 edition.

Yang, T., Lee, C., Shen, J., Su, Y., Feng, C., Yang, Y., and Lyu, M. R. (2024). MicroRes: Versatile Resilience Profiling in Microservices via Degradation Dissemination Indexing. In 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), pages 325–337.

Downloads

Published

2026-07-17

How to Cite

Aderaldo, C. M., & Mendonça, N. C. (2026). ResilienceBench-Operator: A Kubernetes Extension for Systematic Evaluation of Microservice Resilience Patterns. Journal of Software Engineering Research and Development, 14(1). https://doi.org/10.5753/jserd.2026.6965

Issue

Section

Software Article