Testing microservice architectures for operational reliability. (16th December 2019) - Pietrantuono, Roberto; Russo, Stefano; Guerriero, Antonio
Summary: Microservice architectures (MSA) is an emerging software architectural paradigm for service‐oriented applications, well‐suited for dynamic contexts requiring loosely coupled independent services, frequent software releases and decentralized governance. A key problem in the engineering of MSA applications is the estimate of their reliability, which is difficult to perform prior to release due frequent releases/service upgrades, dynamic service interactions, and changes in the way customers use the applications. This paper presents an in vivo testing method, named EMART, to faithfully assess the reliability of an MSA application in operation. EMART is based on an adaptive sampling strategy, leveraging monitoring data about microservices usage and failure/success of user demands. We present results of evaluation of estimation accuracy, confidence and efficiency, through a set of controlled experiments with publicly available subjects. © 2019 John Wiley & Sons, Ltd. Abstract : Stakeholders of a microservice architecture — e.g., testers or operation engineers ‐ need to estimate its in‐use reliability. This work presents EMART, a method to assess the reliability of microservice architectures in operation, which exploits data from passive monitoring and from field‐testing sessions triggered upon usage profile changes. EMART shows remarkable improvements in terms of effectiveness, efficiency and scalability of the reliability estimate with respect to Operational Testing ‐ a pillar of software reliability engineering