Déploiement automatisé d’applications dans des environnements multi-PaaS

Proposition de stage ou de mémoire

Déploiement automatisé d’applications dans des environnements multi-PaaS

Proposition de stage ou de mémoire

Profil Etudiant(e) niveau fin de bac ou 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, Puppet, Chef, etc.) 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

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) 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 pour déployer les applications dans des environnements multi-PaaS. En effet, nous trouvons aujourd’hui plusieurs outils (e.g. Ansible , Puppet , Chef , etc.) 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 environnements multi-PaaS. Pour remédier à cela, nous visons à coupler l’outil Ansible avec le standard OASIS TOSCA. Il est à noter qu’Ansible a été choisi car il est déclarative (i.e. il est basé sur l’utilisation des fichiers de configuration appelés "playbooks").

Travail à réaliser

Cette proposition de stage comporte deux objectifs complémentaires. Le premier objectif consiste à la découverte et à la familiarisation à l’outil de configuration et de déploiement des applications Ansible et au standard OASIS TOSCA. Quant au deuxième objectif, il consiste à proposer une extension à l’outil Ansible en utilisant le standard OASIS TOSCA pour déployer une application donnée dans un environnements multi-PaaS.

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 à l’extension de l’outil Ansible et à la conversion du manifeste de déploiement en plusieurs "playbooks".

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