Mise en place de la gestion automatisée du Cloud Edge Computing Continuum
Auteur / Autrice : | Mohamed Mekki |
Direction : | Adlen Ksentini |
Type : | Thèse de doctorat |
Discipline(s) : | Sciences de l'ingénieur |
Date : | Soutenance le 12/07/2024 |
Etablissement(s) : | Sorbonne université |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : Institut EURECOM (Sophia-Antipolis, Alpes-Maritimes ; 1992-....) |
Jury : | Président / Présidente : Jérôme Härri |
Examinateurs / Examinatrices : Miloud Bagaa, Amadou-Abdoulaye Ba, Nancy Perrot | |
Rapporteurs / Rapporteuses : Nadjib Ait Saadi, Pascal Lorenz |
Mots clés
Résumé
La maturation de la provision et de la gestion des infrastructures de cloud computing et d'edge computing a engendré le Cloud Edge Computing Continuum (CECC), facilitant le déploiement et la migration d'applications entre les infrastructures cloud centralisées et les infrastructures edge décentralisées. Cette transition a donné vie à des nouveaux cas d'utilisation dans des secteurs tels que l'Internet Industriel des Objets (IIoT), les véhicules autonomes et la réalité augmentée, tous profitant de cette architecture distribuée. Ces domaines d'application requièrent à la fois la scalabilité des centres de données massifs du cloud traditionnel et la faible latence des infrastructures edge computing. Les progrès technologiques, tels que la virtualisation, la conteneurisation et les réseaux 5G, ont facilité le développement d'applications CECC, passant des architectures monolithiques aux microservices. L'orchestration efficace des applications CECC est essentielle pour garantir la performance et optimiser l'utilisation des ressources. Cette thèse propose des solutions pour la gestion automatisée du CECC, se concentrant sur la collecte de données de supervision, la compréhension du fonctionnement des applications et de l'infrastructure, et la prise de décisions sur le placement la migration et l'adaptation des ressources des applications. Dans la première contribution de cette thèse, nous proposons un framework de supervision de services multi-domaines de bout en bout. De tels services consistent en des applications et des fonctions réseau qui s'étendent sur plusieurs domaines technologiques, chacun présentant ses propres intrications uniques. Le système de supervision proposé utilise une structure unifiée des Key Performance Indicators (KPIs), abstrayant efficacement toutes les complexités sous-jacentes. Des tests approfondis dans différents scénarios valident la scalabilité du framework et sa capacité à superviser un grand nombre de services simultanément. La prochaine étape de la thèse impliquait le profilage des applications, dans lequel nous avons mené une étude expérimentale pour explorer le comportement de différents types d'applications dans des environnements cloud-native. Cette étude met en évidence l'incapacité des propriétaires d'applications à configurer les ressources appropriées pour leurs applications afin de fonctionner de manière optimale sans entraîner de gaspillage des ressources d'infrastructure. Ensuite, nous avons utilisé des techniques de machine learning et d'eXplainable AI (XAI) pour construire des modèles capables de prédire la dégradation des performances des applications, en utilisant des ensembles de données générés à partir de notre étude. Lorsque le modèle prédit un déclin des performances de l'application, le module XAI fournit des explications pour la sortie du modèle, facilitant l'identification de la cause profonde de la dégradation du service. Cette cause profonde est ensuite traitée par le gestionnaire d'application.Le parcours de cette thèse s'est conclu par la proposition d'une architecture pour la gestion du cycle de vie des applications CECC. Cette architecture utilise des profils d'application et d'infrastructure pour déployer et migrer des applications tout en tenant compte de l'empreinte carbone du déploiement CECC.Le principal défi réside dans la représentation concrète du profil d'application de manière à pouvoir spécifier les exigences actuelles et futures de l'application. Ce défi a été relevé en représentant efficacement le profil d'application pour faciliter la dérivation des exigences actuelles et futures de l'application.