Abstract
Microservices architecture has gained significant success in software development due to its flexibility and scalability. Decomposing a monolithic system into microservices can increase code reusability and reduce reconstruction costs. However, existing microservices decomposition approaches only utilize dynamic or static feature to represent the monolithic system, leading to low coverage of classes and inadequate information. To address these issues, we propose a novel Microservices Decomposition approach with the Dynamic and Static feature-aware called MDDS, which combines dynamic and static feature to construct a graph that represents the monolithic system. We also propose an approach based on variational graph auto-encoders to learn the nodes’ representations in the graph, providing similar encodings to functionally similar classes to enhance microservices clustering. Extensive experiments on four traditional monolithic systems demonstrate that MDDS outperforms other baselines in several significant metrics.
This work was supported in part by the Shanghai Science and Technology Innovation Action Plan Project under Grant 22511100700.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Fritzsch, J., Bogner, J., Wagner, S., Zimmermann, A.: Microservices migration in industry: intentions, strategies, and challenges. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 481–490. IEEE (2019)
Gonzalez, D., Ravesh, R., Sharma, S.: Microservices: Building Scalable Software. Packt Publishing (2017)
Taibi, D., Kehoe, B., Poccia, D.: Serverless: from bad practices to good solutions. In: 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 85–92. IEEE (2022)
Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: 2018 IEEE International Conference on Web Services (ICWS), pp. 211–218. IEEE (2018)
Abdullah, M., Iqbal, W., Erradi, A.: Unsupervised learning approach for web application auto-decomposition into microservices. J. Syst. Softw. 151, 243–257 (2019)
Taibi, D., Systä, K.: From monolithic systems to microservices: a decomposition framework based on process mining (2019)
Kalia, A.K., Xiao, J., Krishna, R., Sinha, S., Vukovic, M., Banerjee, D.: Mono2micro: a practical and effective tool for decomposing monolithic java applications to microservices. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1214–1224 (2021)
Al Maruf, A., Bakhtin, A., Cerny, T., Taibi, D.: Using microservice telemetry data for system dynamic analysis. In: 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 29–38. IEEE (2022)
Kamimura, M., Yano, K., Hatano, T., Matsuo, A.: Extracting candidates of microservices from monolithic application code. In: 2018 25th Asia-Pacific Software Engineering Conference (APSEC), pp. 571–580. IEEE (2018)
Al-Debagy, O., Martinek, P.: A microservice decomposition method through using distributed representation of source code. Scal. Comput. Pract. Exp. 22(1), 39–52 (2021)
Nunes, L., Santos, N., Rito Silva, A.: From a monolith to a microservices architecture: an approach based on transactional contexts. In: Bures, T., Duchien, L., Inverardi, P. (eds.) ECSA 2019. LNCS, vol. 11681, pp. 37–52. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29983-5_3
Sellami, K., Ouni, A., Saied, M.A., Bouktif, S., Mkaouer, M.W.: Improving microservices extraction using evolutionary search. Inf. Softw. Technol. 151, 106996 (2022)
Newman, M.E., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004)
Guang, M., Yan, C., Xu, Y., Wang, J., Jiang, C.: A multichannel convolutional decoding network for graph classification. IEEE Trans. Neural Netw. Learn. Syst. (2023)
Guang, M., Yan, C., Wang, J., Qi, H., Jiang, C.: Benchmark datasets for stochastic petri net learning. In: 2021 International Joint Conference on Neural Networks (IJCNN), pp. 1–8. IEEE (2021)
Kipf, T.N., Welling, M.: Variational graph auto-encoders. arXiv preprint arXiv:1611.07308 (2016)
Guang, M., Yan, C., Liu, G., Wang, J., Jiang, C.: A novel neighborhood-weighted sampling method for imbalanced datasets. Chin. J. Electron. 31(5), 969–979 (2022)
Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524–531. IEEE (2017)
Li, J., Xu, H., Xu, X., Wang, Z.: A novel method for identifying microservices by considering quality expectations and deployment constraints. Int. J. Softw. Eng. Knowl. Eng. 32(03), 417–437 (2022)
Kinoshita, T., Kanuka, H.: Automated microservice decomposition method as multi-objective optimization. In: 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), pp. 112–115. IEEE (2022)
Van Hoorn, A., Waller, J., Hasselbring, W.: Kieker: a framework for application performance monitoring and dynamic software analysis. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, pp. 247–248 (2012)
Cerny, T., Taibi, D.: Static analysis tools in the era of cloud-native systems. arXiv preprint arXiv:2205.08527 (2022)
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Boston (2004)
Alon, U., Zilberstein, M., Levy, O., Yahav, E.: Code2vec: learning distributed representations of code. Proc. ACM Program. Lang. 3(POPL), 1–29 (2019)
Andritsos, P., Tzerpos, V.: Information-theoretic software clustering. IEEE Trans. Softw. Eng. 31(2), 150–165 (2005)
Athanasopoulos, D., Zarras, A.V., Miskos, G., Issarny, V., Vassiliadis, P.: Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans. Serv. Comput. 8(4), 550–562 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Chen, L., Guang, M., Wang, J., Yan, C. (2023). Dynamic and Static Feature-Aware Microservices Decomposition via Graph Neural Networks. In: Jin, Z., Jiang, Y., Buchmann, R.A., Bi, Y., Ghiran, AM., Ma, W. (eds) Knowledge Science, Engineering and Management. KSEM 2023. Lecture Notes in Computer Science(), vol 14117. Springer, Cham. https://doi.org/10.1007/978-3-031-40283-8_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-40283-8_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-40282-1
Online ISBN: 978-3-031-40283-8
eBook Packages: Computer ScienceComputer Science (R0)