Thèse soutenue

Prévision des performances des services Web en environnement Cloud

FR  |  
EN
Auteur / Autrice : Clement Cassé
Direction : Philippe OwezarskiPascal Berthou
Type : Thèse de doctorat
Discipline(s) : Réseaux, Télécoms, Systèmes et Architecture
Date : Soutenance le 26/10/2023
Etablissement(s) : Toulouse 3
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Analyse et d'Architecture des Systèmes (Toulouse ; 1968-....)
Jury : Président / Présidente : Pierre Sens
Examinateurs / Examinatrices : Philippe Owezarski, Pascal Berthou, Yves Roudier, Géraldine Texier, Gilles Trédan
Rapporteurs / Rapporteuses : Yves Roudier, Géraldine Texier

Résumé

FR  |  
EN

Le Cloud Computing a bouleversé la façon dont sont développés et déployées les logiciels. De nos jours, les applications Cloud sont conçues comme des systèmes distribués, en constante évolution, hébergés dans des data~center gérés par des tiers, et potentiellement même dispersés dans le monde entier. Ce changement de paradigme a également eu un impact considérable sur la façon dont les logiciels sont monitorés : les applications cloud se sont développées pour atteindre l'ordre de centaines de services, et les outils de monitoring ont rapidement rencontré des problèmes de mise à l'échelle. De plus, ces outils de monitoring doivent désormais également traiter les défaillances et les pannes inhérentes aux systèmes distribués, comme par exemple, les pannes partielles, les configurations incohérentes, les goulots d'étranglement ou même la vampirisation de ressources. Dans cette thèse, nous présentons une approche basée sur une nouvelle source de télémétrie qui s'est développée dans le domaine du monitoring des applications Cloud. En effet, en nous appuyant sur le récent standard OpenTelemetry, nous présentons un système qui convertit les données de "traces distribuées" en un graphe de propriétés hiérarchique. Grâce un tel modèle, il devient possible de mettre en évidence la topologie des applications, y compris la répartition sur les différentes machines des programmes, y compris sur plusieurs data-centers. L'objectif de ce modèle est donc d'exposer le comportement des fournisseurs de service Cloud aux développeurs qui maintiennent et optimisent leur application. Ensuite, nous présentons l'utilisation de ce modèle pour résoudre certains des défis majeurs des systèmes distribués~: la détection des communications inefficaces entre les services et l'anticipation des goulots d'étranglement. Nous abordons ces deux problèmes avec une approche basée sur la théorie des graphes. La composition inefficace des services est détectée avec le calcul de l'indice de hiérarchie de flux. Une plateforme Proof-of-Concept représentant un cluster Kubernetes zonal pourvu d'une instrumentation OpenTelemetry est utilisée pour créer et détecter les compositions de services inefficaces. Dans une dernière partie, nous abordons la problématique de la détection des goulots d'étranglement dans un réseau de services au travers de l'analyse de centralité du graphe hiérarchique précédent. Ce travail s'appuie sur un programme de simulation qui a aussi été instrumenté avec OpenTelemetry afin d'émettre des données de traçage. Ces traces ont été converties en un graphe de propriétés hiérarchique et une étude sur les algorithmes de centralité a permis d'identifier les points d'étranglement. Les deux approches présentées dans cette thèse utilisent et exploitent l'état de l'art en matière de monitoring des applications Cloud. Elles proposent une nouvelle utilisation des données de "distributed tracing" pas uniquement pour l'investigation et le débogage, mais pour la détection et la réaction automatiques sur un système réel.