Concern-Oriented MicroService Architecture : Language, Library, Toolbox and Evaluation
Architecture à microservice orientée sur les préoccupations : langage, bibliothèque, boîte à outils et évaluation
- Micro-Services
- Cloud
- Langages de description d’architecture
- Compilation
- Kubernetes
- Docker compose
- Microservices
- Informatique dans les nuages
- Architecture logicielle
- Compilateurs (logiciels)
- Langages de programmation déclaratifs
- Micro-Services
- Cloud
- Language
- Compilation
- Kubernetes
- Declarative languages
- Langue : Anglais
- Discipline : Informatique et applications
- Identifiant : 2025ULILB030
- Type de thèse : Doctorat
- Date de soutenance : 28/11/2025
Résumé en langue originale
Dans les dix dernières années, le style d'architecture à microservices a pris une place majeure dans la conception des applications. La croissance de son importance s'est faite en symbiose avec le développement du cloud, la nature distribuée et indépendante des microservices trouvant sa pertinence en permettant aux applications d'exploiter les possibilités de l'infrastructure telles que la mise à l'échelle, la flexibilité et l'efficacité dans l'utilisation des ressources. Bien que le style d'architecture à microservices doit sa large adoption dans l'industrie à ses indéniables mérites, il a aussi apporté de nouvelles difficultés consubstantielles à ses avantages. La multiplication d'entités exécutables indépendantes rend la représentation du système difficile, et le fait de permettre l'indépendance des équipes de développement, bien que produisant des gains considérables dans les délais d'intégration, créé un risque accru de dérive vers des systèmes inutilement complexes et obscurs. Pour limiter ces conséquences néfastes, les architectes logiciels peuvent s'appuyer sur des Langages de Description d'Architecture (ADL). Par l'étude des ADL spécifiques aux applications à microservices existants, nous avons identifiés deux principaux manquements qui sont le partage d'un métamodèle ne faisant pas des structures architecturale abstraites des citoyens de première classe dans le langage et d'avoir pour finalité de produire du code métier procédural ce qui, d'une part, va contre l'agnosticité technologique qui est au cœur de l'esprit des applications à microservices, et d'autre part produit une inévitable désynchronisation entre la description architecturale et l'application puisque le code généré demande d'être adapté et complété. Pour répondre à ces limitations, nous avons conçu un nouveau métamodèle pour les ADL microservices ainsi qu'un language l'implantant nommé Concern Oriented Microservice Architecture (COMSA) accompagné d'une boîte à outils. Nous proposons ainsi une nouvelle manière de concevoir la description des applications à microservices, en utilisant le concept de préoccupation pour ancrer sémantiquement une structure syntaxique faisant de la description architecturale une nécessité de conception. Cette proposition est soutenue par des compilateurs produisant du code exécutable sans modification faisant de COMSA un langage exécutable. Par la réécriture d'un jeu de données d'applications décrites via le langage Docker Compose dans le langage COMSA, nous avons établi qu'une application écrite en COMSA demandait en moyenne trois fois moins de propriétés pour une description équivalente. Ce résultat indique immédiatement un gain considérable en cohérence et vient corroborer les améliorations qualitatives en intelligibilité, tolérance aux erreurs et efforts de maintenance.
Résumé traduit
The microservice architectural style has risen to a prominent place during the last decade in synergy with the development of the cloud. Those two aspects of software architecture work in symbiosis with the distributed and independent nature of microservices permitting central requirements of cloud hosted applications such as scalability, flexibility and efficiency in resource utilisation to be fulfilled while the tendency to host applications on the cloud has given its full relevance to the microservice architecting style. Even though microservice architecture has spread by virtue of its undeniable advantages, it has brought new difficulties equally consequences of the source of its benefits.The multiplication of independent executable entities is an hindrance to global representation of the system which coupled to the independence of development teams can lead to an increasingly obscure and pointlessly complicated state. To tackle this challenge, software architects can rely on Architecture Description Languages (ADL) whose aim is precisely to represent the architecture of a system. Multiple ADL propositions have been made to represent microservice architecture about which we identified two main shortcomings. Firstly they share a common model that doesn't make overarching abstract structures such as design patterns first class citizens of the languages. Secondly their ultimate focus is to generate procedural execution code which goes against the fundamental technology agnosticism of the microservice style but also condemns the ADL to be irreversibly desynchronised with the actual application since the generated code needs completion and adaptation. To answer those unsolvable limitations we propose a new microservice ADL model and language, named Concern Oriented Microservice Architecture (COMSA) and its associated toolbox. We use the Concern concept to semantically anchor a structure encompassing microservices made first class citizen of the language thus making architecture description a necessity by design. That orientation is supported by compilers producing code executable without any modification thus making COMSA an executable language. This is made possible by choosing declarative deployment languages as target languages which permits not to consider the order of instructions in compilation and leave complete freedom of choice to the developers in terms of microservices implementation technology.Through rewriting of a dataset of Docker Compose microservices applications in the COMSA language, we established that on average application used tree times less properties indicating a major increase in coherence and supporting the qualitative benefits we describe in terms of understandability, error resilience and maintainability.
- Directeur(s) de thèse : Merle, Philippe
- Président de jury : Etien, Anne
- Membre(s) de jury : Marangozova, Vania - Cleve, Anthony
- Rapporteur(s) : Ledoux, Thomas - Perez, Christian
- Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille - Centre Inria de l'Université de Lille
- École doctorale : École graduée Mathématiques, sciences du numérique et de leurs interactions (Lille ; 2021-....)
AUTEUR
- Monfleur, Hugo



