Soutenance de thèse de Mazen Ezzeddine

Mazen Ezzeddine soutiendra sa thèse de doctorat le mardi 16 septembre 2025 à 13h30 au laboratoire i3S, salle 007 du bâtiment Euclide B.

La thèse intitulée « Performance d'une architecture de microservices sensible aux SLA sur des files d'attente d'événements distribuées » a été réalisée dans le pôle COMRED sous la direction de Françoise Baude et sous la co-direction de Fabrice Huet.

La présentation sera en anglais.

Résumé :

Cette thèse a été menée au sein de l'entreprise HighTech Payment Systems (HPS). HPS souhaitait repenser leur système d'autorisation de paiement en un ensemble de microservices communiquant via des files d'attente d'événements (c'est-à-dire des microservices pilotés par les événements) et s'exécutant sur un orchestrateur de ressources, Kubernetes, au dessus d'un intergiciel supportant des queues d'événéments, en l'occurence Kafka. Dans le cadre de cette nouvelle solution d'autorisation de paiement, mes recherches ont consisté à ajouter et supprimer dynamiquement des ressources (réplica de services) afin de garantir une latence souhaitée, à faible coût et en optimisant l'usage des ressources. Dans ce contexte, la première partie de cette thèse a abordé le problème de recherche de l'efficacité dans l'utilisation des ressources et de la prise en compte de la latence pour un unique microservice piloté par les événements. Nous avons modélisé mathématiquement le problème et l'avons exprimé sous la forme d'un problème de bin pack bidimensionnel avec deux métriques (taux d'arrivée et longueur de la file d'attente des événéments à traiter). Nous avons proposé d'utiliser une heuristique appropriée (Least-Loaded) pour résoudre le problème en temps polynomial. Par ailleurs, sachant que l'ajout et la suppression de réplicas de services pour les microservices événementiels nécessitent un protocole de synchronisation/d'affectation de partitions aux replicas qui est bloquant, nous avons étendu l'algorithme de bin pack pour prendre en compte l'accumulation d'événements lors de la synchronisation bloquante, et ce afin de réduire la latence. Dans la deuxième partie de la thèse, nous abordons le problème de l'efficacité de l'usage des ressources et de la prise en compte de la latence pour un ensemble de microservices événementiels interconnectés dans une topologie de graphe acyclique. Nous expliquons comment l'interaction parent-enfant et enfant-parent entre les services peut tromper un autoscaler naïf (par exemple, l'autoscaler de Kubernetes) lors du provisionnement des ressources/réplicas de services requis. Par conséquent, nous proposons un algorithme qui visite chaque microservice du graphe dans l'ordre topologique et, qui simultanément, dans le même intervalle de décision, provisionne les réplicas de services requis pour chaque microservice. Nous notons cependant que cette solution n’a pas été entièrement finalisée et nécessite des expérimentations supplémentaires au-delà des travaux présentés dans cette thèse.