skip to main content
10.1145/3368089.3417933acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Mono2Micro: an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture

Published: 08 November 2020 Publication History

Abstract

Mono2Micro is an AI-based toolchain that provides recommendations for decomposing legacy web applications into microservice partitions. Mono2Micro consists of a set of tools that collect static and runtime information from a monolithic application and process the information using an AI-based technique to generate recommendations for partitioning the application classes. Each partition represents a candidate microservice or a grouping of classes with similar business functionalities. Mono2Micro takes a temporo-spatial clustering approach to compute meaningful and explainable partitions. It generates two types of partition recommendations. First, it computes business-logic-seams-based partitions that represent a desired encapsulation of business functionalities. However, such a recommendation may cut across data dependencies between classes, accommodating which could require significant application updates. To address this, Mono2Micro computes natural-seams-based partitions, which respect data dependencies. We describe the set of tools that comprise Mono2Micro and illustrate them using a well-known open-source JEE application.

Supplementary Material

Auxiliary Teaser Video (fse20demo-p27-p-teaser.mp4)
Long video for Mono2Micro demo
Auxiliary Presentation Video (fse20demo-p27-p-video.mp4)
Long video for Mono2Micro demo

References

[1]
Glenn Ammons, Thomas Ball, and James R. Larus. 1997. Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling. In Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation. Association for Computing Machinery, 85-96. https://doi.org/ 10.1145/258915.258924
[2]
Luiz Carvalho, Alessandro Garcia, Wesley K. G. Assunção, Rodrigo Bonifácio, Leonardo P. Tizzei, and Thelma Elita Colanzi. 2019. Extraction of Configurable and Reusable Microservices from Legacy Systems: An Exploratory Study. In Proceedings of the 23rd International Systems and Software Product Line Conference-Volume A. 26-31. https://doi.org/10.1145/3336294.3336319
[3]
Rui Chen, Shanshan Li, and Zheng Li. 2017. From Monolith to Microservices: A Dataflow-Driven Approach. In Proceedings of 24th Asia-Pacific Software Engineering Conference. 466-475.
[4]
Adambarage Anuruddha Chathuranga De Alwis, Alistair Barros, Artem Polyvyanyy, and Colin Fidge. 2018. Function-Splitting Heuristics for Discovery of Microservices in Enterprise Systems. In International Conference on ServiceOriented Computing. Springer, Hangzhou, 37-53.
[5]
Daniel Escobar, Diana Cardenas, Rolando Amarillo, Eddie Castro, Kelly Garcés, Carlos Parra, and Rubby Casallas. 2016. Towards the understanding and evolution of monolithic applications as microservices. In Proceedings of Latin American Computing (CLEI). IEEE, Chile, 1-11.
[6]
Martin Fowler. 2014. BoundedContext. https://martinfowler.com/bliki/ BoundedContext.html
[7]
Martin Fowler. 2019. Microservices Guide. Retrieved May 15, 2020 from https: //martinfowler.com/microservices/
[8]
Wuxia Jin, Ting Liu, Yuanfang Cai, Rick Kazman, Ran Mo, and Qinghua Zheng. 2019. Service Candidate Identification from Monolithic Systems based on Execution Traces. IEEE Transactions on Software Engineering (Apr 2019 ), 1-21.
[9]
Wuxia Jin, Ting Liu, Yuanfang Cai, Rick Kazman, Ran Mo, and Qinghua Zheng. 2019. Service candidate identification from monolithic systems based on execution traces. IEEE Transactions on Software Engineering ( 2019 ).
[10]
Alessandra Levcovitz, Ricardo Terra, and Marco Tulio Valente. 2016. Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems. CoRR ( 2016 ), 1-8. http://arxiv.org/abs/1605.03175
[11]
Genc Mazlami, Jürgen Cito, and Philipp Leitner. 2017. Extraction of Microservices from Monolithic Software Architectures. In Proceedings of International Conference on Web Services. IEEE, Honolulu, 524-531.
[12]
Sam Newman. 2015. Building Microservices (1st ed.). O'Reilly Media, Inc.
[13]
Chiragkumar Patel, Abdelwahab Hamou-Lhadj, and Juergen Rilling. 2009. Software Clustering Using Dynamic Analysis and Static Dependencies. In Proceedings of the 2009 European Conference on Software Maintenance and Reengineering. IEEE Computer Society, 27-36. https://doi.org/10.1109/CSMR. 2009.62
[14]
Zhongshan Ren, Wei Wang, Guoquan Wu, Chushu Gao, Wei Chen, Jun Wei, and Tao Huang. 2018. Migrating Web Applications from Monolithic Structure to Microservices Architecture. In Proceedings of the Tenth Asia-Pacific Symposium on Internetware. ACM, Beijing, 1-10.
[15]
Robin Sibson. 1973. SLINK: An optimally eficient algorithm for the single-link cluster method. Comput. J. 16, 1 (jan 1973 ), 30-34.
[16]
Davide Taibi and Kari Systä. 2019. From monolithic systems to microservices: a decomposition framework based on process mining. In 9th International Conference on Cloud Computing and Services Science (CLOSER). Greece.
[17]
Junfeng Zhao, Jiantao Zhou, Hongji Yang, and Guoping Liu. 2015. An Orthogonal Approach to Reusable Component Discovery in Cloud Migration. China Communications 12, 5 ( 2015 ), 134-151.

