« Supporter la gestion et l’orchestration des ressources cloud dans un environnement multi-nuage »

L’Ecole doctorale : Ecole Doctorale de l’Institut Polytechnique de Paris

et le Laboratoire de recherche SAMOVAR

présentent
l’AVIS DE SOUTENANCE de Madame Hayet BRABRA

Autorisée à présenter ses travaux en vue de l’obtention du Doctorat de l’Institut Polytechnique de Paris, préparé à Télécom SudParis en :
Informatique

« Supporter la gestion et l’orchestration des ressources cloud dans un environnement multi-nuage »

le JEUDI 13 FéVRIER 2020 à 16h00

à

Télécom SudParis, 9 rue Charles Fourier 91011, Evry Courcouronnes
Salle : Amphithéâtre A003

Membres du jury :

M. Walid GAALOUL, Professeur,
Télécom SudParis, FRANCE
Directeur de thèse
M. Faiez GARGOURI, Professeur,
Higher Institute of Computer Science and Multimedia, TUNISIE
Directeur de thèse
M. Fabio CASATI, Professeur,
Université de Trento, ITALIE
Rapporteur
Mme Carine SOUVEYET, Professeure,
Université Paris 1 Panthéon Sorbonne, FRANCE
Rapporteur
M. Boualem BENATALLAH, Professeur,
University of New South Wales, AUSTRALIE
Examinateur
M. Philippe MERLE, Professeur,
Inria Lille, FRANCE
Examinateur
Mme Amel BOUZEGHOUB, Professeure,
Telecom SudParis, FRANCE
Examinatrice
M. Lotfi CHAARI , Associate Professor,
INP Toulouse, FRANCE
Examinateur

Résumé :

Face à l’adoption croissante du Cloud Computing, des API, des outils et des plateformes de configuration et de gestion hétérogènes ont été proposés pour permettre des tâches de gestion et d’orchestration de bout en bout. Toutefois, cette prolifération est l’une des raisons fondamentales qui a aggravé le problème de l’hétérogénéité à de nombreux égards, rendant l’interopérabilité du cloud extrêmement difficile à assurer. Avec le manque d’interopérabilité, orchestrer et gérer des ressources cloud élastiques réparties entre des fournisseurs hétérogènes deviennent des missions très complexes et coûteuses pour les utilisateurs. Pour favoriser l’interopérabilité, la normalisation est une méthode définitive selon de nombreux professionnels et chercheurs. À cet égard, nous nous sommes intéressés à deux normes pertinentes, à savoir OCCI et TOSCA, en raison de leur adoption large et de leurs approches globales pour traiter l’interopérabilité de point de vue de la gestion et de l’orchestration. OCCI est essentiellement introduite pour créer des API REST permettant la gestion interopérable de tous types de ressources. D’autre part, TOSCA est introduite pour renforcer l’interopérabilité en modélisant les applications cloud de manière indépendante de la technologie. En utilisant cette spécification, le but ultime est d’automatiser tout le processus d’orchestration d’application. Malgré l’intérêt croissant qui suscite TOSCA et OCCI, leurs adoptions n’ont toujours pas répandu dans les solutions modernes. Plus spécifiquement, il n’existe pas des moteurs d’orchestration holistiques prenants en charge TOSCA. Bien qu’il n’y ait aucune assistance pour les développeurs pour créer des APIs de gestion interopérables selon OCCI. Dans cette thèse, nous pensons que toute approche innovante en matière de conception et d’orchestration adoptant de telles normes serait bénéfique pour faire face aux problèmes d’hétérogénéité et d’interopérabilité. En plus d’éviter les problèmes ci-dessus, préserver la qualité de service (QdS) souhaitée tout en optimisant les coûts impliqués revêt une importance capitale pour les utilisateurs et les fournisseurs de cloud. L’élasticité est considérée comme un facteur clé pour assurer ce compromis de coût-QdS. Cependant, la dynamicité imposée par l’environnement cloud et son hétérogénéité inhérente font de l’élasticité une tâche très fastidieuse. Dans cette thèse, nous visons (i) à fournir de l’assistance à la conception des APIs de gestion interopérables; de (ii) rationaliser et améliorer l’orchestration des ressources cloud et (iii) de supporter la gestion haut niveau de l’élasticité multi-cloud. Pour atteindre le premier objectif, nous adoptons des modèles et des anti-modèles comme moyen de représenter respectivement les bonnes et les mauvaises pratiques des meilleurs principes d’OCCI et de REST que les développeurs doivent pris en compte lors de la conception de leurs APIs. Nous proposons ensuite une approche sémantique permettant la détection automatisée de ces (antis) modèles tout en fournissant un support de recommandation afin de guider les développeurs à la révision de leurs APIs. Pour atteindre le deuxième objectif, nous soutenons l’idée d’intégrer TOSCA avec les solutions DevOps en tant qu’étape essentielle pour atténuer la complexité liée au processus d’orchestration tout en maintenant le niveau d’interopérabilité souhaité. Pour soutenir cette intégration, nous proposons une approche dirigée par les modèles. Pour assurer le troisième objectif, nous réalisons que les caractéristiques d’élasticité devraient être fournies au niveau de la description de la ressource au lieu de reposer sur des mécanismes dépendant de la technologie. Pour ce faire, nous proposons un nouveau modèle de description de l’élasticité basé sur le formalisme de la machine à états. Enfin, nous développons trois preuves de concept et réalisons des expériences approfondies pour valider nos approches.

