Skip to main content
Log in

A search-based identification of variable microservices for enterprise SaaS

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

  1. Schröer C. Towards microservice identification approaches for architecting data science workflows. Procedia Computer Science, 2021, 181: 519–525

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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 to Microservices. 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

    Article  Google Scholar 

  13. Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Google Scholar 

  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

    Google Scholar 

  35. Durillo J J, Nebro A J. jMetal: a Java framework for multi-objective optimization. Advances in Engineering Software, 2011, 42(10): 760–771

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Google Scholar 

  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

    Article  Google Scholar 

  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

    Book  Google Scholar 

  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

    Article  Google Scholar 

Download references

Acknowledgements

This research was granted support by Islamic Azad University, Shahr-e-Qods Branch [project ID: DP/97/210].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sedigheh Khoshnevis.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11704-022-1390-4

Keywords