Abstract
Recently, SaaS applications are developed as a composition of microservices that serve diverse tenants having similar but different requirements, and hence, can be developed as variability-intensive microservices. Manual identification of these microservices is difficult, time-consuming, and costly, since, they have to satisfy a set of quality metrics for several SaaS architecture configurations at the same time. In this paper, we tackle the multi-objective optimization problem of identifying variable microservices aiming optimal granularity (new metric proposed), commonality, and data convergence, with a search-based approach employing the MOEA/D algorithm. We empirically and experimentally evaluated the proposed method following the Goal-Question-Metric approach. The results show that the method is promising in identifying fully consistent, highly reusable, variable microservices with an acceptable multi-tenancy degree. Moreover, the identified microservices, although not structurally very similar to those identified by the expert architects, provide design quality measures (granularity, etc.) close to (and even better than) the experts.
Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Schröer C. Towards microservice identification approaches for architecting data science workflows. Procedia Computer Science, 2021, 181: 519–525
Valderas P, Torres V, Pelechano V. A microservice composition approach based on the choreography of BPMN fragments. Information and Software Technology, 2020, 127: 106370
Gan Y, Zhang Y, Cheng D, Shetty A, Rathi P, Katarki N, Bruno A, Hu J, Ritchken B, Jackson B, Hu K, Pancholi M, He Y, Clancy B, Colen C, Wen F, Leung C, Wang S, Zaruvinsky L, Espinosa M, Lin R, Liu Z, Padilla J, Delimitrou C. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems. In: Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems. 2019, 3–18
Lewis J, Fowler M. Microservices: a definition of this new architectural term. See MartinFowler.com website, 2014
Pahl C, Jamshidi P. Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science. 2016, 137–146
Esposito C, Castiglione A, Choo K K R. Challenges in delivering software in the cloud as microservices. IEEE Cloud Computing, 2016, 3(5): 10–14
Tyszberowicz S, Heinrich R, Liu B, Liu Z. Identifying microservices using functional decomposition. In: Proceedings of the 4th International Symposium on Dependable Software Engineering: Theories, Tools, and Applications. 2018, 50–65
Jegadeesan H, Balasubramaniam S. A method to support variability of enterprise services on the cloud. In: Proceedings of 2009 IEEE International Conference on Cloud Computing. 2009, 117–124
Amiri M J. Object-aware identification of microservices. In: Proceedings of 2018 IEEE International Conference on Services Computing (SCC). 2018, 253–256
Khoshnevis S, Shams F. Automating identification of services and their variability for product lines using NSGA-II. Frontiers of Computer Science, 2017, 11(3): 444–464
Carvalho L, Garcia A, Colanzi T E, Assunção W K G, Pereira J A, Fonseca B, Ribeiro M, De Lima M J, Lucena C. On the performance and adoption of search-based microservice identification with to Microservices. In: Proceedings of 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). 2020, 569–580
La Rosa M, Dumas M, Ter Hofstede A H M, Mendling J. Configurable multi-perspective business process models. Information Systems, 2011, 36(2): 313–340
Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731
Abbas G, Mehmood A, Lloret J, Raza M S, Ibrahim M. FIPA-based reference architecture for efficient discovery and selection of appropriate cloud service using cloud ontology. International Journal of Communication Systems, 2020, 33(14): e4504
Al-Sayed M M, Hassan H A, Omara F A. An intelligent cloud service discovery framework. Future Generation Computer Systems, 2020, 106: 438–466
Jamshidi P, Sharifi M, Mansour S. To establish enterprise service model from enterprise business model. In: Proceedings of 2008 IEEE International Conference on Services Computing. 2008, 93–100
Kazemi A, Haghighi H, Shams F. ABSIM: an automated business service identification method. International Journal of Software Engineering and Knowledge Engineering, 2013, 23(9): 1303–1342
Ma Q, Zhou N, Zhu Y, Wang H. Evaluating service identification with design metrics on business process decomposition. In: Proceedings of 2009 IEEE International Conference on Services Computing. 2009, 160–167
Erl T. SOA Principles of Service Design. Boston: Prentice Hall, 2007
Zhang Y, Liu B, Dai L, Chen K, Cao X. Automated microservice identification in legacy systems with functional and non-functional metrics. In: Proceedings of 2020 IEEE International Conference on Software Architecture (ICSA). 2020, 135–145
Eski S, Buzluca F. An automatic extraction approach: transition to microservices architecture from monolithic application. In: Proceedings of the 19th International Conference on Agile Software Development: Companion. 2018, 25
Selmadji A, Seriai A D, Bouziane H L, Dony C, Mahamane R O. Re-architecting OO software into microservices. In: Proceedings of the 7th European Conference on Service-Oriented and Cloud Computing. 2018, 65–73
Carvalho L, Garcia A, Colanzi T E, Assunção W K G, Lima M J, Fonseca B, Ribeiro M, Lucena C. Search-based many-criteria identification of microservices from legacy systems. In: Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion. 2020, 305–306
Brito M, Cunha J, Saraiva J. Identification of microservices from monolithic applications through topic modelling. In: Proceedings of the 36th Annual ACM Symposium on Applied Computing. 2021, 1409–1418
Barbosa M H G, Maia P H M. Towards identifying microservice candidates from business rules implemented in stored procedures. In: Proceedings of 2020 IEEE International Conference on Software Architecture Companion (ICSA-C). 2020, 41–48
Ahmadvand M, Ibrahim A. Requirements reconciliation for scalable and secure microservice (De) composition. In: Proceedings of the 24th IEEE International Requirements Engineering Conference Workshops (REW). 2016, 68–73
Vera-Rivera F H, Puerto-Cuadros E G, Astudillo H, Gaona-Cuevas C M. Microservices backlog-a model of granularity specification and microservice identification. In: Proceedings of the 17th International Conference on Services Computing. 2020, 85–102
Baresi L, Garriga M, De Renzis A. Microservices identification through interface analysis. In: Proceedings of the 6th European Conference on Service-Oriented and Cloud Computing. 2017, 19–33
Stojanovic T D, Lazarevic S D, Milic M, Antovic I. Identifying microservices using structured system analysis. In: Proceedings of the 24th International Conference on Information Technology (IT). 2020, 1–4
Daoud M, El Mezouari A, Faci N, Benslimane D, Maamar Z, El Fazziki A. Automatic microservices identification from a set of business processes. In: Proceedings of the 3rd International Conference on Smart Applications and Data Analysis. 2020, 299–315
Daoud M, El Mezouari A, Faci N, Benslimane D, Maamar Z, El Fazziki A. Towards an automatic identification of microservices from business processes. In: Proceedings of the 29th IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE). 2020, 42–47
Iosup A, Yigitbasi N, Epema D. On the performance variability of production cloud services. In: Proceedings of the 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. 2011, 104–113
Moon M, Hong M, Yeom K. Two-level variability analysis for business process with reusability and extensibility. In: Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference. 2008, 263–270
Jiao L, Shang R, Liu F, Zhang W. Brain and Nature-inspired Learning, Computation and Recognition. Amsterdam: Elsevier, 2020
Durillo J J, Nebro A J. jMetal: a Java framework for multi-objective optimization. Advances in Engineering Software, 2011, 42(10): 760–771
Berger C, Rendel H, Rumpe B, Busse C, Jablonski T, Wolf F. Product line metrics for legacy software in practice. In: Proceedings of the 14th International Conference on Software Product Lines. 2010, 247–250
Young R M. 75. 9 Euler’s constant. The Mathematical Gazette, 1991, 75(472): 187–190
Von Der Maßen T, Lichter H. Deficiencies in feature models. In: Proceedings of Workshop on Software Variability Management for Product Derivation-Towards Tool Support. 2004
Mendonca M, Branco M, Cowan D. S.P.L.O.T.: software product lines online tools. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications. 2009, 761–762
Briand L C, Morasca S, Basili V R. Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 1999, 25(5): 722–743
Van Solingen R, Basili V, Caldiera G, Rombach H D. Goal question metric (GQM) approach. In: Marciniak J J, ed. Encyclopedia of Software Engineering. New York: John Wiley, 2002
Bagheri E, Gasevic D. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19(3): 579–612
Bhattacharya I, Getoor L. Iterative record linkage for cleaning and integration. In: Proceedings of the 9th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery. 2004, 11–18
Wohlin C, Runeson P, Höst M, Ohlsson M C, Regnell B, Wesslén A. Experimentation in Software Engineering. New York: Springer, 2012
Qian W, Liu J, Lin Y, Yang L, Zhang J, Xu H, Liao M, Chen Y, Chen Y, Liu B. An improved MOEA/D algorithm for complex data analysis. Wireless Communications and Mobile Computing, 2021, 2021: 6393638
Acknowledgements
This research was granted support by Islamic Azad University, Shahr-e-Qods Branch [project ID: DP/97/210].
Author information
Authors and Affiliations
Corresponding author
Additional information
Sedigheh Khoshnevis received her PhD in Software Engineering at the Department of Computer Engineering, Shahid Beheshti University, Iran in 2015. She is now an assistant professor in the Islamic Azad University, Shahr-e-Qods Branch, Iran. Her research interests include microservices and service-oriented architecture, search-based software engineering, software engineering automation, software product line engineering, software architecture and design, and software testing.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Khoshnevis, S. A search-based identification of variable microservices for enterprise SaaS. Front. Comput. Sci. 17, 173208 (2023). https://doi.org/10.1007/s11704-022-1390-4
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11704-022-1390-4