A Metrics Framework for Evaluating Microservices Architecture Designs

  • Omar Al-Debagy Department of Electronics Technology, Budapest University of Technology and Economics, Hungary https://orcid.org/0000-0002-1988-5078
  • P. Martinek Department of Electronics Technology, Budapest University of Technology and Economics, Hungary
Keywords: microservices, software metrics, lack of cohesion, service granularity, service complexity

Abstract

Microservices are becoming a more popular software architecture among companies and developers. Therefore, there is a need to develop methods for quantifying the process of measuring the quality of microservices design. This paper has created a novel set of metrics for microservices architecture applications. The proposed metrics are the Service Granularity Metric “SGM”, the Lack of Cohesion Metric “LCOM”, and the Number of Operations “NOO”. The proposed metrics measure the granularity, cohesion, and complexity of individual microservices through analyzing the application programming interface “API”. Using these metrics, it is possible to evaluate the overall quality of the design of microservices applications. The proposed metrics were measured on 5 applications with different sizes and business cases. This research found that the value for the SGM metric needs to be between 0.2 and 0.6. Besides, the value of LCOM metric for a microservice needs to be between 0 and 0.8 with less than ten operations per microservice. These findings can be applied in the decomposition process of monolithic applications as well.

Downloads

Download data is not yet available.

Author Biographies

Omar Al-Debagy, Department of Electronics Technology, Budapest University of Technology and Economics, Hungary

O. Al-Debagy started pursuing his PhD degree in 2017 at Budapest University of Technology and Economics. He obtained his BSc in Information Technology from University of Kurdistan – Hewler in 2012. Then he got his MSc in Information Systems Engineering from Cyprus International University in 2015. He has an extended experience in web development and technologies. Also, he was an assistant lecturer at the Lebanese French University from 2015 until 2016. Furthermore, he worked as a web developer for USAID/Iraq Governance Strengthening Project from 2016 to 2017. Nowadays he is finishing his PhD research in microservices decomposition methods and techniques.

P. Martinek, Department of Electronics Technology, Budapest University of Technology and Economics, Hungary

P. Martinek received his B.Sc, M.Sc. and PhD degrees in Computer Engineering from Budapest University of Technology and Economics, Hungary. Dr. Martinek is an associate professor at the Department of Electronics Technology at BME since 2012. He is the recipient of the 2010 IBM Faculty award. His main research area is Enterprise Application Integration (EAI), but he also studies production scheduling and optimization of manufacturing processes by machine learning methods.

References

R. Chen, S. Li, and Z. Li, ‘From Monolith to Microservices: A Dataflow-Driven Approach’, in 2017 24th Asia-Pacific Software Engineering Conference (APSEC), 2017, pp. 466–475.

P. D. Francesco, I. Malavolta, and P. Lago, ‘Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption’, in 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden, 2017, pp. 21–30.

D. Kansal, T. Aher, and R. K. Joshi, ‘Sensitivity and Monotonicity in Class Cohesion Metrics’, in Proceedings of the 12th Innovations on Software Engineering Conference (formerly known as India Software Engineering Conference) - ISEC’19, Pune, India, 2019, pp. 1–5.

A. AbuHassan and M. Alshayeb, ‘A metrics suite for UML model stability’, Softw. Syst. Model., vol. 18, no. 1, pp. 557–583, Feb. 2019.

S. Newman, Building microservices: designing fine-grained systems, First Edition. Beijing Sebastopol, CA: O’Reilly Media, 2015.

D. Shadija, M. Rezai, and R. Hill, ‘Microservices: Granularity vs. Performance’, in Companion Proceedings of the10th International Conference on Utility and Cloud Computing - UCC ’17 Companion, Austin, Texas, USA, 2017, pp. 215–220.

N. Kaur, A. Negi, and H. Singh, ‘Object Oriented Dynamic Coupling and Cohesion Metrics: A Review’, in Proceedings of 2nd International Conference on Communication, Computing and Networking, 2019, pp. 861–869.