Abstract :

With the increased adoption of cloud computing, multiple and heterogeneous configuration and management APIs/tools and platforms have been proposed to enable end-to-end management and orchestration tasks. However, this proliferation is one of the fundamental reasons that has intensified the heterogeneity issue in multiple respects, making the cloud interoperability very difficult to achieve. With the lack of interoperability, orchestrating and managing elastic cloud resources distributed across heterogeneous providers become very complex and costly missions for the cloud adopters. Towards fostering cloud interoperability, standardization is a definitive method according to many professionals and researches from both academic and industrial sectors. In this respect, we interested in two relevant standards, namely OCCI and TOSCA because of their broad adoption and holistic approaches in addressing cloud interoperability from management and orchestration perspectives. OCCI is essentially introduced to create remote management REST APIs for supporting the management of any kind of cloud resources while preserving a high level of interoperability. On the other hand, TOSCA is introduced to empowering cloud interoperability by modeling cloud applications in a technology-independent manner. With this specification, it ultimately aims at automating the whole application orchestration process, which includes the selection, deployment, monitoring, and runtime controlling of cloud resources. Despite the growing interest in TOSCA and OCCI, their adoption is still not prevalent in modern solutions. More specifically, there is a lack of holistic orchestration engines that supports TOSCA. While there is no assistance for developers to create interoperable management APIs according to OCCI. In this thesis, we believe that any innovative design and orchestration approaches adopting such standards would be beneficial in order to cope with the heterogeneity and interoperability issues. In addition to avoiding the above issues, preserving the desired quality of service (QoS) while optimizing the involved cost has paramount importance to both cloud users and providers. Elasticity is known as a key factor to ensure this cost-QoS trade-off. However, the rapid dynamicity of cloud and its inherent heterogeneity make supporting elasticity a very tedious task. In this thesis, we target to (i) provide guidance and assistance in the design of interoperable management APIs; to (ii) streamline and improve the orchestration of cloud resources and to (iii) support high-level management of multi-cloud elasticity. To achieve the first objective, we adopt patterns and anti-patterns as means to represent respectively the good and poor practices of both OCCI and REST best principles that API developers should be carefully taken on when designing their APIs. We propose then a semantic-based approach that allows automated detection of these (anti) patterns as well as provides recommendation support to guide cloud developers in revising their management APIs. To achieve the second objective, we support the idea of integrating TOSCA with DevOps solutions as an essential step toward alleviating the complexity related to the orchestration process while maintaining a desired level of interoperability. To support this integration, we propose a model-driven approach following MDE principles. To ensure the third objective, we realize that the elasticity features should be provided at the resource description level instead of relying on low-level and technology-dependent mechanisms. So, we propose a new Cloud resource elasticity description model based on state-machine formalism. Finally, to validate our approaches, we develop three proofs of concepts and conduct a set of extensive experiments, including ones with academics and professionals to demonstrate their effectiveness and feasibility.