Thèse soutenue

Déploiement des applications à base de services dans le cloud

FR  |  
EN
Auteur / Autrice : Sami Yangui
Direction : Samir Tata
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 02/10/2014
Etablissement(s) : Evry, Institut national des télécommunications
Ecole(s) doctorale(s) : École doctorale Sciences et Ingénierie (Evry ; 2008-2015)
Partenaire(s) de recherche : Université : Université d'Évry-Val-d'Essonne (1991-....)
Laboratoire : Services répartis- Architectures- MOdélisation- Validation- Administration des Réseaux - Département Informatique

Résumé

FR  |  
EN

Le Cloud Computing ou "informatique en nuage" est un nouveau paradigme émergeant pour l’exploitation des services informatiques distribuées à large échelle s’exécutant à des emplacements géographiques répartis. Ce paradigme est de plus en plus utilisé pour le déploiement et l’exécution des applications en général et des applications à base de services en particulier. Les applications à base de services sont décrites à l’aide du standard Service Component Architecture (SOA) et consistent à inter-lier un ensemble de services élémentaires et hétérogènes en utilisant des spécifications de composition de services appropriées telles que Service Component Architecture (SCA) ou encore Business Process Execution Language (BPEL). Provisionner une application dans le Cloud consiste à : (1) allouer les ressources dont elle a besoin pour s’exécuter, (2) déployer ses sources sur les ressources allouées et (3) démarrer l’application. Cependant, les solutions Cloud existantes sont limitées en termes de plateformes d’exécution. Ils ne peuvent pas toujours satisfaire la forte hétérogénéité des composants des applications à base de services. Pour remédier à ces problèmes, les mécanismes de provisioning des applications dans le Cloud doivent être reconsidérés. Ces mécanismes doivent être assez flexibles pour supporter la forte hétérogénéité des composants sans imposer de modifications et/ou d’adaptations du côté du fournisseur Cloud. Elles doivent également permettre le déploiement automatique des composants dans le Cloud. Si l’application à déployer est mono-composant, le déploiement est fait automatiquement et de la même manière, et ce quelque soit le fournisseur Cloud choisi. Si l’application est à base de services hétérogènes, des fonctionnalités appropriées doivent être mises à la disposition des développeurs pour qu’ils puissent définir et créer les ressources nécessaires aux composants avant de déployer l’application. Dans ce travail, nous proposons une approche appelée SPD permettant le provisioning des applications à base de services dans le Cloud. L’approche SPD est constituée de 3 étapes : (1) découper des applications à base de services en un ensemble de services élémentaires et autonomes, (2) encapsuler les services dans des micro-conteneurs spécifiques et (3) déployer les micro-conteneurs dans le Cloud. Pour le découpage, nous avons élaboré un ensemble d’algorithmes formels assurant la préservation de la sémantique des applications une fois découpées. Pour l’encapsulation, nous avons réalisé des prototypes de conteneurs de services permettant l’hébergement et l’exécution des services avec seulement le minimum des fonctionnalités nécessaires. Pour le déploiement, deux cas sont traités i.e. déploiement sur une infrastructure Cloud (IaaS) et déploiement sur une plateforme Cloud (PaaS). Pour automatiser le processus de déploiement, nous avons défini : (i) un modèle de description des ressources unifié basé sur le standard Open Cloud Computing Interface (OCCI) permettant de décrire l’application et ses ressources d’une manière générique quelque soit la plateforme de déploiement cible et (ii) une API appelée COAPS implémentant ce modèle et permettant de l’approvisionnement et la gestion des applications en utilisant des opérations génériques quelque soit la plateforme cible