Déploiement automatisé des applications dans le nuage informatique

La virtualisation assistée par matériel

Comme la virtualisation assistée par matériel sert à intégrer le support de la virtualisation dans les processeurs, plusieurs vendeurs de matériel ont lancé rapidement des projets de développement de nouvelles fonctionnalités pour simplifier cette technique. Les améliorations de la première génération incluent la technologie VT-x (Virtualization Technology) d’Intel ainsi que l’AMD-V de la compagnie AMD. Ces deux technologies ciblent les instructions privilégiées en introduisant une nouvelle caractéristique de mode d’exécution de CPU, permettant au VMM de s’exécuter dans un nouveau mode racine (root) au-dessous du niveau d’exécution ring 0.  les instructions privilégiées et sensibles sont configurées pour être virtualisées automatiquement par l’hyperviseur dans le matériel à l’aide d’un modèle classique trapper-et-émuler, supprimant ainsi la nécessité de passer par la traduction binaire ou la paravirtualisation.

Nuage informatique : qu’est-ce que c’est?

Le nuage informatique connu par le terme anglais «Cloud Computing» représente aujourd’hui une véritable révolution pour l’industrie informatique. Il est donc défini comme un concept qui fait référence à l’utilisation des outils technologiques et des capacités de calcul et de stockage des serveurs répartis dans le monde entier, fournis en tant que service auxquels on peut recourir sur Internet indépendamment de l’appareil qui est utilisé pour y avoir accès (Patrick, 2011).
Avec le nuage, la puissance de calcul et la capacité de stockage de l’information sont disponibles à la demande et facturées en fonction de l’utilisation réelle permettant une réduction drastique des coûts. Par rapport à ceux qui installent leur propre infrastructure, les utilisateurs du nuage peuvent énormément économiser leurs dépenses et tirer profit de la fiabilité et de l’évolutivité du système. De plus, les utilisateurs peuvent tirer parti de cette puissance des ressources informatiques potentiellement illimitées pour réaliser des tâches de calcul intensif et accéder aux systèmes de stockage de masse.

Caractéristiques du nuage

Selon Mell et Grance (2011), le service de nuage informatique proposé par le prestataire doit répondre à un certain nombre de critères. Les cinq caractéristiques exigées sont les suivantes :
Libre-service à la demande : L’utilisateur doit pouvoir allouer et libérer des capacités informatiques (espace de stockage, bande passante, temps de serveur) suivant ses besoins, automatiquement sans requérir une interaction humaine avec le fournisseur de service (par exemple via des API).
Accès étendu au réseau : Les ressources sont disponibles sur le réseau et accessibles par le biais des mécanismes standards, qui favorisent l’accès au service par des clients lourds ou légers à travers des plates-formes hétérogènes (par exemple : téléphone mobile, ordinateurs portables et stations de travail).
Mise en commun des ressources : Les ressources informatiques (stockage, traitement, mémoire et bande passante réseau) du fournisseur sont mises en commun pour servir plusieurs utilisateurs, avec des attributions et libérations dynamiques des différentes ressources physiques et virtuelles en fonction de la demande. Le client ne contrôle pas l’emplacement réel des ressources fournies et il ne sait pas où elles se trouvent physiquement. Cependant, il peut parfois avoir la possibilité de choisir une localisation à un niveau plus haut d’abstraction (par exemple, le pays, l’état, ou le centre de données).
Élasticité ou mise à l’échelle rapide : Les ressources sont allouées et libérées de façon élastique, parfois automatique, pour dimensionner rapidement la capacité, de l’augmenter et de la diminuer en fonction des modifications des besoins de calcul. Pour le client, cette allocation de ressources s’avère souvent illimitée et peut être faite à tout moment et dans la quantité voulue.
Service mesuré : Les systèmes du nuage contrôlent automatiquement et optimisent l’utilisation des ressources en fonction des informations remontées par des fonctionnalités de mesures, selon le type de service (par exemple, stockage, traitement, bande passante, et comptes d’utilisateurs actifs). L’utilisation de ces ressources peut être surveillée et contrôlée en toute transparence pour le fournisseur et le consommateur du service utilisé.

Enfermement propriétaire et portabilité

Dans le but d’assurer la liberté de choix, y compris la liberté de déployer des applications développées sur d’autres PaaS, notre modèle proposé doit être conçu et construit en utilisant des piles logicielles et technologiques libres « open sources ». À cette fin, seuls les frameworks et les technologies libres seront utilisés et aucune API, technologie, ou ressource propriétaire ne sera intégrée dans la construction de notre modèle de déploiement automatisé. Sur demande du développeur, le modèle PaaS proposé doit fournir un niveau beaucoup plus élevé de contrôle, car il aura l’accès à l’infrastructure sous-jacente. Sinon, il cache la complexité de la configuration des ressources en utilisant une couche d’abstraction et de meilleures pratiques permettant de satisfaire les besoins des utilisateurs ayant des exigences moins avancées. En outre, l’intégration des outils d’approvisionnement des ressources de calcul tels que Boxgrinder et VMBuilder avec le gestionnaire de nuage permet au modèle proposé de supporter les différents nuages publics (GSN, Amazon EC2, Windows Azure, Rackspace…) et les nuages privés (OpenStack, VMWare vCenter, Citrix XenServer…). En isolant complètement l’application de l’environnement du nuage sous-jacent et en cachant les APIs et la complexité de configuration de l’environnement d’exécution, l’application peut être facilement déplacée d’un nuage à un autre sans aucune restriction et à n’importe quel moment. Cela nous permet d’atteindre notre objectif de minimisation de l’enfermement propriétaire.

