Service-based applications provisioning in the cloud

par Sami Yangui

Thèse de doctorat en Informatique

Sous la direction de Samir Tata.

Soutenue le 02-10-2014

à Evry, Institut national des télécommunications , dans le cadre de École doctorale Sciences et Ingénierie (2008-2015 ; Evry) , en partenariat avec Université d'Évry-Val-d'Essonne (Université) , Services répartis- Architectures- MOdélisation- Validation- Administration des Réseaux (laboratoire) et de Département Informatique (laboratoire) .

  • Titre traduit

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


  • Résumé

    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


  • Résumé

    Cloud Computing is a new supplement, consumption, and delivery model for IT services based on Internet protocols. It is increasingly used for hosting and executing applications in general and service-based applications in particular. Service-based applications are described according to Service Oriented Architecture (SOA) and consist of assembling a set of elementary and heterogeneous services using appropriate service composition specifications like Service Component Architecture (SCA) or Business Process Execution Language (BPEL). Provision an application in the Cloud consists of allocates its required resources from a Cloud provider, upload source codes over their resources before starting the application. However, existing Cloud solutions are limited to static programming frameworks and runtimes. They cannot always meet with the application requirements especially when their components are heterogeneous as service-based applications. To address these issues, application provisioning mechanisms in the Cloud must be reconsidered. The deployment mechanisms must be flexible enough to support the strong application components heterogeneity and requires no modification and/or adaptation on the Cloud provider side. They also should support automatic provisioning procedures. If the application to deploy is mono-block (e.g. one-tier applications), the provisioning is performed automatically and in a unified way whatever is the target Cloud provider through generic operations. If the application is service-based, appropriate features must be provided to developers in order to create themselves dynamically the required resources before the deployment in the target provider using generic operations. In this work, we propose an approach (called SPD) to provision service-based applications in the Cloud. The SPD approach consists of 3 steps: (1) Slicing the service-based application into a set of elementary and autonomous services, (2) Packaging the services in micro-containers and (3) Deploying the micro-containers in the Cloud. Slicing the applications is carried out by formal algorithms that we have defined. For the slicing, proofs of preservation of application semantics are established. For the packaging, we performed prototype of service containers which provide the minimal functionalities to manage hosted services life cycle. For the deployment, both cases are treated i.e. deployment in Cloud infrastructure (IaaS) and deployment in Cloud platforms (PaaS). To automate the deployment, we defined: (i) a unified description model based on the Open Cloud Computing Interface (OCCI) standard that allows the representation of applications and its required resources independently of the targeted PaaS and (ii) a generic PaaS application provisioning and management API (called COAPS API) that implements this model


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Bibliothèque : Télécom SudParis & Télécom Ecole de Management. Médiathèque.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.