skip to main content
10.1145/3297280.3297400acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

An extensible data-driven approach for evaluating the quality of microservice architectures

Published: 08 April 2019 Publication History

Abstract

Microservice architecture (MSA) is defined as an architectural style where the software system is developed as a suite of small services, each running in its own process and communicating with lightweight mechanisms. The benefits of MSA are many, ranging from an increase in development productivity, to better business-IT alignment, agility, scalability, and technology flexibility. The high degree of microservices distribution and decoupling is, however, imposing a number of relevant challenges from an architectural perspective. In this context, measuring, controlling, and keeping a satisfactory level of quality of the system architecture is of paramount importance.
In this paper we propose an approach for the specification, aggregation, and evaluation of software quality attributes for the architecture of microservice-based systems. The proposed approach allows developers to (i) produce architecture models of the system, either manually or automatically via recovering techniques, (ii) contribute to an ecosystem of well-specified and automatically-computable software quality attributes for MSAs, and (iii) continuously measure and evaluate the architecture of their systems by (re-)using the software quality attributes defined in the ecosystem. The approach is implemented by using Model-Driven Engineering techniques.
The current implementation of the approach has been validated by assessing the maintainability of a third-party, publicly available benchmark system.

References

[1]
Nuha Alshuqayran, Nour Ali, and Roger Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In Service-Oriented Computing and Applications (SOCA), 2016 IEEE 9th International Conference on. IEEE, 44--51.
[2]
Nuha Alshuqayran, Nour Ali, and Roger Evans. 2018. Towards Micro Service Architecture Recovery: An Empirical Study. In 2018 IEEE International Conference on Software Architecture (ICSA). IEEE.
[3]
Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2016. A Customizable Approach for the Automated Quality Assessment of Modelling Artifacts. In 10th International Conference on the Quality of Information and Communications Technology, QUATIC 2016, Lisbon, Portugal, September 6--9, 2016. 88--93.
[4]
Justus Bogner, Stefan Wagner, and Alfred Zimmermann. 2017. Automatically measuring the maintainability of service-and microservice-based systems: a literature review. In Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement. ACM, 107--115.
[5]
Justus Bogner, Stefan Wagner, and Alfred Zimmermann. 2017. Towards a practical maintainability quality model for service-and microservice-based systems. In Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings. ACM, 195--198.
[6]
Shahir Daya, Nguyen Van Duy, Kameswara Eati, Carlos M Ferreira, Dejan Glozic, Vasfi Gucer, Manav Gupta, Sunil Joshi, Valerie Lampkin, Marcelo Martins, et al. 2016. Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. IBM Redbooks.
[7]
Florian Deissenboeck, Lars Heinemann, Markus Herrmannsdoerfer, Klaus Lochmann, and Stefan Wagner. 2011. The quamoco tool chain for quality modeling and assessment. In Software Engineering (ICSE), 2011 33rd International Conference on. IEEE, 1007--1009.
[8]
Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2017. Research on Architecting Microservices: trends, Focus, and Potential for Industrial Adoption. IEEE International Conference on Software Architecture (ICSA) (2017).
[9]
Davide Di Ruscio. 2007. Specification of model transformation and weaving in model driven engineering. Ph.D. Dissertation. PhD thesis, Universita degli Studi dell'Aquila (February 2007) http://www.di.univaq.it/diruscio/phdThesis.php.
[10]
International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC). 2001. Software Engineering-Product Quality: Quality model. Vol. 1. ISO/IEC.
[11]
Martin Fowler and J Lewis. Last accessed: Mar 2017. Microservices a definition of this new architectural term. URL: http://martinfowler.com/articles/microservices.html (Last accessed: Mar 2017).
[12]
Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2018. Migrating Towards Microservice Architectures: An Industrial Survey. In IEEE International Conference on Software Architecture, ICSA 2018, Seattle, USA, April 30 - May 4, 2018. 29--39.
[13]
Andreas Goeb and Klaus Lochmann. 2011. A software quality model for SOA. In Proceedings of the 8th international workshop on Software quality. ACM, 18--25.
[14]
Giona Granchelli, Mario Cardarelli, Paolo Di Francesco, Ivano Malavolta, Ludovico Iovino, and Amleto Di Salle. 2017. MicroART: A Software Architecture Recovery Tool for Maintaining Microservice-based Systems. IEEE International Conference on Software Architecture (ICSA) (2017).
[15]
Giona Granchelli, Mario Cardarelli, Paolo Di Francesco, Ivano Malavolta, Ludovico Iovino, and Amleto Di Salle. 2017. Towards Recovering the Software Architecture of Microservice-based Systems. First International Workshop on Architecting with MicroServices (AMS) (2017).
[16]
Martin Hitz and Behzad Montazeri. 1995. Measuring coupling and cohesion in object-oriented systems. (1995).
[17]
Usha Kumari and Shuchita Upadhyaya. 2011. An interface complexity measure for component-based software systems. International Journal of Computer Applications 36, 1 (2011), 46--52.
[18]
Aminah Nuraini and Yani Widyani. 2014. Software with service oriented architecture quality assessment. In Data and Software Engineering (ICODSE), 2014 International Conference on. IEEE, 1--6.
[19]
Edward E Ogheneovo. 2014. On the relationship between software complexity and maintenance costs. Journal of Computer and Communications 2, 14 (2014), 1.
[20]
Paul Oman and Jack Hagemeister. 1992. Metrics for assessing a software system's maintainability. In Software Maintenance, 1992. Proceerdings., Conference on. IEEE, 337--344.
[21]
Claus Pahl and Pooyan Jamshidi. 2016. Microservices: A systematic mapping study. In Proceedings of the 6th International Conference on Cloud Computing and Services Science. 137--146.
[22]
Mikhail Perepletchikov, Caspar Ryan, Keith Frampton, and Zahir Tari. 2007. Coupling metrics for predicting maintainability in service-oriented designs. In Software Engineering Conference, 2007. ASWEC 2007. 18th Australian. IEEE, 329--340.
[23]
Reinhold Plösch, Harald Gruber, A Hentschel, Ch Körner, Gustav Pomberger, Stefan Schiffer, Matthias Saft, and S Storck. 2008. The EMISQ method and its tool support-expert-based evaluation of internal software quality. Innovations in Systems and Software Engineering 4, 1 (2008), 3--15.
[24]
Th Reiter, E Kapsammer, W Retschitzegger, and W Schwinger. 2005. Model integration through mega operations. In Workshop on Model-driven Web Engineering. 20.
[25]
Steven D Sheetz, David P Tegarden, and David E Monarchi. 1991. Measuring object-oriented system complexity. In Proc. 1st Workshop on information Technologies and Systems.
[26]
Renuka Sindhgatta, Bikram Sengupta, and Karthikeyan Ponnalagu. 2009. Measuring the quality of service oriented design. In Service-Oriented Computing. Springer, 485--499.
[27]
I Standard. 1999. Information technology-software product evaluation-part 1: General overview. ISO Standard (1999), 14598--1.
[28]
Christoph Stormer. 2007. Software Quality Attribute Analysis by Architecture Reconstruction (SQUA3RE). In Software Maintenance and Reengineering, 2007. CSMR'07. 11th European Conference on. IEEE, 361--364.
[29]
Anne Thomas and Aashish Gupta. 2017. Innovation insights for Microservices. https://www.gartner.com/doc/3579057/innovation-insight-microservices (2017).
[30]
Stefan Wagner, Andreas Goeb, Lars Heinemann, Michael Kläs, Constanza Lampasona, Klaus Lochmann, Alois Mayr, Reinhold Plösch, Andreas Seidl, Jonathan Streit, et al. 2015. Operationalised product quality models and assessment: The Quamoco approach. Information and Software Technology 62 (2015), 101--123.
[31]
Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl, Andreas Goeb, and Jonathan Streit. 2012. The quamoco product quality modelling and assessment approach. In Proceedings of the 34th international conference on software engineering. IEEE Press, 1133--1142.
[32]
Jos B Warmer and Anneke G Kleppe. 1998. The object constraint language: Precise modeling with uml (addison-wesley object technology series). (1998).

