Migration automatique de logiciels : Entreprises/services

Partager par e-mail

Mono2Micro : Du logiciel monolithique aux microservices polyvalents

Au cours de la dernière décennie, on a assisté à un changement de paradigme important en faveur du cloud computing et des services Web. Les organisations s'efforçant de suivre les dernières tendances, il y a eu une demande de transfert des systèmes existants vers le cloud. Le site architecture orientée vers les microservices (MSA) est un style d'architecture récent qui a émergé pour tirer parti du Cloud avec des capacités de déploiement rapide, une meilleure évolutivité et une meilleure maintenabilité. MSA est une approche architecturale permettant de développer une application unique sous la forme d'une suite de petits services, chacun s'exécutant dans son propre processus et communiquant avec des interfaces légères. Individuellement, chaque microservice doit être indépendant, autonome sur le plan fonctionnel et autonome sur le plan des données. Ce style architectural permet d'obtenir une base de code plus facile à gérer, car chaque microservice peut être géré par une équipe réduite.

Les applications monolithiques sont des applications à un seul niveau où l'interface utilisateur, la logique métier et les données sont combinées en un seul programme. La plupart de ces systèmes patrimoniaux sont orienté objet (OO) et contiennent des dépendances internes complexes. En vieillissant, ils deviennent volumineux et complexes, et le coût de leur maintenance et de leur évolution augmente. Souvent, il est difficile de les faire évoluer de manière modulaire. Par conséquent, elles sont mises à l'échelle en dupliquant des instances de l'application entière. Cette solution est un moyen très inefficace de répondre à des charges de travail qui évoluent rapidement, tout en maintenant une utilisation optimale.

Le résultat de ce changement de paradigme est que les communautés industrielles et scientifiques sont intéressées par l'évolution / la migration de leurs systèmes existants vers des microservices. Le processus de migration est coûteux lorsqu'il est effectué manuellement. Il peut être divisé en deux étapes : (1) l'extraction des microservices d'une architecture OO et (2) la transformation de l'architecture OO vers une MSA. Le processus d'extraction consiste à identifier une architecture de microservices à partir du code source d'une application monolithique (et de l'architecture OO correspondante). Ensuite, avec la MSA, le code source est transformé pour se conformer à sa nouvelle architecture. Des approches pour extraire une architecture de microservices ont été proposées pour formaliser et automatiser le processus. Cependant, aucune approche n'a été proposée pour transformer automatiquement des monolithes en microservices, cette partie reste donc coûteuse car elle doit être réalisée manuellement.

Processus de migration d'un logiciel monolithique OO vers un MSA

L'objectif de cette thèse est de

  • fournir un processus de transformation d'une application monolithique en une application orientée microservices
  • et la combiner avec les approches d'extraction existantes pour créer un outil de migration semi-automatique et itératif.

Cet outil sera utilisé pour migrer progressivement et itérativement les projets backend existants chez Berger-Levrault vers l'architecture moderne de microservices. Cette thèse est travaillée en parallèle avec une autre thèse sur la migration des GUIs, afin de fournir un outil complexe pour la migration du front et du backend de différents logiciels chez Berger-Levrault.

Plus ...

Retour en haut