Skip to main content
Log in

Benchmarking Micro2Micro transformation: an approach with GNN and VAE

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

In the evolving landscape of software architecture, the shift from monolithic structures to agile, scalable microservices has revolutionized cloud-native application development. However, the inherent dynamism of microservices can lead to the inadvertent creation of unnecessary microservices, introducing complexity and inefficiency. Moreover, with a lack of control mechanisms in evolution, systems can lead to what is known as architecture degradation. This research ventures into the emerging domain of microservice-to-microservice transformation, a concept focused on optimizing existing cloud-native systems. We experiment with a machine learning methodology initially designed for monolith-to-microservices migration, adapting it to the complex microservices landscape, with a specific focus on the train-ticket application (Zhou in Association for Computing Machinery, https://doi.org/10.1145/3183440.3194991), which is an established system benchmark in the community. To identify the optimal microservice distribution, we employ a combination of the Variational Autoencoder and fuzzy c-means clustering. Our results demonstrate a close resemblance to the original application in terms of structural modularity. Though they fall short of achieving the ideal interface number exhibited by the original microservices, our findings highlight the potential of automated microservice composition, effectively narrowing the gap between human-designed and machine-generated microservices and advancing the field of software architecture.

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

Access this article

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Data availibility

We have shared our open-source tools, datasets, and intermediate representations from involved tools through a third-party Zenodo package. The constructed train-ticket monolith can be found here: https://github.com/cloudhubs/train-ticket-monolith. The experiment code, results, and data extracted from the train-ticket project are available at https://zenodo.org/record/8417757.

Notes

  1. Script for converting microservice to monolith: https://github.com/cloudhubs/train-ticket-monolith

  2. Monolith version of the train-ticket system: https://github.com/cloudhubs/train-ticket-monolith.

  3. Train-Ticket Selenium Tests: https://github.com/cloudhubs/microservice-tests/tree/main/Selenium.

References

  1. Matias, T., et al.: Determining microservice boundaries: A case study using static and dynamic software analysis. CoRRabs/2007.05948 (2020). https://arxiv.org/abs/2007.05948

  2. Riaz, M., Sulayman, M., Naqvi, H.: Architectural decay during continuous software evolution and impact of design for change on software architecture. In: Adv. Softw. Eng., pp. 119–126. Springer, Berlin (2009)

    Chapter  Google Scholar 

  3. Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Limiting technical debt with maintainability assurance - an industry survey on used techniques and differences with service- and microservice-based systems. In: 2018 IEEE/ACM International Conference on Technical Debt (TechDebt), pp. 125–133 (2018)

  4. Lenarduzzi, V., Lomio, F., Saarimäki, N., Taibi, D.: Does migrating a monolithic system to microservices decrease the technical debt? J. Syst. Softw. 169, 110710 (2020)

    Article  Google Scholar 

  5. Sooksatra, K., Maharjan, R., Cerny, T.: Monolith to microservices: Vae-based gnn approach with duplication consideration. In: 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 1–10 (2022)

  6. Taibi, D., Systä, K.: From monolithic systems to microservices: a decomposition framework based on process mining (2019)

  7. Chen, R., Li, S., Li, Z.: From monolith to microservices: A dataflow-driven approach. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 466–475 (2017)

  8. Zhou, X., et al.: Benchmarking microservice systems for software engineering research. Assoc. Comput. Mach. (2018). https://doi.org/10.1145/3183440.3194991

    Article  Google Scholar 

  9. Chy, M., Sooksatra K., Cerny T.: Train-ticket: Monolith to microservices conversion benchmark. https://github.com/cloudhubs/train-ticket-monolith (2023)

  10. Krause, A., Zirkelbach, C., Hasselbring, W., Lenga, S., Kröger, D.: Microservice decomposition via static and dynamic analysis of the monolith. CoRRabs/2003.02603 (2020). https://arxiv.org/abs/2003.02603

  11. Auer, F., Lenarduzzi, V., Felderer, M., Taibi, D.: From monolithic systems to microservices: an assessment framework. Inform. Softw. Technol. 137, 106600 (2021)

    Article  Google Scholar 

  12. Kalia, A. K., et al.: Mono2micro: A practical and effective tool for decomposing monolithic java applications to microservices. CoRRabs/2107.09698 (2021). https://arxiv.org/abs/2107.09698

  13. Eski, S., Buzluca, F.: An automatic extraction approach: transition to microservices architecture from monolithic application. Assoc. Comput. Mach. (2018). https://doi.org/10.1145/3234152.3234195

    Article  Google Scholar 

  14. Day, W., Edelsbrunner, H.: Efficient algorithms for agglomerative hierarchical clustering methods. J. Classif. 1, 7–24 (1984)

    Article  Google Scholar 

  15. Abdullah, M., Iqbal, W., Erradi, A.: Unsupervised learning approach for web application auto-decomposition into microservices (2019)

  16. Kalia, A.K., et al.: Mono2micro: an ai-based toolchain for evolving monolithic enterprise applications to a microservice architecture. Assoc. Comput. Mach. (2020). https://doi.org/10.1145/3368089.3417933

    Article  Google Scholar 

  17. Desai, U., Bandyopadhyay, S., Tamilselvam, S.: Graph neural network to dilute outliers for refactoring monolith application. CoRRabs/2102.03827 (2021). https://arxiv.org/abs/2102.03827

  18. Kipf, T. N., Welling, M.: Semi-supervised classification with graph convolutional networks. CoRRabs/1609.02907 (2016). http://arxiv.org/abs/1609.02907

  19. Mathai, A., Bandyopadhyay, S., Desai, U., Tamilselvam, S.: Monolith to microservices: representing application software through heterogeneous GNN. CoRRabs/2112.01317 (2021). https://arxiv.org/abs/2112.01317

  20. Zhang, C., Song, D., Huang, C., Swami, A., Chawla, N.V.: Heterogeneous graph neural network. Asso. Comput. Mach. (2019). https://doi.org/10.1145/3292500.3330961

    Article  Google Scholar 

  21. Yedida, R., et al.: Partitioning cloud-based microservices (via deep learning) (2021)

  22. Grandl, R.: A quick introduction to service weaver. https://serviceweaver.dev/blog/quick_intro.html (2023)

  23. Desai, U., Bandyopadhyay, S., Tamilselvam, S.: Graph neural network to dilute outliers for refactoring monolith application. In: Proceedings of 35th AAAI Conference on Artificial Intelligence (AAAI’21). (2021)

  24. Kingma, D. P., Welling, M.: Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114 (2013)

  25. Bezdek, J.C., Ehrlich, R., Full, W.: Fcm: the fuzzy c-means clustering algorithm. Comput. Geosci. 10, 191–203 (1984)

    Article  Google Scholar 

  26. Rahman, D., Taibi, MI.: A curated dataset of microservices-based systems. In: Joint Proceedings of the Summer School on Software Maintenance and Evolution. (CEUR-WS, 2019)

  27. Li, B., et al.: Enjoy your observability: an industrial survey of microservice tracing and analysis. Emp. Softw. Eng. 27, 1–28 (2022)

    Google Scholar 

  28. Zhou, X., et al.: Huchard, M., Kästner, C. & Fraser, G. (eds) 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, pp. 802–807 (ACM, 2018). https://doi.org/10.1145/3238147.3240730

  29. Walker, A., Laird, I., Cerny, T.: On automatic software architecture reconstruction of microservice applications. In: Inform. Sci. Appl., pp. 223–234. Springer, Singapore (2021)

    Google Scholar 

  30. Smith, S., et al.: Benchmarks for end-to-end microservices testing. In: 2023 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 60–66 (2023)

  31. Kodinariya, T.M., Makwana, P.R., et al.: Review on determining number of cluster in k-means clustering. Int. J. 1, 90–95 (2013)

    Google Scholar 

  32. Abdelfattah, A. S., Cerny, T., Taibi, D., Vegas, S.: Comparing 2d and augmented reality visualizations for microservice system understandability: a controlled experiment. In: 2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC), pp. 135–145 (2023)

  33. Abdelfattah, A.S., et al.: Papadopoulos. In: Rademacher, F., Soldani, J. (eds.) End-to-End Test Coverage Metrics in Microservice Systems: An Automated Approach, pp. 35–51. Springer, Cham (2023)

    Google Scholar 

  34. Touvron, H., et al.: Llama 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288 (2023)

  35. Banks, T. W. J.L Gemma: introducing new state-of-the-art open models (2024)

  36. Radford, A., et al.: Language models are unsupervised multitask learners. OpenAI blog 1, 9 (2019)

    Google Scholar 

Download references

Funding

No funds, grants, or other support was received.

Author information

Authors and Affiliations

Authors

Contributions

Md Showkat Hossain Chy: Resources, Conceptualization, Methodology, Software, Data curation, Formal analysis and investigation, Writing-Original draft preparation. Korn Sooksatra: Resources, Formal analysis, and investigation, Data curation, Validation, Writing-Original draft preparation. Jorge Yero: Resources, Software, Validation. Tomas Cerny: Formal analysis and investigation, Supervision, Validation, Writing-Original draft preparation.

Corresponding author

Correspondence to Tomas Cerny.

Ethics declarations

Conflict of interest

On behalf of all authors, the corresponding author states that there is no Conflict of interest.

Research involving human and /or animals

Not applicable

Informed consent

Not applicable

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chy, M.S.H., Sooksatra, K., Yero, J. et al. Benchmarking Micro2Micro transformation: an approach with GNN and VAE. Cluster Comput (2024). https://doi.org/10.1007/s10586-024-04526-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10586-024-04526-z

Keywords

Navigation