Cited By

View all
  • (2024)Long Live the Image: On Enabling Resilient Production Database Containers for Microservice ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2024.343662350:9(2363-2378)Online publication date: Sep-2024
  • (2024)GTMicro—microservice identification approach based on deep NLP transformer model for greenfield developmentsInternational Journal of Information Technology10.1007/s41870-024-01766-516:5(2751-2761)Online publication date: 8-Mar-2024
  • (2024)A Quantitative Assessment Method for Microservices Granularity to Improve MaintainabilityEnterprise Design, Operations, and Computing. EDOC 2023 Workshops10.1007/978-3-031-54712-6_13(211-226)Online publication date: 2-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
April 2019
2682 pages
ISBN:9781450359337
DOI:10.1145/3297280
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 April 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture recovery
  2. microservices
  3. model-driven
  4. software quality

Qualifiers

  • Research-article

Conference

SAC '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)72
  • Downloads (Last 6 weeks)5
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Long Live the Image: On Enabling Resilient Production Database Containers for Microservice ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2024.343662350:9(2363-2378)Online publication date: Sep-2024
  • (2024)GTMicro—microservice identification approach based on deep NLP transformer model for greenfield developmentsInternational Journal of Information Technology10.1007/s41870-024-01766-516:5(2751-2761)Online publication date: 8-Mar-2024
  • (2024)A Quantitative Assessment Method for Microservices Granularity to Improve MaintainabilityEnterprise Design, Operations, and Computing. EDOC 2023 Workshops10.1007/978-3-031-54712-6_13(211-226)Online publication date: 2-Mar-2024
  • (2023)Migrating to a microservice architecture: benefits and challenges2023 46th MIPRO ICT and Electronics Convention (MIPRO)10.23919/MIPRO57284.2023.10159894(1670-1677)Online publication date: 22-May-2023
  • (2023)Research Opportunities in Microservices Quality Assessment: A Systematic Literature ReviewJournal of Advances in Information Technology10.12720/jait.14.5.991-100214:5(991-1002)Online publication date: 2023
  • (2023)Quality Metrics in Software Architecture2023 IEEE 20th International Conference on Software Architecture (ICSA)10.1109/ICSA56044.2023.00014(58-69)Online publication date: Mar-2023
  • (2023)CharM — Evaluating a model for characterizing service-based architecturesJournal of Systems and Software10.1016/j.jss.2023.111826206:COnline publication date: 1-Dec-2023
  • (2022)Development of a Quality-Based Model for Software Architecture Optimization: A Case Study of Monolith and Microservice ArchitecturesSymmetry10.3390/sym1409182414:9(1824)Online publication date: 2-Sep-2022
  • (2022)Trace analysis based microservice architecture measurementProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558951(1589-1599)Online publication date: 7-Nov-2022
  • (2022)Microservices smell detection through dynamic analysis2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA56994.2022.00052(290-293)Online publication date: Aug-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media