The migration from monolithic to microservices has gained significant attention due to the growing demand for scalable, maintainable, and agile software systems. While microservices offer benefits, such as independent deployment, fault isolation, and enhanced scalability,migrating an existing monolithic system is a complex, resource-intensive, and error-prone process. This process involves multiple interdependent phases: pre-migration, service identification, service packaging, deployment, and monitoring, each presenting distinct challenges.
Existing migration approaches rely heavily on expert-driven, manual techniques, making the process costly, time-consuming, and error-prone. Recent advancements in Machine Learning and Large Language Models provide new capabilities for analysing source code, learning patterns from existing systems, and generating code or configurations, thus offering concrete opportunities to automate and optimise the migration process. While some phases, such as service identification, have been extensively studied, others, such as microservice packaging and deployment configuration, remain underexplored and require substantial manual effort.
This thesis begins with a Systematic Literature Review (SLR) of 81 primary studies on machine learning-based approaches to monolith-to-microservices migration, published between 2015 and 2024. The SLR provides a comprehensive analysis of existing techniques and reveals that, while service identification has been extensively studied, the phases of microservice packaging and deployment configuration remain underexplored and largely reliant on manual effort.
Building on these findings, this thesis introduces a machine learning-driven framework that automates the three key phases of the migration process, identification, packaging, and deployment, thereby reducing manual effort and enabling the transition toward a modular and cohesive microservices architecture. The framework comprises the following ML-based approaches: (1) Service Identification via MicroMiner, which leverages clustering and semantic analysis to decompose monolithic systems into microservices aligned with single-responsibility and bounded context principles; (2) Service Packaging via MicroPacker, which employs LLM-guided transformation to modularise code, generate standardised APIs, and integrate foundational microservice patterns; and (3) Service Deployment via MiDKo, which applies retrieval-augmented generation to automatically produce accurate Kubernetes and Docker configurations.
Collectively, these contributions minimise manual intervention, enhance the architectural quality and modularity of the resulting microservices, and ensure the generation of valid deployment artifacts, resulting in cohesive and deployable microservices ready for execution in modern cloud environments.
| Date | 18 Aug 2025 |
|---|
| Original language | American English |
|---|
| Awarding Institution | - École de technologie supérieure
|
|---|
| Supervisor | Naouel Moha (Supervisor) & Yann Gael Gueheneuc (Co-supervisor) |
|---|