M. Glöckner, A. Ludwig, and B. Franczyk, ‘How low Should You Go? - Conceptualization of the Service Granularity Framework’, in ECIS, 2016.

M. P. Papazoglou and W.-J. V. D. Heuvel, ‘Service-Oriented Design and Development Methodology’, Int J Web Eng Technol, vol. 2, no. 4, pp. 412–442, Jul. 2006.

A. A. M. Elhag and R. Mohamad, ‘Metrics for evaluating the quality of service-oriented design’, in 2014 8th. Malaysian Software Engineering Conference (MySEC), 2014, pp. 154–159.

M. Perepletchikov, C. Ryan, and K. Frampton, ‘Cohesion Metrics for Predicting Maintainability of Service-Oriented Software’, in Seventh International Conference on Quality Software (QSIC 2007), 2007, pp. 328–335.

L. C. Briand, S. Morasca, V. R. Basili, Inputr, E-E, and Outputr, ‘Property-based Software Engineering Measurement 2 . Basic Definitions Definition 1: Representation of Systems and Modules’, 1996.

D. Athanasopoulos, A. V. Zarras, G. Miskos, V. Issarny, and P. Vassiliadis, ‘Cohesion-Driven Decomposition of Service Interfaces without Access to Source Code’, IEEE Trans. Serv. Comput., vol. 8, no. 4, pp. 550–562, Jul. 2015.

B. Heinrich and S. Zimmermann, ‘GRANULARITY METRICS FOR IT SERVICES’, p. 19.

S. Alahmari, E. Zaluska, and D. C. D. Roure, ‘A Metrics Framework for Evaluating SOA Service Granularity’, in 2011 IEEE International Conference on Services Computing, 2011, pp. 512–519.

T. Gyimothy, R. Ferenc, and I. Siket, ‘Empirical validation of object-oriented metrics on open source software for fault prediction’, IEEE Trans. Softw. Eng., vol. 31, no. 10, pp. 897–910, Oct. 2005.

K. E. Bennin, J. Keung, P. Phannachitta, A. Monden, and S. Mensah, ‘MAHAKIL: Diversity Based Oversampling Approach to Alleviate the Class Imbalance Issue in Software Defect Prediction’, IEEE Trans. Softw. Eng., vol. 44, no. 6, pp. 534–550, Jun. 2018.

A. Ampatzoglou et al., ‘Applying the Single Responsibility Principle in Industry: Modularity Benefits and Trade-offs’, in Proceedings of the Evaluation and Assessment on Software Engineering - EASE ’19, Copenhagen, Denmark, 2019, pp. 347–352.

S. R. Chidamber and C. F. Kemerer, ‘A metrics suite for object oriented design’, IEEE Trans. Softw. Eng., vol. 20, no. 6, pp. 476–493, Jun. 1994.

B. Henderson-Sellers, Object-oriented Metrics: Measures of Complexity. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1996.

Multi-user Kanban board built using Eventuate, DDD, microservices, event sourcing, CQRS, and Spring Boot: eventuate-examples/es-kanban-board. eventuate-examples, 2019.

C. Richardson, Example code for my building and deploying microservices with event sourcing, CQRS and Docker presentation: cer/event-sourcing-examples. 2019.

‘Galileo v2.0.0 Docs — Mashape Dev API’. [Online]. Available: https://galileo.gelato.io/docs/versions/2.0.0. [Accessed: 26-Jul-2019].

‘Get Started - PayPal Developer’. [Online]. Available: https://developer.paypal.com/docs/api/overview/. [Accessed: 26-Jul-2019].

‘Amazon API Gateway’, Amazon Web Services, Inc. [Online]. Available: https://aws.amazon.com/api-gateway/. [Accessed: 26-Jul-2019].

K. P. Srinivasan and T. Devi, ‘Software Metrics Validation Methodologies in Software Engineering’, Int. J. Softw. Eng. Appl., vol. 5, no. 6, pp. 87–102, Nov. 2014.

Published
2020-06-13
Section
Articles