Cloud Environment Selection and Configuration: a Software Product Lines-Based Approach Clément Quinton
Total Page:16
File Type:pdf, Size:1020Kb
Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach Clément Quinton To cite this version: Clément Quinton. Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach. Software Engineering [cs.SE]. Université Lille 1, 2014. English. tel-01079956v2 HAL Id: tel-01079956 https://tel.archives-ouvertes.fr/tel-01079956v2 Submitted on 21 Apr 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. D´epartement de formation doctorale en informatique Ecole´ doctorale SPI Lille UFR IEEA Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach THESE` pr´esent´eeet soutenue publiquement le 22 Octobre 2014 pour l'obtention du Doctorat de l'Universit´eLille I (sp´ecialit´einformatique) par Clement´ Quinton Composition du jury Rapporteurs : Roberto Di Cosmo, Universit´eParis Diderot - France Christian Perez, Inria - France Examinateurs : Patrick Heymans, Universit´ede Namur - Belgique Daniel Le Berre, Universit´ed'Artois - France Daniel Romero, Universit´eLille I - France Directrice : Laurence Duchien, Universit´eLille I - France Laboratoire d'Informatique Fondamentale de Lille { UMR USTL/CNRS 8022 { Inria Lille - Nord Europe Mis en page avec la classe thloria. “We know it well that none of us acting alone can achieve success." Nelson Mandela, Inaugural Address, May 10th 1994. i ii To Louise iii iv Acknowledgement First of all, I would like to really thank my supervisor, Laurence Duchien. For five years now, we have learned to know each other, and we have built a relationship made of mutual respect, professionalism and sense of humor. Thank you for taking my request into consid- eration three years ago when, at the end of my temporary contract in your team, you gave me your trust and accepted me to start this PhD. Thank you for still trusting me when, at the end of my first year, I did not take charge of my thesis subject yet. Thank you again for your constant support, feedback and advices given parsimoniously to let me learn on my own. I was not really sure of the effectiveness of this kind of guidance at first, but I can now guar- antee it was definitively the right way to supervise me. You gave me the taste for research, and I hope we will still have a lot of fun together. Thank you! Next, I would like to thank the members of my thesis committee. Roberto Di Cosmo and Christian Perez, thank you for having accepted to review my manuscript. You gave me valuable comments, and I really appreciated your feedback. A special thanks to Roberto for the discussions we have had during my PhD, and for the invitation to give a talk in your team nearly two years ago. I was very honored, but at the same time tremendously stressed! Thank you. Then, I would like to thank Patrick Heymans and Daniel Le Berre, to have accepted to be part of my committee but most of all, because you generously shared your expertise with me during your presence in my office as visiting professors. In addition to be leading researchers in your own areas, you both are great people to discuss and share jokes with! Finally, a special thanks to Daniel Romero. I would like to thank you for all the great work you did during my PhD, always giving me feedback and reviewing most of the ideas described in this dissertation. Thanks for your support, thanks for the running sessions, and thanks for the love of life you bring every day in the office. Keep smiling, and I wish you the best for your future. You deserve it. I would also like to thank Goetz Botterweck and Andreas Pleuss for their hospitality during the three months I visited them at Lero, in Limerick. Goetz, even though we did not have lot of time to discuss together, I really appreciated your research skills and most of all, the research vision you described me on my arrival day: "have fun"! Andreas, thanks a lot for everything you did for me. Not only the amazing research work, but all your everyday friendship, giving me the opportunity to play football together, go out and drink beers, and even meet your 3 days old daughter. Take care of her and your wife, who I thank as well for receiving me in your house, in particular for an unforgettable sweating Indian meal. During the last three years, I had the chance to be part of the SPIRALS (formerly ADAM) team. I would thus like to thank all the permanent members of this team, Lionel Seinturier, Philippe Merle, Romain Rouvoy and Martin Monperrus. Thanks for all the feedback and comments you gave me, as many ideas emerged from these inspiring discussions. More generally, I would like to thank all the members of the team I met since 2009. It would be hard for me not to forget someone, regarding the existing turn-over in the team. So I would just thank the PhD students who assisted me in the last three years, as we suffered together v :-). I wish you the best for your future. A special thanks however to a former postdoc, Sébastien Mosser. I would like to thank you for the endless discussions we had 3 years ago, about starting or not a PhD. Thanks a lot for convincing me (well, it was not really hard, was it?), I am far from regretting today. I would like to thank you also for supporting me in the tedious writing process of my first ever research paper. Thanks to you (and Laurence), I guess I now get the correct strictness to do it on my own. Finally, I would like to thank my family and friends for their immeasurable support. Thanks to my parents, Véronique and Philippe, to my sister Cécile, my brother Cyril and of course Laurent and Sophie. Thank you for supporting me, even in the distance. Knowing you believe in me has always been a great support in the hard times. Thank you for every- thing! Thank you, Aurélien, Fanny, Rémi and Sarah, for the great time we had together. I hope to see you again soon. Thank you Aldo and Thérèse for preparing me succulent dishes every week. Last but not least, I would like to thank my everyday life sugar, Louise. I know I haven’t been as available as you wished, and I know how deeply you supported me for 3 years now. I will eternally be grateful to you for that. Thanks for your love, and thanks for believing in me. You are my daily motivation and inspiration and for sure, I would not be who I am today without you. vi Abstract In the recent years, cloud computing has become a major trend in distributed comput- ing 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. There- fore, cloud environments selection and configuration tools and approaches have been de- veloped, 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 envi- ronments commonalities and variabilities. Software product lines were defined to take ad- vantage 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 ma- jor 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. Résumé 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 en- vironnements d’exécution configurables.