Litcius/Paper detail

Towards a Fault Taxonomy for Microservices-Based Applications

Francisco Silva, Valéria Lelli, Ismayle de Sousa Santos, Rossana M. C. Andrade

202213 citationsDOI

Abstract

Microservice-based applications support an architectural style that allows the organization of distributed applications as a set of possibly stateless services to achieve scalability and maintainability. They have been widely used in the industry, however, this architecture can bring challenges regarding Fault Tolerance, Fault Prevention, Fault Detection and Fault Handling activities. In the context of microservices, fault injection is more complex since those applications contain mostly asynchronous process. Therefore, a fault injection becomes even more expensive. Several studies in the literature have been handling the complexity of testing microservice-based applications such as investigating the root causes of microservices failures or providing frameworks that allow users injecting faults related to microservices. In this direction, a fault catalog can be beneficial for performing software fault activities. In this work, we conducted a Multivocal Literature Review to catalog faults related to microservice-based applications to better support their development and testing. Then, we defined a taxonomy with 117 faults classified into 6 Non-Functional Requirements and related to 11 characteristics inherent to the microservices architecture.

Topics & Concepts

MicroservicesComputer scienceMaintainabilitySoftware fault toleranceContext (archaeology)Service-oriented architectureScalabilitySoftware engineeringDistributed computingFault toleranceWorld Wide WebOperating systemWeb serviceBiologyPaleontologyCloud computingSoftware System Performance and ReliabilityCloud Computing and Resource ManagementSoftware-Defined Networks and 5G