Paraiso, Fawaz, Laboratoire d'Informatique Fondamentale de Lille (LIFL), Université de Lille, Sciences et Technologies-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lille, Sciences Humaines et Sociales-Centre National de la Recherche Scientifique (CNRS), Self-adaptation for distributed services and large software systems (SPIRALS), Université de Lille, Sciences et Technologies-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lille, Sciences Humaines et Sociales-Centre National de la Recherche Scientifique (CNRS)-Université de Lille, Sciences et Technologies-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lille, Sciences Humaines et Sociales-Centre National de la Recherche Scientifique (CNRS)-Inria Lille - Nord Europe, Institut National de Recherche en Informatique et en Automatique (Inria), Université des Sciences et Technologie de Lille - Lille I, Lionel SEINTURIER(Lionel.Seinturier@univ-lille1.fr), and ANR socEDA
Multi-cloud computing has established itself as a paradigm of choice for creating very large scale world wide distributed applications. Multi-cloud computing is the usage of multiple, independent cloud environments, which assumed no priori agreement between cloud providers or third party. However, these applications, designed for multi-cloud environments, have to face real challenges in term of design, architecture, and technology. The possibility of using multi-cloud faces the heterogeneity and complexity of cloud solutions. Thus, multi-cloud computing has to face several challenges such as portability, provisioning, elasticity, and high availability we have identified in this thesis. In this thesis, we propose soCloud both a model and a platform that tackle these four challenges. This model is based on the OASIS Service Component Architecture (SCA) standard to design distributed large scale applications for multi-cloud environments. A new language is proposed to effectively express the elasticity of multi-cloud applications through abstraction. The multi-cloud platform is designed to deploy and manage distributed applications across multi-clouds. The soCloud model is illustrated on three distributed applications deployed in multi- cloud environments. The soCloud platform has been implemented, deployed and experimented on top of ten existing cloud providers : Windows Azure, DELL KACE, Amazon EC2, CloudBees, OpenShift, dotCloud, Jelastic, Heroku, Appfog, and an Eucalyptus private cloud. These experiments are used to validate the novelty of the contributed solutions. With our contributions, we aim to provide a simple and effective way to design, deploy, run, and manage distributed applications for a multi-cloud environment by proposing a model and platform.; L'informatique multi-nuages s'est imposée comme un paradigme de choix pour créer des applications distribuées à large échelle s'exécutant à des emplacements géographiques ré- partis. L'informatique multi-nuages consiste en l'utilisation de multiples environnements de nuages indépendants qui ne nécessitent pas d'accord a priori entre les fournisseurs de nuage ou un tiers. Toutefois, ces applications conçues pour un environnement multi-nuages doivent faire face à de véritables défis en terme d'architecture, de modèle et de technologies. L'utilisation de l'informatique multi-nuages se heurte à l'hétérogénéité et à la complexité des offres de nuage. Ainsi, l'informatique multi-nuages doit faire face aux défis de la portabilité, de l'approvisionnement, de l'élasticité et de la haute disponibilité que nous identifions dans cette thèse. Dans ce travail de thèse, nous proposons un modèle d'applications nommé soCloud qui adresse ces quatre défis. C'est un modèle basé sur le standard SCA du consortium OASIS pour concevoir de manière simple et cohérente des applications distribuées à large échelle pour un environnement multi-nuages. Un nouveau langage dédié d'élasticité a été proposé pour exprimer efficacement l'élasticité d'applications multi-nuages par l'abstraction. Nous proposons aussi une plateforme multi-nuages soCloud conçue pour déployer, exécuter et gérer des applications réparties à travers plusieurs nuages. Le modèle d'applications soCloud a été utilisé pour la mise en œuvre de trois applications distribuées déployées dans un environnement multi-nuages. Quant à la plateforme soCloud, elle a été implantée, déployée et expérimentée sur dix nuages : Windows Azure, DELL KACE, Amazon EC2, CloudBees, OpenShift, dotCloud, Jelastic, Heroku, Appfog et Eucalyptus. Ces expériences sont utilisées pour valider la nouveauté des solutions approtées. Grâce à notre contribution, nous visons à offrir un moyen simple et efficace pour concevoir, déployer, exécuter et gérer des applications distribuées pour des environnements multi- nuages en proposant un modèle et une plateforme.