Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2014

Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach

Sélection et Configuration de Clouds : une Approche à Base de Lignes de Produits Logiciels

Résumé

In the recent years, cloud computing has become a major trend in distributed computing environments enabling software virtualization on configurable runtime environments. These environments provide numerous highly configurable software resources at different levels of functionality, that may lead to configuration errors when done manually. Therefore, cloud environments selection and configuration tools and approaches have been developed, ranging from ad-hoc implementation software, to automated strategies based on model transformation. However, these approaches suffer from a lack of abstraction, or do not provide an automated an scalable configuration reasoning support. Moreover, they are often limited to a certain type of cloud environment, thus limiting their efficiency. To address these shortcomings, and since we noticed that an important number of such cloud environments share several characteristics, we present in this thesis an approach based on software product line principles, with dedicated variability models to handle cloud environments commonalities and variabilities. Software product lines were defined to take advantage of commonalities through the definition of reusable artifacts, in order to automate the derivation of software products. In this dissertation, we provide in particular three major contributions. First, we propose an abstract model for feature modeling with attributes, cardinalities, and constraints over both of them. This kind of feature models are required to describe the variability of cloud environments. By providing an abstract model, we are thus implementation-independent and allow existing feature modeling approaches to rely on this model to extend their support. As a second contribution, we provide an automated support for maintaining the consistency of cardinality-based feature models. When evolving them, inconsistencies may arise due to the defined cardinalities and constraints over them, and detecting them can be tedious and complex whenever the size of the feature model grows. Finally, we provide as third contribution SALOON, a platform to select and configure cloud environments based on software product line principles. In particular, SALOON relies on our abstract model to describe cloud environments as feature models, and provide an automated support to derive configuration files and executable scripts, enabling the configuration of cloud environment in a reliable way. The experiments we conducted to validate our proposal show that by using software product lines and feature models, we are able to provide an automated, scalable, practical and reliable approach to select and configure cloud environments with respect to a set of requirements, even when numerous different kind of these environments are involved.
Ces dernières années, l'informatique dans les nuages est devenue une tendance majeure dans les environnements distribués, permettant la virtualisation des logiciels sur des environnements d'exécution configurables. Ces environnements fournissent de nombreuses ressources hautement configurables à des niveaux de fonctionnalité différents, pouvant mener à des erreurs lors de la configuration si cette dernière est effectuée manuellement. Des approches permettant la sélection et la configuration de tels environnements ont donc été développées, allant de logiciels basés sur une implémentation ad-hoc à des stratégies automatisées basées sur des transformations de modèles. Cependant, ces approches souffrent d'un manque d'abstraction, ou ne fournissent pas un support automatisé et extensible pour raisonner sur de telles configurations. De plus, elles sont souvent limitées à un certain type de nuage, restreignant ainsi leur efficacité. Pour faire face à ces limitations, et puisque nos travaux ont montré qu'un important nombre de caractéristiques est partagé parmi ces environnements de nuage, nous présentons dans cette thèse une approche basée sur les principes des lignes de produits logiciels, reposant sur des modèles de variabilité dédiés à la description des similitudes et de la variabilité entre ces environnements de nuage. Les lignes de produits logiciels ont été élaborées pour tirer profit des similitudes à travers la définition d'artefacts logiciels réutilisables, afin d'automatiser la génération de produits logiciels. Dans cette dissertation, nous proposons notamment trois contributions essentielles. En premier lieu, nous fournissons un méta-modèle permettant de décrire des modèles de caractéristiques étendus avec des attributs, des multiplicités et des contraintes s'appliquant sur ces extensions. Ce type de modèle de variabilité est nécessaire à la description de la variabilité des environnements de nuage. En fournissant un modèle abstrait, nous sommes donc indépendant de toute implémentation et permettons ainsi aux approches existantes de s'appuyer sur ce modèle pour étendre leur support. Deuxièmement, nous proposons un support automatisé pour maintenir la cohérence des modèles de caractéristiques étendus avec des multiplicités. En effet, lorsque ceux-ci évoluent, des incohérences peuvent survenir dues aux différentes multiplicités définies et aux contraintes sur ces multiplicités. Les détecter peut alors être une tâche complexe, surtout lorsque la taille du modèle de caractéristiques est grande. Enfin, nous fournissons comme troisième contribution SALOON, une plateforme pour automatiser la sélection et la configuration des environnements de nuage basée sur les principes des lignes de produits logiciels. SALOON s'appuie notamment sur notre méta-modèle pour décrire les environnements de nuage en tant que modèles de caractéristiques, et fournit un support automatisé pour générer des fichiers de configurations et scripts exécutables, permettant ainsi une configuration fiable desdits environnements. Les expérimentations que nous avons conduites pour évaluer notre approche montrent qu'en utilisant des lignes de produits logiciels et des modèles de caractéristiques, on est capable de fournir une approche pratique, extensible, fiable et automatisée permettant de sélectionner et de configurer des environnements de nuage en fonction d'un ensemble d'exigences, et ce même en présence de nombreux et différents environnements.
Fichier principal
Vignette du fichier
thesis.pdf (6.66 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01079956 , version 1 (04-11-2014)
tel-01079956 , version 2 (21-04-2015)

Identifiants

  • HAL Id : tel-01079956 , version 2

Citer

Clément Quinton. Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach. Software Engineering [cs.SE]. Université Lille 1, 2014. English. ⟨NNT : ⟩. ⟨tel-01079956v2⟩
670 Consultations
2124 Téléchargements

Partager

Gmail Facebook X LinkedIn More