Patterns Related to Microservice Architecture: a Multivocal Literature Review
- PDF / 637,093 Bytes
- 15 Pages / 612 x 792 pts (letter) Page_size
- 12 Downloads / 213 Views
atterns Related to Microservice Architecture: a Multivocal Literature Review J. A. Valdiviaa,*, A. Lora-Gonzáleza,**, X. Limóna,***, K. Cortes-Verdina,****, and J.O. Ocharán-Hernándeza aSchool
of Statistics and Informatics, Universidad Veracruzana Av. Xalapa, Obrero Campesino, Xalapa-Enríquez, 91020 Ver. Mexico *e-mail: [email protected] **e-mail: [email protected] ***e-mail: [email protected] ****e-mail: kcortes, [email protected] Received April 9, 2020; revised May 15, 2020; accepted July 16, 2020
Abstract—A Microservice Architecture enables the development of distributed systems using a set of highly cohesive, independent, and collaborative services, ready for current cloud computing demands. Each microservice can be implemented in different technologies, sharing common communication channels, which results in heterogeneous distributed systems that exhibit high scalability, maintainability, performance, and interoperability. Currently, there are many options to build microservices; some of them led by patterns that establish common structures to solve recurrent problems. Nevertheless, as microservices are an emerging trend, the relationship between quality attributes, metrics, and patterns is not clearly defined, which is a concern from a software engineering point of view, since such understanding is fundamental to correctly design systems using this architecture. This paper aims to extend the knowledge on the design of microservicesbased systems by presenting a multivocal systematic literature review for microservices related patterns, tying them together with quality attributes and metrics, as can be found in academic and industry research. DOI: 10.1134/S0361768820080253
1 INTRODUCTION The microservice architecture (from now on MSA) has arisen as a response to fast technological changes, extensibility and scalability concerns, and to the necessity of shorter software delivery cycles. Such concerns are the motivation of several technological trends based on cloud computing [1–4]. MSA can be understood as a set of small, heterogeneous, highly cohesive, and distributed services that use common communication channels to interact with each other in order to achieve business goals. The successful MSA systems of Netflix, Amazon, and SoundCloud [5–7] set the basis for the increasing interest in this architectural style, positioning it as an alternative to Service Oriented Architecture (SOA), from which MSA has originated [8]. Furthermore, the microservices implementation offers services with high granularity, supports heterogeneous technologies, and allows high failure tolerance [9]; such features can be translated to quality attributes such as maintainability, portability, and reliability. Quality attributes are paramount in software development since their degree of satisfaction has a fundamental impact on the overall success of a software
project. The choice of architectural style, along with the architectural decisions made during the design process, enables the fulfillment of quality attributes [
Data Loading...