skip to main content
10.1145/3691621.3694933acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article
Open access

Using Static Analysis to Aid Monolith to Microservice System Transformation: Tuning Fuzzy c-Means in a VAE-Based GNN Approach

Published: 27 October 2024 Publication History

Abstract

Transitioning from monolithic systems to cloud-native based on microservice architecture is essential for organizations facing dynamic technological shifts and growing scalability demands. This paper explores a machine learning-driven approach to decompose monolithic systems into microservices, targeting maintainability and modularization. Utilizing static analysis, we extract critical dependency data from the monolith, which guides the configuration of a Variational Autoencoder (VAE) and fuzzy c-means clustering process. This approach enables precise tuning of hyperparameters to optimize the decomposition into highly independent, scalable microservices. Our findings highlight the effectiveness of integrating static analysis with machine learning to enhance the adaptability and efficiency of distributed systems, providing valuable insights into the nuanced impacts of hyperparameter adjustments on system performance. Furthermore, we provide a novel system multi-variant benchmark to the community.

References

[1]
Muhammad Abdullah, Waheed Iqbal, and Abdelkarim Erradi. 2019. Unsupervised Learning Approach for Web Application Auto-Decomposition into Microservices.
[2]
Florian Auer, Valentina Lenarduzzi, Michael Felderer, and Davide Taibi. 2021. From monolithic systems to Microservices: An assessment framework. Information and Software Technology 137 (2021), 106600.
[3]
James C Bezdek, Robert Ehrlich, and William Full. 1984. FCM: The fuzzy c-means clustering algorithm. Computers & geosciences 10, 2--3 (1984), 191--203.
[4]
Vincent Bushong, Diptal Das, and Tomas Cerny. 2022. Reconstructing the Holistic Architecture of Microservice Systems using Static Analysis. In Proceedings of the 12th International Conference on Cloud Computing and Services Science - CLOSER. 149--157.
[5]
Rui Chen, Shanshan Li, and Zheng Li. 2017. From Monolith to Microservices: A Dataflow-Driven Approach. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC). 466--475.
[6]
Md Showkat Hossain Chy, Korn Sooksatra, Jorge Yero, and Tom Černý. 2024. Benchmarking Micro2Micro transformation: an approach with GNN and VAE. Cluster Computing (05 2024).
[7]
Utkarsh Desai, Sambaran Bandyopadhyay, and Srikanth Tamilselvam. 2021. Graph Neural Network to Dilute Outliers for Refactoring Monolith Application. CoRR abs/2102.03827 (2021). arXiv:2102.03827 https://arxiv.org/abs/2102.03827
[8]
Utkarsh Desai, Sambaran Bandyopadhyay, and Srikanth Tamilselvam. 2021. Graph neural network to dilute outliers for refactoring monolith application. In Proceedings of 35th AAAI Conference on Artificial Intelligence (AAAI'21).
[9]
Sinan Eski and Feza Buzluca. 2018. An Automatic Extraction Approach: Transition to Microservices Architecture from Monolithic Application (XP '18). Association for Computing Machinery, New York, NY, USA, Article 25, 6 pages.
[10]
Gianluca Filippone, Nadeem Qaisar Mehmood, Marco Autili, Fabrizio Rossi, and Massimo Tivoli. 2023. From monolithic to microservice architecture: an automated approach based on graph clustering and combinatorial optimization. In 2023 IEEE 20th International Conference on Software Architecture (ICSA). 47--57.
[11]
Robert Grandl. 2023. A Quick Introduction to Service Weaver.
[12]
Anup K. Kalia, Jin Xiao, Rahul Krishna, Saurabh Sinha, Maja Vukovic, and Debasish Banerjee. 2021. Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices. CoRR abs/2107.09698 (2021). arXiv:2107.09698 https://arxiv.org/abs/2107.09698
[13]
Miika Kalske, Niko Mäkitalo, and Tommi Mikkonen. 2018. Challenges When Moving from Monolith to Microservice Architecture. 32--47.
[14]
Diederik P Kingma and Max Welling. 2013. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114 (2013).
[15]
Alexander Krause, Christian Zirkelbach, Wilhelm Hasselbring, Stephan Lenga, and Dan Kröger. 2020. Microservice Decomposition via Static and Dynamic Analysis of the Monolith. CoRR abs/2003.02603 (2020). arXiv:2003.02603 https://arxiv.org/abs/2003.02603
[16]
Bowen Li, Xin Peng, Qilin Xiang, Hanzhang Wang, Tao Xie, Jun Sun, and Xuanzhe Liu. 2022. Enjoy your observability: an industrial survey of microservice tracing and analysis. Empirical Software Engineering 27 (01 2022).
[17]
A. Mathai, S. Bandyopadhyay, U. Desai, and S. Tamilselvam. 2021. Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network. arXiv preprint arXiv:2112.01317 (2021).
[18]
Davide Rahman, MI.and Taibi. 2019. A curated Dataset of Microservices-Based Systems. In Joint Proceedings of the Summer School on Software Maintenance and Evolution (Tampere, Finland). CEUR-WS.
[19]
C. Richardson. 2018. Microservices Patterns: With examples in Java. Manning. https://books.google.com/books?id=UeK1swEACAAJ
[20]
Sheldon Smith, Ethan Robinson, Timmy Frederiksen, Trae Stevens, Tomas Cerny, Miroslav Bures, and Davide Taibi. 2023. Benchmarks for End-to-End Microservices Testing. In 2023 IEEE International Conference on Service-Oriented System Engineering (SOSE). 60--66.
[21]
Korn Sooksatra, Rokin Maharjan, and Tomas Cerny. 2022. Monolith to Microservices: VAE-Based GNN Approach with Duplication Consideration. In 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE). IEEE, 1--10.
[22]
Davide Taibi and Kari Systä. 2019. From Monolithic Systems to Microservices: A Decomposition Framework based on Process Mining.
[23]
Imen Trabelsi, Manel Abdellatif, Abdalgader Abubaker, Naouel Moha, Sébastien Mosser, Samira Ebrahimi-Kahou, and Yann-Gaël Guéhéneuc. 2022. From legacy to microservices: A type-based approach for microservices identification using machine learning and semantic analysis. Journal of Software: Evolution and Process 35 (09 2022).
[24]
Adam Wiggins. 2017. The Twelve-Factor App. https://12factor.net/https://12factor.net/, last accessed 1/2/2022.
[25]
Rahul Yedida, Rahul Krishna, Anup Kalia, Tim Menzies, Jin Xiao, and Maja Vukovic. 2021. Partitioning Cloud-based Microservices (via Deep Learning).
[26]
Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Wenhai Li, Chao Ji, and Dan Ding. 2018. Delta debugging microservice systems. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, Montpellier, France, September 3--7, 2018, Marianne Huchard, Christian Kästner, and Gordon Fraser (Eds.). ACM, 802--807.
[27]
Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chenjie Xu, Chao Ji, and Wenyun Zhao. 2018. Benchmarking Microservice Systems for Software Engineering Research (ICSE '18). Association for Computing Machinery, New York, NY, USA, 323--324.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASEW '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering Workshops
October 2024
245 pages
ISBN:9798400712494
DOI:10.1145/3691621
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 October 2024

Check for updates

Author Tags

  1. microservices
  2. mono-to-micro
  3. static analysis
  4. distributed systems
  5. variational autoencoder
  6. graph neural networks

Qualifiers

  • Research-article

Funding Sources

Conference

ASEW '24
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 115
    Total Downloads
  • Downloads (Last 12 months)115
  • Downloads (Last 6 weeks)34
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media