Object-Aware Identification of Microservices

Microservices is an architectural style inspired by service-oriented computing that structures an application as a collection of cohesive and loosely coupled components, which implement business capabilities. One of today’s problems in designing microservice architectures is to decompose a system into cohesive, loosely coupled, and fine-grained microservices. Identification of microservices is usually performed intuitively, based on the experience of the system designers, however, if the functionalities of a system are highly interconnected, it is a challenging task to decompose the system into appropriate microservices. To tackle this challenge, we present a microservice identification method that decomposes a system using clustering technique. To this end, we model a system as a set of business processes and take two aspects of structural dependency and data object dependency of functionalities into account. Furthermore, we conduct a study to evaluate the effect of process characteristics on the accuracy of identification approaches.

[1]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[2]  Dmitry Namiot,et al.  On micro-services architecture , 2014 .

[3]  Mathias Weske Business Process Management Architectures , 2012 .

[4]  Marin Lujak,et al.  Service discovery acceleration with hierarchical clustering , 2015, Inf. Syst. Frontiers.

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

[6]  Spiros Mancoridis,et al.  An architecture for distributing the computation of software clustering algorithms , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[7]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.

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

[9]  Rami Bahsoon,et al.  Microservices and Their Design Trade-Offs: A Self-Adaptive Roadmap , 2016, 2016 IEEE International Conference on Services Computing (SCC).

[10]  Mahnaz Koupaee,et al.  Data-driven business process similarity , 2017, IET Softw..

[11]  Alberto Lluch-Lafuente,et al.  Microservices: Yesterday, Today, and Tomorrow , 2016, Present and Ulterior Software Engineering.

[12]  Saeed Parsa,et al.  Multifaceted service identification: Process, requirement and data , 2016, Comput. Sci. Inf. Syst..

[13]  Ricardo Terra,et al.  Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems , 2016, ArXiv.

[14]  Thomas Risse,et al.  Selecting skyline services for QoS-based web service composition , 2010, WWW '10.