Vendredi 19 avril 2024

On the migration from a monolithic system to a microservices architecture: a study of automated decomposition approaches
Khaled Sellami
Étudiant au doctorat sous la supervision du professeur Mohamed Aymen Saied

Heure: 13h30
Local: PLT-2551

Résumé: Developing and maintaining Monolithic architecture based applications has often led to issues that emerge over time such as scalability and heavy coupling and documentation drift issues. The Microservice Architecture was a popular choice to remedy these problems which is why multiple large organizations have migrated their monolithic applications to this architectural style. However, migration efforts have been shown to be very costly in the short term, very lengthy and, most importantly, very difficult to execute. The decomposition of the monolith and refactoring of the source code in particular have been shown to be the most complex steps in this process since they require a very specific set of skills. The decomposition step consists of matching the components of the original monolithic application to the targeted microservices of the new application while the refactoring step consists of adapting and modifying the code to these changes. Due to the difficulty and complexity of these steps, there was a rising interest in researching approaches and methodologies that would automate the difficult parts of the migration process and offer assistance to the developers in this endeavor. In this presentation, we will review the state of the art of automated decompositions methods that have been proposed in the recent years and describe the challenges and main concepts utilized in the research of this field. We will present as well the solutions that we proposed for this problem utilizing AI-based approaches. For example, we design the decomposition process as a reinforcement learning problem and compare different representations of a monolith. We present as well a study of the quality of source code representations in the context of microservices applications ranging from simple text representations such as word counts to contextual embeddings and Large Language Model (LLM) based embeddings.

Note: La présentation sera donnée en anglais.