Modélisation d’un manifeste de déploiement à base du standard TOSCA pour le déploiement automatisé d’applications

Modélisation d’un manifeste de déploiement à base du standard TOSCA pour le déploiement automatisé d’applications

Profil Étudiant fin de master
Prérequis Connaissances des principes fondamentaux du cloud computing (PaaS)
Des connaissances relatives aux outils de configuration et de déploiement des applications dans le Cloud (e.g. Ansible, Docker, Vagrant, …) sont un plus, mais peuvent être substituées par une volonté de les acquérir.
Un intérêt pour la gestion de systèmes informatiques en général et ses standards comme OASIS TOSCA en particulier, est un plus.
Durée Minimum 12 semaines

Contexte et objectifs

Durant ces dernières années, le cloud computing a pris de l’ampleur en attirant l’attention de nombreuses organisations en raison de ses avantages économiques, commerciaux et techniques. Dans ce contexte, nous observons que la prolifération des offres des fournisseurs de cloud pose plusieurs défis. L’un de ces défis innovants est le déploiement d’applications dans des environnement formés par plusieurs solutions PaaS hétérogènes. En effet, les développeurs ont besoin de provisionner les composants de la même application sur plusieurs solutions PaaS en fonction de leurs exigences et des capacités de ces solutions PaaS. Pour cela, ils auront non seulement à découvrir et sélectionner les services offerts par les solutions PaaS, mais ils devront également gérer le déploiement de l’application et sa migration d’un environnement à un autre (en cas de besoin).
Dans un travail précédent, nous avons proposé une approche déclarative et automatique [1][2][3] (1) pour découvrir les services Cloud dans des environnements multi-PaaS et (2) pour sélectionner les services les plus adéquats aux exigences de l’application. La sortie de cette solution est un fichier de configuration appelé le manifeste de déploiement. Ce dernier contient des informations sur les services sélectionnés et l’application à déployer.
En utilisant le manifeste de déploiement, nous souhaitons aujourd’hui proposer une solution déclarative et automatique pour déployer les applications dans des environnements multi-PaaS. En effet, nous trouvons aujourd’hui plusieurs outils (e.g. Ansible , Docker, Vagrant, …) dédiés à la configuration et au déploiement des applications dans le cloud. Toutefois, ces solutions ne permettent pas le déploiement des applications dans des environnements multi-PaaS. Pour remédier à cela, nous visons à coupler ces outils avec le standard OASIS TOSCA. La figure ci-dessous illustre le processus de déploiement. En effet, le manifeste de déploiement est passé en entrée à un composant appelé « Parser » et ce dernier permet de lire le manifeste et de le transformer en un modèle TOSCA. Ensuite, ce modèle est divisé en plusieurs fichiers playbook (c’est à dire fichier de configuration de l’outil Ansible) grâce au composant « Spliter ». Enfin, l’application est déployée dans un environnement multi-PaaS grâce au composant « Deployer ».

Travail à réaliser

Cette proposition de stage consiste à réaliser la partie I de la figure ci-dessus et elle vise les objectifs suivants :

  • Le premier objectif consiste à la découverte et à la familiarisation au manifeste de déploiement et au standard OASIS TOSCA.
  • Le deuxième objectif consiste à concevoir et à développer le composant « Parser ».
  • Le troisième objectif consiste à mettre en place un processus de test et de validation du travail réalisé.

Encadrement

L’entièreté du travail sera encadré. La ou le stagiaire utilisera une plateforme de développement permettant le suivi constant de ses progrès. Elle / il devra également faire preuve d’autonomie et d’esprit innovant en participant à la réalisation des objectifs du stage.

Références

[1] R. Sellami, M. Ahmed-Nacer, and S. Mouton, “Applications deployment in multiple paas environments : Requirements, challenges and solutions,” in CLOSER - Proceedings of the 7th International Conference on Cloud Computing and Services Science, Porto, Portugal, April 24-26, 2017, pp. 636–643.
[2] R. Sellami et al., “Automating resources discovery for multiple data stores cloud applications,” in CLOSER, Proceedings of the 5th International Conference on Cloud Computing and Services Science, Lisbon, Portugal, 20-22 May, 2015, pp. 397–405.
[3] R. Sellami and S. Mouton, “Toward an Automatic Approach for Multi-PaaS Environments Selection”, in IEEE World Congress on Services, July 2-7, 2018, San Francisco, CA, USA

Contact : Rami Sellami (rami.sellami@cetic.be)