Framework de modélisation graphique des applications Cloud

Framework de modélisation graphique des applications Cloud

Profil Étudiant fin de master
Prérequis Développement orienté objet avec Java, UML, OCL, l’IDE Eclipse.
Connaissances des principes fondamentaux du cloud computing (IaaS, PaaS et SaaS).
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.
La connaissance de l’une des technologies EMF, GMF, et/ou Sirius est également 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 Cloud (PaaS et IaaS) hétérogènes. En effet, les développeurs ont besoin de provisionner les composants de la même application sur plusieurs solutions Cloud en fonction de leurs exigences et des capacités de ces solutions . Pour cela, ils auront non seulement à découvrir et sélectionner les services offerts par les solutions Cloud, mais ils devront également gérer l’approvisionnement des ressources, 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 approvisionner et déployer les applications dans des environnements multi Clouds. En effet, nous trouvons aujourd’hui plusieurs outils (e.g. Ansible, Terraform, 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 automatisé des applications dans des environnements multi-cloud. Pour remédier à cela, nous visons à coupler l’outil d’approvisionnement Terraform et l’outil de configuration et de déploiement Ansible avec le standard OASIS TOSCA qui est un langage standard permettant de décrire une topologie de services Web dans le Cloud, leurs composants, leurs relations et les processus qui les gèrent. À ce sujet, une première version d’un prototype est en cours de réalisation et elle fera l’objet d’extension dans le cadre de deux autres stages (plus d’informations sont disponibles ici : 1 et 2).

Problématique et objectif

Les modèles TOSCA générés respectent les spécifications du standard TOSCA et plus particulièrement le profil textuel YAML du standard. Souvent, cette représentation n’est pas la plus facile à écrire et à éditer par les ingénieurs Cloud. Les représentations graphiques semblent beaucoup plus accessibles et les experts du domaine se sentent souvent plus à l’aise avec de telles représentations qu’avec les langages textuels et leurs syntaxes verbeuses. Il est donc préférable d’avoir une vue graphique des services à déployer. Cette représentation graphique permet de fournir une vision globale de l’architecture du système et mettre en exergue les liens entre les différents services. De plus, une telle représentation permet (1) aux industriels d’avoir un gain en termes de temps et de main d’oeuvre et (2) aux développeurs de se familiariser plus rapidement avec le standard TOSCA.

Actuellement, le standard TOSCA ne possède pas une représentation graphique standardisée. Il est donc souhaitable de proposer et d’implémenter une syntaxe concrète graphique pour ce standard. Pour mettre en place cette nouvelle fonctionnalité, nous proposons l’utilisation de Sirius [5] qui est un projet Open Source de la Fondation Eclipse et qui permet de concevoir un atelier de modélisation graphique sur-mesure en s’appuyant sur les technologies Eclipse Modeling, en particulier EMF (Eclipse Modeling Framework) et GMF (Graphical Modeling Framework).

Travail à réaliser

Cette proposition de stage consiste à réaliser le framework de modélisation autour de modèles TOSCA (TOSCA based model) et elle vise les étapes suivantes :

  • La première étape consiste à étudier les différentes solutions, industrielles et académiques, qui proposent des frameworks de modélisation pour les applications Cloud avec TOSCA.
  • La deuxième étape consiste à proposer une syntaxe graphique pour le standard TOSCA.
  • La troisième étape consiste à implémenter un modeleur graphique pour le standard TOSCA en utilisant l’outil Sirius.
  • La quatrième étape consiste à mettre en place un processus de test et de validation du travail réalisé.

Encadrement

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

Responsables de stage

Faiez Zalila (faiez.zalila@cetic.be)
Rami Sellami (rami.sellami@cetic.be)

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
[4] OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) : https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca
[5] Sirius website, https://www.eclipse.org/sirius/overview.html