Cited By

View all
  • (2025)Extracting microservices from monolithic applications using consistent graph enhanced Graph TransformerJournal of Systems and Software10.1016/j.jss.2025.112345222(112345)Online publication date: Apr-2025
  • (2025) ASRMG : Business Topic Clustering‐Based Architecture Smell Refactoring for Microservices Granularity Software: Practice and Experience10.1002/spe.3404Online publication date: 4-Feb-2025
  • (2024)Microservice Extraction Based on a Comprehensive Evaluation of Logical Independence and PerformanceIEEE Transactions on Software Engineering10.1109/TSE.2024.338019450:5(1244-1263)Online publication date: 21-Mar-2024
  • Show More Cited By

Index Terms

  1. Mono2Micro: an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
      November 2020
      1703 pages
      ISBN:9781450370431
      DOI:10.1145/3368089
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 08 November 2020

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. clustering
      2. dynamic analysis
      3. microservices
      4. software modularization

      Qualifiers

      • Research-article

      Conference

      ESEC/FSE '20
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 112 of 543 submissions, 21%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)81
      • Downloads (Last 6 weeks)4
      Reflects downloads up to 16 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2025)Extracting microservices from monolithic applications using consistent graph enhanced Graph TransformerJournal of Systems and Software10.1016/j.jss.2025.112345222(112345)Online publication date: Apr-2025
      • (2025) ASRMG : Business Topic Clustering‐Based Architecture Smell Refactoring for Microservices Granularity Software: Practice and Experience10.1002/spe.3404Online publication date: 4-Feb-2025
      • (2024)Microservice Extraction Based on a Comprehensive Evaluation of Logical Independence and PerformanceIEEE Transactions on Software Engineering10.1109/TSE.2024.338019450:5(1244-1263)Online publication date: 21-Mar-2024
      • (2024)On the Usefulness of Automatically Generated Microservice ArchitecturesIEEE Transactions on Software Engineering10.1109/TSE.2024.336120950:3(651-667)Online publication date: Mar-2024
      • (2024)On Coordinating LLMs and Platform Knowledge for Software Modernization and New Developments2024 IEEE International Conference on Software Services Engineering (SSE)10.1109/SSE62657.2024.00036(188-193)Online publication date: 7-Jul-2024
      • (2024)Enhancing Automated Microservice Decomposition via Multi-Objective OptimizationIEEE Access10.1109/ACCESS.2024.338970012(55697-55710)Online publication date: 2024
      • (2024)Microservices Boundary Determination Migration in DevOps: A Case StudyBIO Web of Conferences10.1051/bioconf/2024970012297(00122)Online publication date: 5-Apr-2024
      • (2024)Benchmarking Micro2Micro transformation: an approach with GNN and VAECluster Computing10.1007/s10586-024-04526-z27:4(4171-4185)Online publication date: 11-May-2024
      • (2023)Visually-Assisted Decomposition of Monoliths to Microservices2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00057(293-295)Online publication date: 3-Oct-2023
      • (2023)Automatically Refactoring Application Transactions for Microservice-Oriented Architecture2023 IEEE International Conference on Software Services Engineering (SSE)10.1109/SSE60056.2023.00035(210-219)Online publication date: Jul-2023
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media