Classifying the Reliability of the Microservices Architecture
Adrian Ramsingh, Jeremy Singer, Phil Trinder
2022
Abstract
Microservices are popular for web applications as they offer better scalability and reliability than monolithic architectures. Reliability is improved by loose coupling between individual microservices. However in production systems some microservices are tightly coupled, or chained together. We classify the reliability of microservices: if a minor microservice fails then the application continues to operate; if a critical microservice fails, the entire application fails. Combining reliability (minor/critical) with the established classifications of dependence (individual/chained) and state (stateful/stateless) defines a new three dimensional space: the Microservices Dependency State Reliability (MDSR) classification. Using three web application case studies (Hipster-Shop, Jupyter and WordPress) we identify microservice instances that exemplify the six points in MDSR. We present a prototype static analyser that can identify all six classes in Flask web applications, and apply it to seven applications. We explore case study examples that exhibit either a known reliability pattern or a bad smell. We show that our prototype static analyser can identify three of six patterns/bad smells in Flask web applications. Hence MDSR provides a structured classification of microservice software with the potential to improve reliability. Finally, we evaluate the reliability implications of the different MDSR classes by running the case study applications against a fault injector.
DownloadPaper Citation
in Harvard Style
Ramsingh A., Singer J. and Trinder P. (2022). Classifying the Reliability of the Microservices Architecture. In Proceedings of the 18th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-613-2, pages 21-32. DOI: 10.5220/0011381700003318
in Bibtex Style
@conference{webist22,
author={Adrian Ramsingh and Jeremy Singer and Phil Trinder},
title={Classifying the Reliability of the Microservices Architecture},
booktitle={Proceedings of the 18th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2022},
pages={21-32},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011381700003318},
isbn={978-989-758-613-2},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 18th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - Classifying the Reliability of the Microservices Architecture
SN - 978-989-758-613-2
AU - Ramsingh A.
AU - Singer J.
AU - Trinder P.
PY - 2022
SP - 21
EP - 32
DO - 10.5220/0011381700003318