Model-driven migration of monolithic applications towards a microservice-oriented architecture - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2022

Model-driven migration of monolithic applications towards a microservice-oriented architecture

Migration dirigée par les modèles d'application monolithique vers une architecture à base de microservices

Pascal Zaragoza

Résumé

The shift towards cloud computing has been largely promoted for its ability to decrease the deployment time and to reduce the operation costs. In turn, this shift towards cloud computing has promoted the development of new architectural styles to take advan- tage of its capabilities. Microservice-oriented architecture (MSA) is one of the latest style to have emerged. This architecture is organized around small services focused on specific business features, running in independent processes, and communicating through lightweight interfaces. These features, when paired with cloud computing and modern DevOps techniques, allow for easily-deployable, autonomous, and scal- able applications. Eager to take advantage of it, enterprises are slowly migrating their existing ap- plications towards the Cloud. However, their legacy applications are oftentimes ill- adapted to the Cloud. In particular, legacy monolithic applications which are charac- terized by their large codebase which is generally harder to maintain, deploy, and scale. For these reasons, companies are eager to migrate their existing monoliths towards a microservice-oriented architecture. Nonetheless, the process of rewriting an applica- tion from scratch using the new architecture is undesirable, due to its costs and risks. Furthermore, companies face the need to migrate their whole software suite which are implemented in varying languages and frameworks. Therefore, not only do compa- nies seek to automate the migration process but also repeat the process across multiple applications. Consequently, the need for a semi-automated, generic, and increasingly reusable migration process emerges. In this thesis, we decompose the migration process into two research problems: (1) the identification of the target microservice-oriented architecture, and (2) the transfor- mation of the source code towards valid microservice candidates. Indeed, the chal- lenge requires understanding the monolith to extract the target microservice architec- ture. Secondly, once the target architecture is identified, the source code of the existing application must be transformed to conform to the MSA. Furthermore, we propose an approach for each research problem, as well as a model-driven approach to guide the migration process from beginning to end. To evaluate our approaches, we implemented two different tools: (1) Mono2Micro, which implements our ad hoc transformation approach to migrate a JAVA-based application, and (2) MDE-Mono2Micro, which implements both our identification approach and our model-driven transformation approach into an end-to-end solution.
Le passage vers l'informatique en nuage a été largement promu pour sa capacité à réduire le temps de déploiement et les coûts opérationnels. En retour, ce passage vers l'informatique en nuage a favorisé le développement de nouveaux styles architecturaux pour tirer parti de ses capacités. L'architecture orientée microservices (MSA) est l'un des derniers styles à avoir émergé. Cette architecture est organisée autour de petits services axés sur des fonctionnalités commerciales spécifiques, s'exécutant dans des processus indépendants et communiquant par le biais d'interfaces légères. Ces caractéristiques, associées à l'informatique en nuage et aux techniques modernes de DevOps, permettent des applications facilement déployables, autonomes et évolutives. Désireuses d'en profiter, les entreprises migrent lentement leurs applications existantes vers le Cloud. Cependant, leurs applications héritées sont souvent mal adaptées au Cloud. En particulier, les applications monolithiques héritées se caractérisent par leur code volumineux, généralement plus difficile à entretenir, déployer et mettre à l'échelle. Pour ces raisons, les entreprises cherchent à migrer leurs monolithes existants vers une architecture orientée microservices. Néanmoins, le processus de réécriture d'une application à partir de zéro en utilisant la nouvelle architecture est indésirable en raison de ses coûts et de ses risques. De plus, les entreprises sont confrontées à la nécessité de migrer l'ensemble de leur suite logicielle, implémentée dans divers langages et frameworks. Par conséquent, les entreprises cherchent non seulement à automatiser le processus de migration, mais également à le répéter sur plusieurs applications. En conséquence, émerge le besoin d'un processus de migration semi-automatisé, générique et de plus en plus réutilisable. Dans cette thèse, nous décomposons le processus de migration en deux problèmes de recherche : (1) l'identification de l'architecture cible orientée microservices, et (2) la transformation du code source en candidats microservices valides. En effet, le défi nécessite de comprendre le monolithe pour extraire l'architecture microservices cible. Deuxièmement, une fois que l'architecture cible est identifiée, le code source de l'application existante doit être transformé pour se conformer à l'architecture orientée microservices. De plus, nous proposons une approche pour chaque problème de recherche, ainsi qu'une approche dirigée par modèle pour guider le processus de migration du début à la fin. Pour évaluer nos approches, nous avons mis en œuvre deux outils différents : (1) Mono2Micro, qui met en œuvre notre approche de transformation ad hoc pour migrer une application basée sur JAVA, et (2) MDE-Mono2Micro, qui met en œuvre à la fois notre approche d'identification et notre approche de transformation dirigée par modèle dans une solution de bout en bout.
Fichier principal
Vignette du fichier
105247_ZARAGOZA_2022_archivage.pdf (14.91 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-04418839 , version 1 (26-01-2024)

Identifiants

  • HAL Id : tel-04418839 , version 1

Citer

Pascal Zaragoza. Model-driven migration of monolithic applications towards a microservice-oriented architecture. Computer Science [cs]. Université de Montpellier, 2022. English. ⟨NNT : ⟩. ⟨tel-04418839⟩
24 Consultations
2 Téléchargements

Partager

Gmail Facebook X LinkedIn More