La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Openicra : vers un modèle générique de déploiement automatisé des applications dans le nuage informatique

Gadhgadhi, Ridha (2013). Openicra : vers un modèle générique de déploiement automatisé des applications dans le nuage informatique. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (3MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (904kB) | Prévisualisation

Résumé

Le nuage informatique ou le « Cloud Computing » est une approche informatique qui fait référence à la mise à disposition de ressources informatiques à la demande via Internet ou en privé via le réseau interne de l’entreprise, avec un modèle de facturation à l’usage. Le paradigme IaaS (Infrastructure as a Service) consiste à fournir aux utilisateurs un accès, à la demande et en libre-service, à un parc informatique virtualisé, souvent composé de machines virtuelles sur lesquelles les utilisateurs peuvent installer, contrôler et personnaliser leurs applications. Alternativement, le modèle de service PaaS (Platform as a Service) offre aux utilisateurs un environnement de programmation disponible immédiatement et entièrement gérable pour créer et déployer des applications évolutives dans le nuage informatique et sans intervention de l’utilisateur. Bien que le choix d’un tel environnement puisse paraitre assez avantageux, plusieurs défis se lèvent devant l’utilisation efficace des systèmes du nuage informatique. Ainsi, les services du nuage informatique sont offerts à différents niveaux d’abstraction où les fournisseurs de nuage exposent l’accès à leurs services via des APIs propriétaires. Cela encourage l’enfermement propriétaire et limite l’interopérabilité des services de nuage informatique, ce qui constitue une barrière à l'entrée significative pour les utilisateurs de nuage. Plusieurs solutions ont été proposées en se basant sur l'utilisation des couches intermédiaires qui permettent d’isoler les applications de la variabilité de certains services offerts par les fournisseurs de nuages. Toutefois, ces approches constituent une solution partielle de ce problème lorsque de telles solutions utilisent certaines technologies propriétaires, car elles contribuent au risque de déplacer l'effet de l’enfermement propriétaire du fournisseur vers les outils de déploiement.

L’objectif principal de notre recherche consiste à concevoir et à développer un nouveau modèle générique de déploiement automatique des applications dans le nuage informatique, afin d'atténuer les effets de ces barrières à l'entrée, de réduire la complexité de développement des applications et de simplifier le processus de déploiement des services dans le nuage. De surcroît, supporter et déployer automatiquement des applications sur le nuage en assurant l’élasticité, la mise à l’échelle automatique et l’interopérabilité avec toutes les plateformes et en optimisant la gestion du stockage sont les objectifs primordiaux de ce mémoire. Notre modèle proposé OpenICRA met en oeuvre une architecture en couches qui cache les détails de l'implémentation permettant d’avoir un processus de déploiement simple. En outre, contrairement aux autres solutions de nuages informatiques disponibles telles que Google App Engine, Windows Azure ou Amazon Elastic Beanstalk, les composants du modèle proposé se caractérisent par la liberté d’accès à leur code source. Ceci nous permet de garantir la portabilité des applications dans tout environnement d’exécution, d’éviter l’enfermement propriétaire et de faciliter le processus d’automatisation des applications dans le nuage. Les méthodes de redondance, de mise à l’échelle et l’intégration du système de fichiers distribué avec la couche IaaS permettent d’assurer la haute disponibilité, l’évolutivité et l’extensibilité du modèle et des applications ainsi que l’optimisation de la gestion de stockage des disques durs virtuels des VMs dans tout environnement du nuage.

Nous avons réalisé deux cas d’études réels pour valider le modèle OpenICRA dont le premier consiste à automatiser le déploiement de l’intergiciel distribué OpenSAF dans un cluster de noeuds au sein de l’environnement Cloud du réseau GSN (Synchromedia, 2010), alors que le deuxième cas consiste à migrer l’application de travail collaboratif ICRA (Cheriet, 2012) vers le nuage EC2 d’Amazon (2012a). Nos résultats empiriques démontrent l’efficacité de notre modèle proposé pour déployer différents types d’applications sans apporter aucune modification dans leurs codes sources. En outre, nous démontrons comment notre proposition est capable d’automatiser et d’orchestrer le processus de déploiement des applications et d’optimiser leur exécution en fonction de la performance dans des environnements de nuage informatique hétérogènes.

Titre traduit

Openicra: towards a generic model for automatic deployment of applications in the cloud computing

Résumé traduit

Cloud computing is a computing approach that refers to the on-demand provision of computational resources via the Internet or in private via the internal enterprise network, with a pay-as-you-use billing model. The paradigm IaaS (Infrastructure as a Service) provides users with an on-demand self-service access, to a virtualized IT infrastructure, often composed of virtual machines on which users can install, manage and customize their applications. Alternatively, PaaS (Platform as a Service) offers users a programming environment immediately available and fully manageable to create and deploy scalable applications in the cloud without user intervention. Although the choice of such an environment may seem advantageous enough, several challenges remain to effectively use cloud computing systems. Thus, cloud computing services are offered at different levels of abstraction where the cloud providers expose access to their services via proprietary APIs. This encourages vendor lock-in and limits the interoperability of cloud computing services, which constitutes a significant barrier to entry for cloud users. Several solutions have been proposed based on the use of intermediate layers that isolate applications from the variability of services offered by cloud providers. However, these approaches provide a partial solution to this problem when such solutions use certain proprietary technologies as they contribute to the risk of moving the effect of vendor lock-in from cloud providers to deployment tools.

The main objective of our research is to design and develop a new generic model for automated deployment of applications in the cloud to mitigate the effects of these barriers to entry, reduce the complexity of application development and simplify the process of deploying cloud services. In addition, support and automatically deploy applications on the cloud by providing elasticity, making automatic-scaling and interoperability with all platforms and optimizing storage management are the primary objectives of this memory. Our proposed model, OpenICRA, implements a layered architecture that hides the implementation details, allowing having a simple deployment process. Furthermore, unlike other cloud computing solutions available such as Google App Engine, Windows Azure or Amazon Elastic Beanstalk, the components of the proposed model is characterized by the freedom to access to their source code. This allows us to ensure application portability in any execution environment, avoid vendor lock-in and facilitate automation process of applications in the cloud. The methods of redundancy, scaling and integration of distributed file system with the IaaS layer are used to provide high availability, scalability and extensibility of the model and applications as well as optimizing storage management of VMs virtual hard disks in any cloud environment.

We conducted two real case studies to validate our proposed model, where the first consists to automate the deployment of a distributed middleware called OpenSAF across a cluster of nodes in the Cloud environment of GSN Network (Synchromedia, 2010), while the second case is to ensure the migration of the collaborative work application, ICRA (Cheriet, 2012) to Amazon EC2 (Amazon, 2012a). Our empirical results demonstrate the effectiveness of our proposed model to deploy different types of applications without any change in their source code. In addition, we show how our proposal is able to automate and orchestrate the process of application deployment and optimize their implementation in terms of performance in heterogeneous cloud environments.

Type de document: Mémoire ou thèse (Mémoire de maîtrise électronique)
Renseignements supplémentaires: "Mémoire présenté à l'École de technologie supérieure comme exigence partielle à l'obtention de la maîtrise en génie, concentration réseaux de télécommunications". Bibliographie : pages 125-132.
Mots-clés libres: Infonuagique. application, automatisé, déploiement, évolutivité, générique, gestion, migration, modèle, openicra, nuage informatique, migration vers le nuage, enfermement propriétaire, gestion du stockage dans le nuage
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Cheriet, Mohamed
Programme: Maîtrise en ingénierie > Génie
Date de dépôt: 22 nov. 2013 16:22
Dernière modification: 10 mars 2017 00:35
URI: http://espace.etsmtl.ca/id/eprint/1222

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...