Attributes Assessing the Quality of Microservices Automatically Decomposed from Monolithic Applications

The architectural styles in the world of software development are constantly evolving. Recently the microservice architecture is gaining more and more traction, building on concepts of Service Oriented Architecture (SOA) and steering further away from monolithic architectures. Emerged from agile communities, the microservice oriented architecture implies a number of small-sized microservices independently deployable. The adoption of microservices as the base for creating enterprise applications is certain, yet many companies intend to migrate from the old monolithic style instead of creating new products mainly due to cost related implications as well as challenging and complex tasks. Several tools and approaches for the semi-automatic decomposition of monolithic applications to microservices have emerged, yet many of them still struggle to verify the result of such process, the architect being indispensable for assessing the output microservices. Although this area is intensely studied, no unanimously accepted and clear guidelines for defining a good microservice exist. This survey focuses on providing a comprehensive and broadly applicable set of quality assessment criteria for microservices resulted from semi-automatic migration tools or techniques. Our study aligns with industry requirements, including a case study which further validates our set of quality attributes. In the refinement step of the quality attributes set, the prospect of automating the process of validation is also discussed.

[1]  Abdul Razzaq,et al.  Matrix Clustering based Migration of System Application to Microservices Architecture , 2018 .

[2]  Rami Bahsoon,et al.  Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[3]  Reiner R. Dumke,et al.  Product Metrics for Service-Oriented Infrastructures , 2006 .

[4]  Patricia Lago,et al.  Migrating Towards Microservice Architectures: An Industrial Survey , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[5]  Rick Kazman,et al.  Requirements for integrating software architecture and reengineering models: CORUM II , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[6]  Evans,et al.  Domain-driven design , 2003 .

[7]  Stefan Wagner,et al.  Towards a practical maintainability quality model for service-and microservice-based systems , 2017, ECSA.

[9]  Jing Zhao,et al.  A decomposition-based approach for service composition with global QoS guarantees , 2012, Inf. Sci..

[10]  Dalila Tamzalit,et al.  From Monolith to Microservices: Lessons Learned on an Industrial Migration to a Web Oriented Architecture , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[11]  Patricia Lago,et al.  Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[12]  Nour Ali,et al.  A Systematic Mapping Study in Microservice Architecture , 2016, 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA).

[13]  Thomas Engel,et al.  Evaluation of Microservice Architectures: A Metric and Tool-Based Approach , 2018, CAiSE Forum.

[14]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[15]  Doreen Meier,et al.  Structured Design Fundamentals Of A Discipline Of Computer Program And Systems Design , 2016 .

[16]  Jürgen Cito,et al.  Extraction of Microservices from Monolithic Software Architectures , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[17]  Stefan Wagner,et al.  Automatically measuring the maintainability of service- and microservice-based systems: a literature review , 2017, IWSM-Mensura.

[18]  L. O'Brien Lero,et al.  Quality Attributes for Service-Oriented Architectures , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[19]  Shanshan Li,et al.  From Monolith to Microservices: A Dataflow-Driven Approach , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).

[20]  Maryam Razavian,et al.  Understanding SOA Migration Using a Conceptual Framework , 2010 .

[21]  Luciano Baresi,et al.  Microservices Identification Through Interface Analysis , 2017, ESOCC.

[22]  Ossi Taipale,et al.  Microservices validation: Mjolnirr platform case study , 2015, 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[23]  Ludovico Iovino,et al.  Towards Recovering the Software Architecture of Microservice-Based Systems , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[24]  Frank Leymann,et al.  Ensuring and Assessing Architecture Conformance to Microservice Decomposition Patterns , 2017, ICSOC.

[25]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 5: populations and samples , 2002, SOEN.

[26]  Olaf Zimmermann,et al.  Service Cutter: A Systematic Approach to Service Decomposition , 2016, ESOCC.