A search-based identification of variable microservices for enterprise SaaS
Sedigheh KHOSHNEVIS
A search-based identification of variable microservices for enterprise SaaS
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.
SaaS / cloud computing / microservice / search-based software engineering / MOEA/D
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
[1] |
Schröer C . Towards microservice identification approaches for architecting data science workflows. Procedia Computer Science, 2021, 181: 519–525
|
[2] |
Valderas P, Torres V, Pelechano V . A microservice composition approach based on the choreography of BPMN fragments. Information and Software Technology, 2020, 127: 106370
|
[3] |
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
|
[4] |
Lewis J, Fowler M. Microservices: a definition of this new architectural term. See MartinFowler. com website, 2014
|
[5] |
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
|
[6] |
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
|
[7] |
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
|
[8] |
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
|
[9] |
Amiri M J. Object-aware identification of microservices. In: Proceedings of 2018 IEEE International Conference on Services Computing (SCC). 2018, 253–256
|
[10] |
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
|
[11] |
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 toMicroservices. In: Proceedings of 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). 2020, 569−580
|
[12] |
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
|
[13] |
Zhang Q, Li H . MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11( 6): 712–731
|
[14] |
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
|
[15] |
Al-Sayed M M, Hassan H A, Omara F A . An intelligent cloud service discovery framework. Future Generation Computer Systems, 2020, 106: 438–466
|
[16] |
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
|
[17] |
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
|
[18] |
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
|
[19] |
Erl T. SOA Principles of Service Design. Boston: Prentice Hall, 2007
|
[20] |
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
|
[21] |
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
|
[22] |
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
|
[23] |
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
|
[24] |
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
|
[25] |
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
|
[26] |
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
|
[27] |
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
|
[28] |
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
|
[29] |
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
|
[30] |
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
|
[31] |
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
|
[32] |
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
|
[33] |
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
|
[34] |
Jiao L, Shang R, Liu F, Zhang W. Brain and Nature-inspired Learning, Computation and Recognition. Amsterdam: Elsevier, 2020
|
[35] |
Durillo J J, Nebro A J . jMetal: a Java framework for multi-objective optimization. Advances in Engineering Software, 2011, 42( 10): 760–771
|
[36] |
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
|
[37] |
Young R M . 75. 9 Euler's constant. The Mathematical Gazette, 1991, 75( 472): 187–190
|
[38] |
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
|
[39] |
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
|
[40] |
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
|
[41] |
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
|
[42] |
Bagheri E, Gasevic D . Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19( 3): 579–612
|
[43] |
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
|
[44] |
Wohlin C, Runeson P, Höst M, Ohlsson M C, Regnell B, Wesslén A. Experimentation in Software Engineering. New York: Springer, 2012
|
[45] |
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
|
/
〈 | 〉 |