Mise à l’échelle automatique des applications

La mise à l’échelle horizontale permet à une application de réagir à l’évolution du trafic et d’allouer automatiquement les ressources nécessaires en fonction de la demande. Ceci est accompli en utilisant l’équilibreur de charge (load balancer).
Au moment de la création ou de déploiement, le développeur doit spécifier si l’application est mise à l’échelle (évolutive) ou non. Si l’application déployée ou créée n’est pas mise à l’échelle, elle occupe uniquement un seul conteneur dans un nœud de données et tout le trafic sera envoyé vers ce conteneur. Toutefois, lorsque le développeur crée une application avec mise à l’échelle, elle approvisionne deux conteneurs, un pour l’équilibreur de charge, et l’autre pour l’application réelle. Si le développeur ajoute d’autres templates comme MongoDB ou MySQL à son application, ils seront installés dans leurs propres conteneurs.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

CHAPITRE 1 INTRODUCTION 
1.1 Contexte
1.2 Problématique
1.3 Objectifs du mémoire
1.4 Plan du mémoire
CHAPITRE 2 REVUE DE LA LITTÉRATURE 
2.1 Introduction
2.2 La virtualisation
2.2.1 Définitions
2.2.2 Les modèles d’utilisation de la virtualisation et ses avantages
2.2.2.1 Isolation des applications
2.2.2.2 Consolidation des serveurs
2.2.2.3 Migration des machines virtuelles
2.2.2.4 Test et développement
2.2.2.5 L’équilibrage de charge dynamique et la récupération après les sinistres
2.2.3 Les différentes techniques de la virtualisation
2.2.3.1 L’isolation
2.2.3.2 La virtualisation complète
2.2.3.3 La paravirtualisation
2.2.3.4 La virtualisation assistée par matériel
2.3 Le nuage informatique
2.3.1 Nuage informatique : qu’est-ce que c’est?
2.3.2 Les ancêtres du nuage
2.3.2.1 Grid Computing
2.3.2.2 Utility Computing
2.3.3 Caractéristiques du nuage
2.3.4 Modèles de service
2.3.5 Modèles de déploiement
2.4 Travaux connexes
2.5 Conclusion
CHAPITRE 3 DÉPLOIEMENT AUTOMATISÉ DES APPLICATIONS DANS LE NUAGE
3.1 Introduction
3.2 Enfermement propriétaire et portabilité
3.3 Approche de redondance
3.4 Mise à l’échelle automatique des applications
3.5 Gestion du stockage dans le nuage (IaaS)
3.5.1 Architecture actuelle du système de stockage de GSN
3.5.2 Architecture de HDFS
3.5.3 Système de stockage proposé : Intégration du HDFS avec GSN
3.6 Processus de déploiement automatique des applications dans le nuage
3.6.1 Préparation du déploiement de l’application
3.6.2 Déploiement automatique des services et des applications
3.6.3 Surveillance et gestion du déploiement
3.7 Conclusion
CHAPITRE 4 ARCHITECTURE ET CONCEPTION DU MODÈLE DE DÉPLOIEMENT
4.1 Introduction
4.2 Conception du modèle PaaS proposé : OpenICRA
4.2.1 Hypothèses
4.2.2 Architecture globale du modèle proposé
4.2.3 Contrôleur de nuage
4.2.4 Le gestionnaire de nuage
4.2.5 Les ressources du système
4.2.5.1 Les nœuds de données
4.2.5.2 Les conteneurs d’applications
4.2.6 Les Modules/Templates
4.2.6.1 Les modules
4.2.6.2 Les templates
4.2.7 Les mécanismes de communication du système
4.3 Choix des solutions technologiques
4.3.1 Choix d’une plateforme en tant que service (PaaS)
4.3.1.1 Critères de choix
4.3.1.2 Sélection du PaaS
4.3.1.3 Description d’OpenShift
4.3.2 Choix d’outil de gestion de configuration
4.3.2.1 Comparaison
4.3.2.2 Choix de l’outil
4.3.3 Choix du système de fichiers distribué
4.3.3.1 Critères de choix
4.3.3.2 Comparaison qualitative des systèmes de fichiers distribués
4.3.3.3 Sélection du système de fichiers distribué
4.4 Conclusion
CHAPITRE 5 EXPÉRIMENTATION ET VALIDATION 
5.1 Introduction
5.2 1er cas d’étude : Automatisation du déploiement d’OpenSAF
5.2.1 Présentation du cas d’étude
5.2.2 Processus d’automatisation du déploiement d’OpenSAF
5.2.2.1 Préparation du déploiement
5.2.2.2 Déploiement automatique
5.2.2.3 Monitorage et gestion du déploiement
5.2.3 Résultats
5.3 2ème cas d’étude : Migration automatique du système ICRA vers EC2
5.3.1 Présentation du cas d’étude
5.3.2 Processus de migration du système de travail collaboratif vers le nuage EC2
5.3.2.1 Préparation de la migration
5.3.2.2 Migration automatique vers EC2
5.3.2.3 Monitorage de la migration
5.3.3 Évaluation des performances globales du système de travail collaboratif
5.3.3.1 Comparaison des codecs et passage du G.711 à G.729
5.3.3.2 Test de l’évolutivité du système collaboratif
5.4 Conclusion
CONCLUSION

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *