Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

Postal Subscription Code 80-970

2018 Impact Factor: 1.129

Front. Comput. Sci.    2023, Vol. 17 Issue (3) : 173208    https://doi.org/10.1007/s11704-022-1390-4
RESEARCH ARTICLE
A search-based identification of variable microservices for enterprise SaaS
Sedigheh KHOSHNEVIS()
Department of Computer Engineering, Shahr-e-Qods Branch, Islamic Azad University, Tehran 1311537541, Iran
 Download: PDF(2657 KB)   HTML
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
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.

Keywords SaaS      cloud computing      microservice      search-based software engineering      MOEA/D     
Corresponding Author(s): Sedigheh KHOSHNEVIS   
Just Accepted Date: 06 May 2022   Issue Date: 07 November 2022
 Cite this article:   
Sedigheh KHOSHNEVIS. A search-based identification of variable microservices for enterprise SaaS[J]. Front. Comput. Sci., 2023, 17(3): 173208.
 URL:  
https://academic.hep.com.cn/fcs/EN/10.1007/s11704-022-1390-4
https://academic.hep.com.cn/fcs/EN/Y2023/V17/I3/173208
Fig.1  A BPFM diagram for the sample BOMP SaaS
Number of tenants and instances of running SaaSAvailableNot available
Multi-tenant SaaSp(a)=t(a)T (1)p(a)=c(a)C (3)
t(a) = number of tenants using some functionality involving activity a,T = total number of tenants
Single-tenant SaaSp(a)=i(a)I (2)c(a) = number of possible potential configurations including activity a,C = number of all possible configurations derivable from the BPFM
i(a) = number of instances using a functionality involving activity a,I = total number of instances
Tab.1  Weights assigned to BPFM activities in SWC
Fig.2  Phases of SAMIM and their inputs and outputs
Fig.3  Steps inside each phase of SAMIM
Fig.4  Encoding the solution structure (chromosome) filled with data regarding the sample BOMP SaaS
  
(a) Excludes(b) Includes
ms1 ms2MandatoryOptionalms1 ms2MandatoryOptional
MandatoryContradictionAnomalyMandatoryRedundancyAnomaly
optionalanomaly(must be verified)optionalredundancy(must be verified)
Tab.2  Inconsistencies due to the participation of mandatory services in (a) excludes and (b) includes relationships between microservices ms1 and ms2
QuestionMetriccodeMetric nameFormulaDescription
Q1M1ScalarSimilarity (ScS)ScS=i=1n1?|x?m?x?ex?e|nn: No. of obj. functionsx?m: value (method)x?e: average value (experts)
M2StructuralSimilarity (StS)SSD(m,n)=|SOmSOn||SOmSOn|SC(m,Sn)=Max(SSD(m,Snj))?j=1,2,,kStS(Si,Sj)=n=1pSC(Sin,Sj)|E|SOi: operations in microservice iSSD(m,n): similarity b/w two singlemicroservices m and nSC(m,Sn): similarity b/w singlemicroservice m and a set of microservices SnE: edges of the bipartite graph that is formed between microservice set Si and microservice set Sj (each edge carries anSSD value)
Q2M3ConsistencyDegree (CD)CD=cmc: No. of consistent VMA modelsm: total VMA models
M4Multi-tenancyDegree (MTD)MTD=nssns: No. of non-mandatory microservicess: Total no. of microservices
M5In-spaceReusabilityDegree (ISRD)ISRD=i=1sCiCsCi: No. of config.s that microservice i is used in.C: total no. of config.ss: total no. of microservices
Tab.3  The metrics used for the evaluation
CaseProcess# Business activities# Config.s# Potential tenants
APurchase order processing15564
BOrder processing113650
CRepair order processing131616
DOnline shopping11627
ELetter submission7819
FAccounting notes issuing142183
Tab.4  Details of experimental cases
CasesObjective function values
ObjconvObjgranObjcomm
AMethod0.221.330.28
Expert0.210.790.41
BMethod0.191.240.17
Expert0.191.360.15
CMethod0.251.440.13
Expert0.250.880.35
DMethod0.271.240.25
Expert0.260.730.3
EMethod0.270.770
Expert0.271.040.14
FMethod0.331.620.14
Expert0.320.610.14
Avg.Method0.251.270.16
Expert0.250.900.25
Tab.5  Values of objective functions provided by expert subjects and SAMIM
CasesScS for objective function values
ScS for Objconv/%ScS for Objgran/%ScS for Objcomm/%Total Avg./%
A93.9931.267.57?
B98.5891.086.36?
C98.8636.7835.71?
D96.5730.5183.85?
E99.4274.760?
F98.9166.2597.97?
Avg.97.7255.0861.9171.57
Tab.6  Measuring scalar similarity by comparing the average values of objective functions provided by the expert subjects and by SAMIM
Fig.5  Comparing values of business entity convergence (VCONV, related to Objconv) obtained from the participants and SAMIM
Fig.6  Comparing values of granularity (VGRAN, related to Objgran) obtained from the participants and SAMIM
Fig.7  Comparing values of commonality degree (VCOMM, related to Objcomm) obtained from the participants and SAMIM
CaseABCDEFTotal Avg.
Avg. StS/%34.8558.6342.044.4840.1137.6342.95
Tab.7  Average values of structural similarity between results provided by the expert subjects and by SAMIM (StS)
CaseMTD/% Improvement of SAMIM with respect to experts/%
Experts (Avg.)SAMIMValue of MTDCloseness to the goal value (50%)
A8.8422.22 151.2826.76
B31.9933.334.22.69
C14.9337.5151.0945.13
D15.612560.1818.78
E39.735025.8520.54
F30.1536.3620.612.42
Avg.23.5434.0768.8721.11
Tab.8  Values of multi-tenancy degree provided by the expert subjects and by SAMIM
CaseABCDEFTotal Avg.
ISRD/%91.1182.4181.2593.7570.8386.1584.25
Tab.9  Values of in-space reusability degree for the six experimental cases
StudyType of approachSearch-basedObjectivesSingle/ multitenantVariabilityBased on business processGreen-field/ legacy-based (G/L)
Ahmadvand et al., 2016 [26]Methodology×?NM**××G
Vera-Rivera et al., 2020 [27]GA*Cohesion, coupling, granularityNM××G
Tyszberowicz et al., 2018 [7]Functional decomposition×Cohesion, couplingNM××G
Amiri, 2018 [9]Clustering×Cohesion, coupling, granularityNM×G
Baresi et al., 2017 [28]Method (algorithms)×Cohesion, granularity, Functional similarityNM××G
Stojanovic et al., 2020 [29]Structured system analysis×Cohesion, couplingNM××G
Daoud et al., 2020 [30, 31]Collaborative clustering×Cohesion, granularity, coupling, Control dependency, data dependencyNM×G
Carvalho et al., 2020 [23]GA-Based (NSGA-II and NSGA-III)Cohesion, coupling, Feature modularization, network overhead, ReuseNM××L
Brito et al., 2021 [24]Topic modeling and clustering×Functional independence, Conceptual and structural modularity, cohesionNM××L
Eski and Buzluca, 2018 [21]Clustering×Static coupling, evolutionary couplingNM××L
Selmadji et al., 2018 [22]Clustering×Functional validity, data autonomyNM××L
Barbosa et al., 2020 [25]Process×Conformance of the responsibilities of a microservice to same business requirementsNM××L
SAMIMMulti-objective methodCoupling, data convergence, granularity√ (both single- and multi-tenant)G
Tab.10  A summary of studies in microservice identification
Fig.8  Summary of results in terms of measures of five metrics
  
1 C Schröer . Towards microservice identification approaches for architecting data science workflows. Procedia Computer Science, 2021, 181: 519–525
2 P, Valderas V, Torres V Pelechano . A microservice composition approach based on the choreography of BPMN fragments. Information and Software Technology, 2020, 127: 106370
3 Y, Gan Y, Zhang D, Cheng A, Shetty P, Rathi N, Katarki A, Bruno J, Hu B, Ritchken B, Jackson K, Hu M, Pancholi Y, He B, Clancy C, Colen F, Wen C, Leung S, Wang L, Zaruvinsky M, Espinosa R, Lin Z, Liu J, Padilla C Delimitrou . 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 J, Lewis M Fowler . Microservices: a definition of this new architectural term. See MartinFowler. com website, 2014
5 C, Pahl P Jamshidi . Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science. 2016, 137–146
6 C, Esposito A, Castiglione K K R Choo . Challenges in delivering software in the cloud as microservices. IEEE Cloud Computing, 2016, 3( 5): 10–14
7 S, Tyszberowicz R, Heinrich B, Liu Z Liu . Identifying microservices using functional decomposition. In: Proceedings of the 4th International Symposium on Dependable Software Engineering: Theories, Tools, and Applications. 2018, 50–65
8 H, Jegadeesan S Balasubramaniam . 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 M J Amiri . Object-aware identification of microservices. In: Proceedings of 2018 IEEE International Conference on Services Computing (SCC). 2018, 253–256
10 S, Khoshnevis F Shams . Automating identification of services and their variability for product lines using NSGA-II. Frontiers of Computer Science, 2017, 11( 3): 444–464
11 L, Carvalho A, Garcia T E, Colanzi W K G, Assunção J A, Pereira B, Fonseca M, Ribeiro Lima M J, De C Lucena . 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 Rosa M, La M, Dumas Hofstede A H M, Ter J Mendling . Configurable multi-perspective business process models. Information Systems, 2011, 36( 2): 313–340
13 Q, Zhang H Li . MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11( 6): 712–731
14 G, Abbas A, Mehmood J, Lloret M S, Raza M Ibrahim . 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 M M, Al-Sayed H A, Hassan F A Omara . An intelligent cloud service discovery framework. Future Generation Computer Systems, 2020, 106: 438–466
16 P, Jamshidi M, Sharifi S Mansour . To establish enterprise service model from enterprise business model. In: Proceedings of 2008 IEEE International Conference on Services Computing. 2008, 93−100
17 A, Kazemi H, Haghighi F Shams . ABSIM: an automated business service identification method. International Journal of Software Engineering and Knowledge Engineering, 2013, 23( 9): 1303–1342
18 Q, Ma N, Zhou Y, Zhu H Wang . Evaluating service identification with design metrics on business process decomposition. In: Proceedings of 2009 IEEE International Conference on Services Computing. 2009, 160−167
19 T Erl . SOA Principles of Service Design. Boston: Prentice Hall, 2007
20 Y, Zhang B, Liu L, Dai K, Chen X Cao . 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 S, Eski F Buzluca . 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 A, Selmadji A D, Seriai H L, Bouziane C, Dony R O Mahamane . Re-architecting OO software into microservices. In: Proceedings of the 7th European Conference on Service-Oriented and Cloud Computing. 2018, 65−73
23 L, Carvalho A, Garcia T E, Colanzi W K G, Assunção M J, Lima B, Fonseca M, Ribeiro C Lucena . 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 M, Brito J, Cunha J Saraiva . Identification of microservices from monolithic applications through topic modelling. In: Proceedings of the 36th Annual ACM Symposium on Applied Computing. 2021, 1409−1418
25 M H G, Barbosa P H M Maia . 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 M, Ahmadvand A Ibrahim . 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 F H, Vera-Rivera E G, Puerto-Cuadros H, Astudillo C M Gaona-Cuevas . Microservices backlog-a model of granularity specification and microservice identification. In: Proceedings of the 17th International Conference on Services Computing. 2020, 85−102
28 L, Baresi M, Garriga Renzis A De . Microservices identification through interface analysis. In: Proceedings of the 6th European Conference on Service-Oriented and Cloud Computing. 2017, 19−33
29 T D, Stojanovic S D, Lazarevic M, Milic I Antovic . Identifying microservices using structured system analysis. In: Proceedings of the 24th International Conference on Information Technology (IT). 2020, 1−4
30 M, Daoud Mezouari A, El N, Faci D, Benslimane Z, Maamar Fazziki A El . 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 M, Daoud Mezouari A, El N, Faci D, Benslimane Z, Maamar Fazziki A El . 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 A, Iosup N, Yigitbasi D Epema . 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 M, Moon M, Hong K Yeom . 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 L, Jiao R, Shang F, Liu W Zhang . Brain and Nature-inspired Learning, Computation and Recognition. Amsterdam: Elsevier, 2020
35 J J, Durillo A J Nebro . jMetal: a Java framework for multi-objective optimization. Advances in Engineering Software, 2011, 42( 10): 760–771
36 C, Berger H, Rendel B, Rumpe C, Busse T, Jablonski F Wolf . Product line metrics for legacy software in practice. In: Proceedings of the 14th International Conference on Software Product Lines. 2010, 247−250
37 R M Young . 75. 9 Euler's constant. The Mathematical Gazette, 1991, 75( 472): 187–190
38 Der Maßen T, Von H Lichter . Deficiencies in feature models. In: Proceedings of Workshop on Software Variability Management for Product Derivation-Towards Tool Support. 2004
39 M, Mendonca M, Branco D Cowan . 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 L C, Briand S, Morasca V R Basili . Defining and validating measures for object-based high-level design. IEEE Transactions on Software Engineering, 1999, 25( 5): 722–743
41 Solingen R, Van V, Basili G, Caldiera H D Rombach . Goal question metric (GQM) approach. In: Marciniak J J, ed. Encyclopedia of Software Engineering. New York: John Wiley, 2002
42 E, Bagheri D Gasevic . Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 2011, 19( 3): 579–612
43 I, Bhattacharya L Getoor . 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 C, Wohlin P, Runeson M, Höst M C, Ohlsson B, Regnell A Wesslén . Experimentation in Software Engineering. New York: Springer, 2012
45 W, Qian J, Liu Y, Lin L, Yang J, Zhang H, Xu M, Liao Y, Chen Y, Chen B Liu . An improved MOEA/D algorithm for complex data analysis. Wireless Communications and Mobile Computing, 2021, 2021: 6393638
[1] FCS-21390-OF-SK_suppl_1 Download
[1] Kun WANG, Song WU, Shengbang LI, Zhuo HUANG, Hao FAN, Chen YU, Hai JIN. Precise control of page cache for containers[J]. Front. Comput. Sci., 2024, 18(2): 182102-.
[2] Ashish SINGH, Abhinav KUMAR, Suyel NAMASUDRA. DNACDS: Cloud IoE big data security and accessing scheme based on DNA cryptography[J]. Front. Comput. Sci., 2024, 18(1): 181801-.
[3] Xingxin LI, Youwen ZHU, Rui XU, Jian WANG, Yushu ZHANG. Indexing dynamic encrypted database in cloud for efficient secure k-nearest neighbor query[J]. Front. Comput. Sci., 2024, 18(1): 181803-.
[4] Jianwei LI, Xiaoming WANG, Qingqing GAN. SEOT: Secure dynamic searchable encryption with outsourced ownership transfer[J]. Front. Comput. Sci., 2023, 17(5): 175812-.
[5] Changbo KE, Fu XIAO, Zhiqiu HUANG, Fangxiong XIAO. A user requirements-oriented privacy policy self-adaption scheme in cloud computing[J]. Front. Comput. Sci., 2023, 17(2): 172203-.
[6] Rong ZENG, Xiaofeng HOU, Lu ZHANG, Chao LI, Wenli ZHENG, Minyi GUO. Performance optimization for cloud computing systems in the microservice era: state-of-the-art and research opportunities[J]. Front. Comput. Sci., 2022, 16(6): 166106-.
[7] Zhengxiong HOU, Hong SHEN, Xingshe ZHOU, Jianhua GU, Yunlan WANG, Tianhai ZHAO. Prediction of job characteristics for intelligent resource allocation in HPC systems: a survey and future directions[J]. Front. Comput. Sci., 2022, 16(5): 165107-.
[8] Zhangjie FU, Yan WANG, Xingming SUN, Xiaosong ZHANG. Semantic and secure search over encrypted outsourcing cloud based on BERT[J]. Front. Comput. Sci., 2022, 16(2): 162802-.
[9] Arpita BISWAS, Abhishek MAJUMDAR, Soumyabrata DAS, Krishna Lal BAISHNAB. OCSO-CA: opposition based competitive swarm optimizer in energy efficient IoT clustering[J]. Front. Comput. Sci., 2022, 16(1): 161501-.
[10] Yao QIN, Hua WANG, Shanwen YI, Xiaole LI, Linbo ZHAI. A multi-objective reinforcement learning algorithm for deadline constrained scientific workflow scheduling in clouds[J]. Front. Comput. Sci., 2021, 15(5): 155105-.
[11] Wei ZHENG, Ying WU, Xiaoxue WU, Chen FENG, Yulei SUI, Xiapu LUO, Yajin ZHOU. A survey of Intel SGX and its applications[J]. Front. Comput. Sci., 2021, 15(3): 153808-.
[12] Najme MANSOURI, Mohammad Masoud JAVIDI, Behnam Mohammad Hasani ZADE. Hierarchical data replication strategy to improve performance in cloud computing[J]. Front. Comput. Sci., 2021, 15(2): 152501-.
[13] Jiayang LIU, Jingguo BI, Mu LI. Secure outsourcing of large matrix determinant computation[J]. Front. Comput. Sci., 2020, 14(6): 146807-.
[14] Meysam VAKILI, Neda JAHANGIRI, Mohsen SHARIFI. Cloud service selection using cloud service brokers: approaches and challenges[J]. Front. Comput. Sci., 2019, 13(3): 599-617.
[15] Qiang LIU, Xiaoshe DONG, Heng CHEN, Yinfeng WANG. IncPregel: an incremental graph parallel computation model[J]. Front. Comput. Sci., 2018, 12(6): 1076-1089.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed