Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3555228.3555245acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

Towards a Fault Taxonomy for Microservices-Based Applications

Published: 05 October 2022 Publication History

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.

References

[1]
2019. Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Information and Software Technology 106 (2019), 101–121.
[2]
Jawwad Ahmed, Andreas Johnsson, Farnaz Moradi, Rafael Pasquini, Christofer Flinta, and Rolf Stadler. 2017. Online approach to performance fault localization for cloud and datacenter services. In 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). 873–874.
[3]
Joop Aué, Maurício Aniche, Maikel Lobbezoo, and Arie van Deursen. 2018. An Exploratory Study on Faults in Web API Integration in a Large-Scale Payment Company. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice(ICSE-SEIP ’18). Association for Computing Machinery, New York, NY, USA, 13–22. https://doi.org/10.1145/3183519.3183537
[4]
Stefan Bruning, Stephan Weissleder, and Miroslaw Malek. 2007. A Fault Taxonomy for Service-Oriented Architecture. In 10th IEEE High Assurance Systems Engineering Symposium (HASE’07). 367–368. https://doi.org/10.1109/HASE.2007.46
[5]
Hongyang Chen, Pengfei Chen, and Guangba Yu. 2020. A Framework of Virtual War Room and Matrix Sketch-Based Streaming Anomaly Detection for Microservice Systems. IEEE Access 8(2020), 43413–43426.
[6]
Lianping Chen. 2018. Microservices: Architecting for Continuous Delivery and DevOps. In 2018 IEEE International Conference on Software Architecture. 39–397.
[7]
International Organization for Standardization (ISO). 2005. ISO/IEC 25000:2005, Software Engineering - Software Product Quality Requirements and Evaluation (SQuaRE).
[8]
Zhiwei Gao, Carlo Cecati, and Steven X. Ding. 2015. A Survey of Fault Diagnosis and Fault-Tolerant Techniques—Part II: Fault Diagnosis With Knowledge-Based and Hybrid/Active Approaches. IEEE Transactions on Industrial Electronics 62, 6 (2015), 3768–3774. https://doi.org/10.1109/TIE.2015.2419013
[9]
Martin Garriga. 2018. Towards a Taxonomy of Microservices Architectures. 203–218. https://doi.org/10.1007/978-3-319-74781-1_15
[10]
Deshani Geethika, Malith Jayasinghe, Yasas Gunarathne, Thilina Ashen Gamage, Sudaraka Jayathilaka, Surangika Ranathunga, and Srinath Perera. 2019. Anomaly Detection in High-Performance API Gateways. In 2019 International Conference on High Performance Computing Simulation (HPCS). 995–1001.
[11]
Sukhpal Singh Gill and Rajkumar Buyya. 2020. Failure Management for Reliable Cloud Computing: A Taxonomy, Model, and Future Directions. Computing in Science Engineering 22, 3 (2020), 52–63.
[12]
Red hat. 2018. What are Microservices. http://aiweb.techfak.uni-bielefeld.de/content/bworld-robot-control-software/.
[13]
Nikolas Herbst, André Bauer, Samuel Kounev, Giorgos Oikonomou, Erwin Van Eyk, George Kousiouris, Athanasia Evangelinou, Rouven Krebs, Tim Brecht, Cristina L. Abad, and Alexandru Iosup. 2018. Quantifying Cloud Performance and Dependability: Taxonomy, Metric Design, and Emerging Challenges. 3, 4 (2018).
[14]
Masayuki Higashino. 2017. Application of Mobile Agent Technology to Microservice Architecture. Association for Computing Machinery, New York, USA.
[15]
Nargiz Humbatova, Gunel Jahangirova, Gabriele Bavota, Vincenzo Riccio, Andrea Stocco, and Paolo Tonella. 2020. Taxonomy of Real Faults in Deep Learning Systems. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering(ICSE ’20). Association for Computing Machinery, New York, NY, USA, 1110–1121. https://doi.org/10.1145/3377811.3380395
[16]
Andrea Höller, Nermin Kajtazovic, Tobias Rauter, Kay Römer, and Christian Kreiner. 2015. Evaluation of diverse compiling for software-fault detection. In 2015 Design, Automation Test in Europe Conference Exhibition (DATE). 531–536. https://doi.org/10.7873/DATE.2015.0118
[17]
Meng Ma, Jingmin Xu, Yuan Wang, Pengfei Chen, Zonghua Zhang, and Ping Wang. 2020. AutoMAP: Diagnose Your Microservice-Based Web Applications Automatically. Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3366423.3380111
[18]
Leonardo Mariani, Cristina Monni, Mauro Pezzé, Oliviero Riganelli, and Rui Xin. 2018. Localizing Faults in Cloud Systems. In 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST). 262–273.
[19]
Sam Newman. 2015. Building Microservices(1st ed.). O’Reilly Media, Inc.
[20]
Samodha Pallewatta, Vassilis Kostakos, and Rajkumar Buyya. 2019. Microservices-Based IoT Application Placement within Heterogeneous and Resource Constrained Fog Computing Environments. Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3344341.3368800
[21]
Gollapudi VRJ Sai Prasad, Sridhar Chimalakonda, Venaktesh Choppella, and Y. Raghu Reddy. 2017. An Aspect Oriented Approach for Renarrating Web Content. In Proceedings of the 10th Innovations in Software Engineering Conference(ISEC ’17). Association for Computing Machinery, New York, NY, USA, 56–65. https://doi.org/10.1145/3021460.3021466
[22]
Tony Savor, Mitchell Douglas, Michael Gentili, Laurie Williams, Kent Beck, and Michael Stumm. 2016. Continuous Deployment at Facebook and OANDA. In 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C). 21–30.
[23]
Tao Wang, Wenbo Zhang, Jiwei Xu, and Zeyu Gu. 2020. Workflow-Aware Automatic Fault Diagnosis for Microservice-Based Applications With Statistics. IEEE Transactions on Network and Service Management 17, 4(2020), 2350–2363. https://doi.org/10.1109/TNSM.2020.3022028
[24]
Tao Wang, Wenbo Zhang, Chunyang Ye, Jun Wei, Hua Zhong, and Tao Huang. 2016. FD4C: Automatic Fault Diagnosis Framework for Web Applications in Cloud Computing. IEEE Transactions on Systems, Man, and Cybernetics: Systems 46, 1(2016), 61–75. https://doi.org/10.1109/TSMC.2015.2430834
[25]
Na Wu, Decheng Zuo, and Zhan Zhang. 2018. An Extensible Fault Tolerance Testing Framework for Microservice-Based Cloud Applications. Association for Computing Machinery, New York, NY, USA.
[26]
Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chao Ji, Wenhai Li, and Dan Ding. 2021. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study. IEEE Transactions on Software Engineering 47, 2 (2021), 243–260.
[27]
Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chao Ji, Dewei Liu, Qilin Xiang, and Chuan He. 2019. Latent Error Prediction and Fault Localization for Microservice Applications by Learning from System Trace Logs. Association for Computing Machinery, New York, NY, USA.

Cited By

View all
  • (2023)HydraGen: A Microservice Benchmark Generator2023 IEEE 16th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD60044.2023.00030(189-200)Online publication date: Jul-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBES '22: Proceedings of the XXXVI Brazilian Symposium on Software Engineering
October 2022
457 pages
ISBN:9781450397353
DOI:10.1145/3555228
© 2022 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 October 2022

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SBES 2022
SBES 2022: XXXVI Brazilian Symposium on Software Engineering
October 5 - 7, 2022
Virtual Event, Brazil

Acceptance Rates

Overall Acceptance Rate 147 of 427 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)125
  • Downloads (Last 6 weeks)13
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)HydraGen: A Microservice Benchmark Generator2023 IEEE 16th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD60044.2023.00030(189-200)Online publication date: Jul-2023

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media