46 5 4MB
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Bizerte Département Technologies de l'Informatique
Référence
Dép. AN N°
TI 2022 RSI2206
Rapport de
PROJET DE FIN D’ETUDES En vue de l’obtention de : Licence Appliquée en technologie de l’Informatique (TI) Spécialité : Réseaux et systèmes informatique
Mise en place d’une solution Big Data en Cloud pour la gestion des données réseaux Elaboré par : Hlel FIRAS & Dehech MOHAMED FIRAS Encadré par : Mr Snoussi ELYES (ISET) Mr Ameur KAIS (TT) Effectué à : Entreprise : TUNISIE TELECOM Adresse : Rue Lac Tchad - 1053 Berges du Lac - Tunis Tel : 71 960 414
Année universitaire : 2021/2022
Remerciements
Nous Tenons à remercier toutes les personnes qui ont contribué au succès de notre stage et qui m'ont aidé lors de la rédaction de ce rapport. Tout d'abord, nous adressons nos remerciements les plus sincères à toute l’équipe pédagogique de l’Institut Supérieur des Etudes technologiques de Bizerte en particulier, mon encadrant de stage, Mr Elyes Snoussi, pour la richesse ainsi que la qualité de son encadrement et son enseignement et les efforts fournis afin d’assurer une formation actualisée. Nous tenant à remercier vivement notre maitre de stage, Mr Kais Ameur au sein de l'entreprise Tunisie Telecom, pour son accueil, le temps passé ensemble et le partage de son expertise au quotidien. Il fut d'une aide précieuse dans les moments les plus délicats. Nous aimerons aussi gratifier les efforts de Mme Hiba Cherif, qui a eu l’amabilité de répondre à nos questions et de nous fournir les explications nécessaires.
Dédicace Je dédiais ce modeste travail avec toute mes expressions de ma reconnaissance : A mes chers parents qui m’ont toujours encouragé, poussé, motivé dans mes études, je les remercie énormément pour leur amour, support et leurs énormes sacrifices. Je ferais de mon mieux pour rester votre fierté. A mes chers amis qui sont toujours présents, et n’ont jamais cessé de m’encourager et pousser en avant. A mes chers enseignants de l’Institut Supérieure Des Etudes Technologiques De Bizerte pour leurs efforts et la qualité de la formation donnée. A mes proches, pour l’amour, la confiance et l’envie d’aller en avant. A tout ce que je connais… J’ai le grand plaisir de dédier ce travail en témoignage d’affection et de reconnaissance à tous ceux qui m’ont aidé à le réaliser.
Hlel Firas
Dédicace Avec l'expression de ma reconnaissance, je dédie ce modeste travail a ceux qui je n'arriverais jamais à leur exprimer mon amour sincère : A l'homme, mon précieux offre du dieu, qui m’a poussé et motivé pour réussir mes études et atteindre mes objectifs, mon cher père Lassaad. A la femme qui a souffert sans me laisser souffrir, qui n'a jamais dit non à mes exigences et qui n'a épargné aucun effort pour me rendre heureux, ma chère mère Hela. A mes frères Amir et Fourat pour ses soutiens moraux et leurs conseils précieux tout au long de mes études. Que dieu vous protège et vous offre le bonheur. A mes professeurs pour la qualité de l'enseignements au cours de ces trois années passées à l'Institut Supérieure Des Etudes Technologiques De Bizerte. Sans oublier mon binôme Firas Hlel pour son soutien moral, sa patience et sa compréhension tout au long de ce projet. Ce projet fin d’étude représente l'aboutissement du soutien et des encouragements qu'ils monts prodigués tout au long de ma scolarité. Et finalement a tous mes amis, pour la confiance et le soutien morale dans les moments difficiles.
Dehech Med firas
Table des matières LISTE DES FIGURES ................................................................................................................................................ 6 INTRODUCTION GENERALE ................................................................................................................................... 8 CHAPITRE 1 : CADRE ET CONTEXTE DU PROJET ...................................................................................................... 9 I. II. III. IV. V. VI. VII.
INTRODUCTION ................................................................................................................................................... 9 PRESENTATION DE L’ORGANISME D’ACCUEIL .............................................................................................................. 9 ÉTUDE DE L’EXISTANT ........................................................................................................................................... 9 CRITIQUE DE L'EXISTANT ...................................................................................................................................... 10 SOLUTION PROPOSEE : ........................................................................................................................................ 11 SPECIFICATION DES BESOINS : ............................................................................................................................... 12 CONCLUSION................................................................................................................................................ 13
CHAPITRE 2 : L’ETAT DE L’ART ..............................................................................................................................14 I. II.
INTRODUCTION ................................................................................................................................................. 14 BIG DATA ......................................................................................................................................................... 14 1. Les 4 V fondamentaux .............................................................................................................................. 14 a) b) c) d)
2.
Volume ..................................................................................................................................................................15 Vitesse (Velocity) ..................................................................................................................................................15 Variété ..................................................................................................................................................................15 Véracité .................................................................................................................................................................15
Cas d’utilisation du Big Data .................................................................................................................... 15 a) b) c)
3.
Développement de produits .................................................................................................................................15 Expérience client ...................................................................................................................................................16 Machine Learning .................................................................................................................................................16
Les principales technologies de Big Data ................................................................................................. 16 a) b) c) d)
Des bases de données NoSQL ...............................................................................................................................16 MapReduce ...........................................................................................................................................................16 Hadoop .................................................................................................................................................................17 Stockage "In-Memory" ..........................................................................................................................................17
4. 5.
Théorème CAP .......................................................................................................................................... 17 Les Big Data en chiffres ............................................................................................................................ 18 III. ETUDE DE LA SOLUTION HADOOP .......................................................................................................................... 18 1. C’est quoi Hadoop .................................................................................................................................... 18 2. Écosystème Hadoop ................................................................................................................................. 18 a) b)
3. IV. 1. 2. 3. V. 1.
Les avantages du Hadoop ........................................................................................................................ 20 LA VIRTUALISATION ............................................................................................................................................ 21 Le mécanisme de la virtualisation ............................................................................................................ 21 Différents types de virtualisations............................................................................................................ 21 La virtualisation pour Tunisie Telecom ..................................................................................................... 22 LE CLOUD COMPUTING ....................................................................................................................................... 23 Éléments constitutifs du Cloud Computing .............................................................................................. 24 a) b) c)
2.
Éléments de base ..................................................................................................................................................18 Autres éléments ....................................................................................................................................................19
La virtualisation .....................................................................................................................................................24 Le Datacenter : ......................................................................................................................................................24 La Plateforme collaborative : ................................................................................................................................24
Modèles de déploiement cloud ................................................................................................................ 25
a) b) c)
3.
Divers services .......................................................................................................................................... 26 a) b) c)
4.
1. 2. VII. 1. 2.
Les avantages du cloud .........................................................................................................................................27 Les inconvénients du cloud ...................................................................................................................................28
CHOIX DE LA SOLUTION ....................................................................................................................................... 28 Etude comparative ................................................................................................................................... 28 Pourquoi le choix d’openstack.................................................................................................................. 30 ETUDE DE LA SOLUTION OPENSTACK ................................................................................................................. 31 Comment fonctionne Openstack .............................................................................................................. 31 L’architecture Openstack ......................................................................................................................... 32 a) b)
3. VIII.
Infrastructure as a Service (IAAS) ..........................................................................................................................27 Platform as a Service (PAAS) .................................................................................................................................27 Software as a Service (SAAS) .................................................................................................................................27
Les avantages et les inconvénients du Cloud ........................................................................................... 27 a) b)
VI.
Cloud public ..........................................................................................................................................................25 Cloud privé ............................................................................................................................................................25 Cloud hybride : ......................................................................................................................................................26
Architecture conceptuelle.....................................................................................................................................32 Architecture logique .............................................................................................................................................33
Les services Openstack ............................................................................................................................. 33 CONCLUSION................................................................................................................................................ 38
CHAPITRE 3 : REALISATION ET TESTS ....................................................................................................................39 I.
INTRODUCTION ...........................................................................................................................................39
II.
ARCHITECTURE DE LA SOLUTION..................................................................................................................39
III.
ENVIRONNEMENT DE TRAVAIL.....................................................................................................................41 1. 2.
IV.
PREPARATION DE L’ENVIRONNEMENT .........................................................................................................43 3. 4. 5. 6. 7. 8.
V.
Configuration du Network Time Protocol (NTP) ....................................................................................... 44 Installation des packages d’OpenStack .................................................................................................... 44 Configuration de la Base de données SQL ................................................................................................ 45 Configuration de la file d’attente RabbitMQ............................................................................................ 45 Configuration du Memcached .................................................................................................................. 46 Configuration de l’Etcd ............................................................................................................................. 46
TRAVAIL REALISE .........................................................................................................................................47 1. 2. 3. 4. 5. 6. 7. 8.
VI.
Environnement matériel........................................................................................................................... 41 Environnement logiciel ............................................................................................................................. 42
Vue d’ensemble ........................................................................................................................................ 47 Gestion des images .................................................................................................................................. 53 Création des flavors ................................................................................................................................. 54 La création des réseaux ............................................................................................................................ 56 La création des volumes : ......................................................................................................................... 58 Lancement des instances ......................................................................................................................... 60 Test de la plateforme Hadoop .................................................................................................................. 64 Tester la plateforme Spark ....................................................................................................................... 66
CONCLUSION ...............................................................................................................................................66
CONCLUSION GENERALE ......................................................................................................................................67 NETO-GRAPHIQUE................................................................................................................................................68
Liste des figures Figure 1:Architecture traditionnelle de Tunisie Telecom...................................................................... 10 Figure 2: Architecture de la solution ..................................................................................................... 12 Figure 3: Les quatre V fondamentaux ................................................................................................... 14 Figure 4: Le théorème de CAP .............................................................................................................. 17 Figure 5: Les types de virtualisations .................................................................................................... 22 Figure 6: Migrer à la virtualisation........................................................................................................ 23 Figure 7: Cloud public........................................................................................................................... 25 Figure 8: Cloud privé ............................................................................................................................ 26 Figure 9: Cloud hybride ........................................................................................................................ 26 Figure 10: Architecture conceptuelle d’OpenStack .............................................................................. 32 Figure 11: Architecture logique ............................................................................................................ 33 Figure 12: La procédure d'authentification dans le service keystone .................................................... 34 Figure 13: La procédure de demande d'image à partir de service Glance ............................................. 34 Figure 14: La procédure de création d’une instance à partir du service nova ....................................... 35 Figure 15: La procédure d’affectation d’une adresse IP a une instance ................................................ 36 Figure 16: La procédure de création d’un volume à l’aide du cinder.................................................... 37 Figure 17: La procédure de création d’une instance à l’aide de service Heat ....................................... 38 Figure 18: Architecture de la solution ................................................................................................... 39 Figure 19: Architecture du Hadoop ....................................................................................................... 40 Figure 20: Environnement matériel ....................................................................................................... 41 Figure 21: configuration du fichier /etc/hosts ....................................................................................... 43 Figure 22: vérification de la connectivité .............................................................................................. 43 Figure 23: Configuration du fichier chrony.conf sur le nœud controller .............................................. 44 Figure 24: Configuration du fichier chrony.conf sur les autres noeuds ................................................ 44 Figure 25: Configuration du fichier /etc/mysql/mariadb.conf.d/99-openstack.cnf ............................... 45 Figure 26: Création et configuration d'utilisateur .................................................................................. 45 Figure 27: Editer le fichier /etc/memcached.conf ................................................................................. 46 Figure 28: Configuration du fichier /etc/default/etcd ............................................................................ 46 Figure 29: Le plateforme Horizon ......................................................................................................... 47 Figure 30: La procédure d'authentification ........................................................................................... 48 Figure 31: l'interface graphique d'OpenStack ....................................................................................... 49
Figure 32: La liste graphique des utilisateurs ........................................................................................ 50 Figure 33: Liste des utilisateurs par ligne des commandes ................................................................... 50 Figure 34: La liste graphique des projets .............................................................................................. 51 Figure 35: La liste des projets par ligne des commandes ...................................................................... 51 Figure 36: La liste graphique des rôles.................................................................................................. 52 Figure 37: La listes des rôles par ligne des commandes ....................................................................... 52 Figure 38: Téléchargement de l'image ubuntu ...................................................................................... 53 Figure 39: Charger l'image graphiquement ........................................................................................... 53 Figure 40: Charger l'image par ligne des commandes........................................................................... 54 Figure 41: La liste graphique des images .............................................................................................. 54 Figure 42: La liste des images par ligne des commandes...................................................................... 54 Figure 43: Création des flavors ............................................................................................................. 55 Figure 44: La liste des flavors crée ....................................................................................................... 55 Figure 45: Création graphique du réseau............................................................................................... 56 Figure 46: Création du réseau par ligne des commandes ...................................................................... 56 Figure 47: Création du réseau par ligne des commandes ...................................................................... 57 Figure 48: La liste graphique des réseaux ............................................................................................. 57 Figure 49: La liste des réseaux par ligne des commandes ..................................................................... 57 Figure 50: La création graphique des volumes...................................................................................... 58 Figure 51: La création des volumes par lignes des commandes............................................................ 58 Figure 52: La liste graphique des volumes ............................................................................................ 59 Figure 53: La liste des volumes ............................................................................................................. 59 Figure 54: Spécification de nom et nombre d'instances ........................................................................ 60 Figure 55: Choix d’image...................................................................................................................... 60 Figure 56: Choix du flavors................................................................................................................... 61 Figure 57: Choix du réseau ................................................................................................................... 61 Figure 58: Choix du groupe de sécurité ................................................................................................ 62 Figure 59: Choix du key paire ............................................................................................................... 62 Figure 60: La liste des instances disponibles dans la plateforme .......................................................... 63 Figure 61: La plateforme Hadoop ......................................................................................................... 64 Figure 62: La plateforme Hadoop ......................................................................................................... 65 Figure 63: La plateforme Hadoop ......................................................................................................... 65 Figure 64: Welcome to Spark ................................................................................................................ 66 Figure 65: Dashboard Spark .................................................................................................................. 66
Introduction générale La gestion de l'infrastructure informatique, la continuité des activités et la réduction des coûts sont toujours des priorités absolues pour les entreprises. Cependant, les solutions disponibles sur le marché sont souvent très coûteuses. Au même temps, les développements quotidiens au niveau de l'infrastructure ont conduit au développement de nouveaux périphériques informatiques. Cette évolution rend la tâche de déploiement et encore plus difficile à garantir. De toutes ces limitations est né, le besoin du Cloud Computing est apparu comme une solution révolutionnaire a plusieurs nombres de défis auxquels l'entreprise est confrontée. La fourniture de ressources informatiques virtuelles et de dispositifs informatiques interconnectés a ouvert la voie aux Clouds. Toutes les techniques utilisées dans le Cloud reposent sur la virtualisation des ressources informatiques telles que le matériel, les logiciels, la mémoire ou les composants réseau. L'explosion quantitative des données numériques a obligé les chercheurs à trouver de nouvelles façons de visualiser et d'analyser les diverses données. Il s'agit de découvrir de nouveaux ordres de grandeur pour la collecte, la recherche, le partage, le stockage, l'analyse et la présentation des données. Ainsi est né le " Big Data ". De plus en plus d'entreprises envisagent de migrer des applications existantes vers le cloud. Les objectifs peuvent être multiples : augmenter leur flexibilité, leur coût, améliorer leurs performances et la sécurité des données. Tunisie Télécom en tant qu'entreprise moderne doit être en pleine évolution. Elle souhaite virtualiser toutes les applications et les serveurs de base de données du département partie mobiles dans une seule plateforme pour bien exploiter le workflow. TT a choisi de travailler avec le modèle IAAS lui permettant de bénéficier de l'infrastructure virtuelle. Le Premier chapitre, présentera la thématique abordée ainsi que la démarche adoptée. Ensuite, le deuxième chapitre enchainera par une étude de l’état de l’art, dont laquelle nous allons présenter une étude des différents notion informatique (Big Data et Cloud Computing). Et finalement, le troisième chapitre expliquera le travail effectué pendant le stage avec plusieurs tests pour assurer le fonctionnemen
8
Cadre et contexte du projet
Chapitre 1 : Cadre et contexte du projet I.
Introduction
Dans ce chapitre, nous allons donner un aperçu de la société d’accueil ainsi que son architecture existante et ses divers plateformes et serveurs de bases de données. Nous allons présenter également notre projet d’un point de vue globale, son contexte, sa signification et ses objectifs ultimes.
II.
Présentation de l’organisme d’accueil
« TUNISIE TELECOM » est le nom commercial de l’office national des télécommunications dont le siège social est situé à TUNIS, il s’agit d’une entreprise de service a été créé le 17 Avril 1996. C’est un établissement public rattaché au ministère des technologies des commutations. Depuis sa création, Tunisie Telecom oeuvre à consolider l’infrastructure des télécoms en Tunisie, à améliorer le taux de couverture et à renforcer sa compétitivité. Elle contribue également au développement des sociétés innovantes dans le domaine des télécoms. Tunisie Telecom compte dans ses rangs plus de 6 millions abonnés dans la téléphonie fixe et mobile. Tunisie Telecom se compose de 24 directions régionales, de 140 Espaces TT et points de vente et de plus de 13 mille points de vente privés. Elle emploie plus de 6000 agents.[1]
III.
Étude de l’existant
À l’aide de plusieurs applications, Tunisie Telecom gère les réseaux mobiles qui génèrent une dizaine de milliards d’informations collectées par jour pour assurer la supervision et le suivi de performance de tous les éléments de réseau. Parmi les applications les plus utilisées, citons :
ENM est un système de gestion de réseau unifié de nouvelle génération qui permet aux opérateurs d'avoir une image plus claire de leurs ressources et services réseau.
Web Intelligence est un outil de création de rapports de Business Intelligence permettant aux utilisateurs professionnels d'analyser les données dans Data Warehouse. Il assiste les chefs d'entreprise dans le processus de prise de décision pour la construction des stratégies futures.
9
Cadre et contexte du projet
Sur le marché des solutions d’orchestration de performances réseau, InfoVista est considéré comme le leader mondial. Cette entreprise propose des solutions abordables, permettant aux fournisseurs de services de communications, aux opérateurs mobiles et aux grandes entreprises de maximiser la qualité de leur expérience utilisateur et d’augmenter l’efficience de leurs infrastructures réseau.
MySQL est un système de gestion des bases de données relationnelles (SGBDR) open source développé et supporté par Oracle. MySQL Database Service est un service de base de données entièrement géré pour déployer des applications natives du cloud en utilisant la base de données ...
La partie mobile au sein du Tunisie Telecom travail toujours avec l'architecture traditionnelle. Il est donc en train d'exécuter plusieurs systèmes d'exploitation simultanément dans plusieurs serveurs comme il est montré dans la figure suivante :
Figure 1:Architecture traditionnelle de Tunisie Telecom
IV.
Critique de l'existant L'étude de l'architecture du système actuel au sein du Tunisie Telecom, nous a conduit à
détecter certains problèmes :
Les ressources sont stockées sur plusieurs serveurs externes.
Les ressources allouées nécessitent un grand budget.
La solution de sauvegarde des données actuel présente plusieurs limitations (temps et volume de sauvegarde, Bd relationnelle).
10
Cadre et contexte du projet
La diversité des données nous impose de les séparer, cette contrainte nous coute plus de stockage et des serveurs de base de données.
V.
Solution proposée : Notre maquette consistait à déployer une plate-forme openstack qui contrôle de grands pools
de ressources informatiques, de stockage et de réseau via des API et un tableau de bord. Elle nous offre les fonctionnalités suivantes :
Gestion des instances : l'utilisateur pourra consulter la liste des instances en cours et des informations spécifiques telles que le projet auquel elles appartiennent, l'adresse IP, la taille. Il aura également la possibilité de modifier, résilier, suspendre, redémarrer ou supprimer une instance.
Gestion des images : Les utilisateurs peuvent consulter la liste des images autorisées pour le projet, créer de nouvelles images ou supprimer des images existantes. Vous pouvez également utiliser ces images pour démarrer de nouvelles instances.
Gestion des volumes : La plateforme permettra aux utilisateurs de consulter une liste de volumes de disques virtuels existants, de créer de nouveaux volumes et de modifier d'anciens volumes.
Gestion des utilisateurs : L'administrateur peut créer des utilisateurs et affecter différents rôles, groupes et applications à chaque utilisateur. Un utilisateur peut effectuer des tâches en fonction des autorisations données à l'utilisateur.
En combinant les points ci-dessus, nous pouvons conclure que la plupart des problèmes rencontrés seront résolus par openstack grâce à la création de machines virtuelles. Après avoir terminé notre infrastructure IAAS, nous allons implémenter une solution Big Data dans le but de mieux exploiter les ensembles volumineux de données et exécuter des applications sur des clusters de matériel de base. Dans ce cas, nous utiliserons le framework Hadoop qui fournit les fonctionnalités suivantes :
Stockage de masse pour tous les types de données
Grande puissance de traitement.
Vitesse de stockage et de récupération des données.
La possibilité de gérer des tâches ou des travaux simultanés pratiquement illimités.
11
Cadre et contexte du projet
Nous utilisons les mégadonnées fournies par Hadoop pour améliorer la qualité et la rapidité du travail tout en réduisant les coûts, l'espace mémoire et le temps de traitement. L’image ci-dessous résume le travail à effectuer et nous donne une explication graphique a notre architecture et ses différentes couches.
Figure 2: Architecture de la solution
VI.
Spécification des besoins :
La plateforme Cloud doit permettre de :
Authentifier les utilisateurs de la plateforme et affecter les privilèges nécessaires.
Intégrer une interface web simplifiée.
Optimiser le processus de création des volumes et des instances.
Création du cluster Hadoop.
Collecter et traiter efficacement les données produites par les services OpenStack.
Stocker et traiter en temps réel des données massives structurées ou non structurées.
12
Cadre et contexte du projet
VII.
Conclusion
Ce chapitre présente le cadre général du projet. Dans le chapitre suivant, nous définissons les notions générales de Cloud Computing et de Big Data ainsi qu’une étude détaillée de la solution OpenStack et Hadoop.
13
Etat de l’art
Chapitre 2 : L’état de l’art I.
Introduction Dans ce chapitre, nous allons présenter une étude théorique sur le Big Data, les caractéristiques,
cas d’utilisation et principales technologies en mettant l’accent sur l’outil Hadoop. Ensuite nous présenterons une étude concernant le Cloud Computing, les services, les modèles du déploiement, les avantages et les inconvénients en nous concentrant sur l'outil Openstack.
II.
Big Data Le big data est une solution qui permet d'accéder en temps réel à de grandes bases de données,
offrant ainsi une alternative aux solutions classiques obsolètes face à des quantités massives de données. Le Big Data est devenu de plus en plus important et a révolutionné le monde de l'information, gérant toutes les données et apportant des avantages significatifs à la satisfaction des clients professionnels. Grâce à ses capacités, il peut interagir avec les clients pour mieux répondre à leurs besoins et s'assurer de la pertinence des informations fournies, garantissant ainsi la qualité du service. [2]
1. Les 4 V fondamentaux Les experts du Big Data, définissent le Big Data en termes de ces quatre V : volume, vitesse variété et véracité. Ces quatre dimensions caractérisent et distinguent les big data des regular data.
Figure 3: Les quatre V fondamentaux
14
Etat de l’art
a) Volume La capacité est une caractéristique clé du Big Data. Le terme est en effet tiré directement de la quantité massive de données qui est générée chaque jour. Selon IBM, une moyenne de 2,5 téraoctets de données est générée chaque jour, soit environ 2,3 billions de gigaoctets. Ces données augmentent considérablement chaque jour à mesure que les données source continuent d'être ajoutées. Sur l’ensemble de l’année 2020, 40 zettabytes de données sont créés.
b) Vitesse (Velocity) La vélocité est la vitesse à laquelle les données circulent. C'est-à-dire la fréquence à laquelle ils sont générés, sélectionnés et partagés. Grâce aux nouvelles technologies, les données peuvent toujours se propager rapidement en moins de temps. Les entreprises sont obligées de collecter et de partager des données en temps réel, mais le cycle de création de nouvelles données se répète rapidement, rendant rapidement les données obsolètes.
c) Variété Les types et les sources de données se diversifient de plus en plus, et la structure des données traditionnelles est concise et facile à utiliser. Ces nouveaux types de données incluent une quantité énorme de contenus très divers : localisations géographiques, connexions, mesures, processus, social, texte, web, images, vidéos, e-mails, livres, tweets, enregistrements audio…
d) Véracité Enfin, l'authenticité des données ou leur fiabilité lorsqu'il est important de le faire pour les gros volumes à collecter rapidement est primordiale. Il est difficile de savoir que les données sont en fait intactes, non interrompues par une source attendue. Dans une moindre mesure, on retrouve également d'autres V dans le Big Data :
Valeur : pour toutes les informations qui peuvent être extraites de ces données massives.
Variabilité : pour assurer la stabilité des modèles de données, des associations peuvent être faites dans cette chaîne de montagnes. [3]
2. Cas d’utilisation du Big Data Le Big Data peut vous aider à réaliser diverses activités commerciales, de l’expérience client aux analyses. En voici quelques-unes :
a) Développement de produits Des entreprises comme Netflix utilisent le big data pour répondre aux demandes des clients. Ils créent des modèles prédictifs pour de nouveaux produits ou services, classent les attributs clés des produits et modélisent la relation entre les attributs et le succès commercial de leurs produits.
15
Etat de l’art
b) Expérience client Vous pouvez désormais comprendre l'expérience client mieux que jamais. Le Big Data vous permet de collecter des données à partir des réseaux sociaux, des visites Web, des journaux d'appels et d'autres sources pour améliorer l'expérience d'interaction et maximiser les offres. Commencez à proposer des offres personnalisées, à réduire la fatigue des clients et à résoudre les problèmes.
c) Machine Learning L 'apprentissage automatique est un sujet brûlant de nos jours. Les données, en particulier les mégadonnées, rendent cela possible. Nous pouvons maintenant enseigner les machines, pas seulement la programmation. La disponibilité de données volumineuses pour la formation de modèles d'apprentissage automatique rend cela possible. [4] Dans notre cas, Tunisie Telecom génère une dizaine de milliards d’informations collectées par jour. C'est un ensemble très volumineux de données numériques qu’aucun outils classique de gestion de base de données ne peut travailler. C'est pourquoi ils sont stockés dans plusieurs serveurs de bases de données externes. Et cette contrainte nécessite un grand budget pour le stockage et les serveurs de base de données. L'implémentation donc d'une solution big data est une priorité. En effet, les appareils, les services les applications mobiles ou encore la gestion des historiques de navigation web produisent de plus en plus d’informations qu’il convient de gérer et traiter efficacement.
3. Les principales technologies de Big Data Pour optimiser le temps de traitement sur des bases de données géantes, plusieurs solutions peuvent entrer en jeu :
a) Des bases de données NoSQL Les systèmes de stockage (tels que MongoDB, Cassandra ou Redis) mis en œuvre sont considérés comme plus efficaces que le SQL traditionnel pour l'analyse de données massives. Il existe quatre principaux types de bases de données NoSQL : (orientées clé/valeur, orientées document, orientées colonne et orientées graphique).
b) MapReduce MapReduce est un framework de traitement de données de cluster. Inclut les fonctions Mapper et Réduire, qui permettent des tâches de traitement de données sur différents ordinateurs, puis réduisent les résultats à un seul résumé.
16
Etat de l’art
c) Hadoop Hadoop est un framework logiciel open source pour stocker des données et exécuter des applications sur des clusters de machines standard. La solution offre un espace de stockage énorme et une puissance de traitement puissante pour tous les types de données. Hadoop se compose de plusieurs éléments : un système de stockage (HDFS), un système de planification de traitement (YARN) et un cadre de traitement (MapReduce).
d) Stockage "In-Memory" Il s'agit d'un système de gestion de base de données en mémoire basé sur le stockage de collections de données directement dans la RAM de nombreux ordinateurs. L'utilisation de la RAM présente un avantage décisif en fournissant une base de données en mémoire à une vitesse plus élevée. Par conséquent, les données sont faciles à obtenir. [5]
4. Théorème CAP Ce théorème, publié par Eric Brewer en 2000, décrit tout système distribué. Le théorème CAP nous dit que les systèmes distribués ne fournissent que deux des trois propriétés souhaitées : cohérence, disponibilité et tolérance de partition. Cohérence : Chaque nœud du système aura la même vue des données. Disponibilité : L'utilisateur peut lire et écrire à partir de n'importe quel nœud. Tolérance de partition : Votre système fonctionnera toujours même si un nœud ou un serveur tombe en panne. Ainsi, à partir de l'illustration ci-dessous, lors de la sélection de votre base de données NoSQL, vous ne pouvez choisir que deux caractéristiques, à savoir AP, AC, CP. [6]
Figure 4: Le théorème de CAP
17
Etat de l’art
5. Les Big Data en chiffres
Environ 10 milliards d’informations collecter par jours par Tunisie Telecom.
80% à 90% des données que nous générons aujourd’hui sont non-structurées
2,55 trillions de recherche sur Google en 2020
81 000 recherches par secondes sur Google
Les données créées au cours des 3 prochaines années seront plus nombreuses que celles créées au cours des 30 dernières années.
2,5 quintillions d’octets de données créés chaque jour.
26% des entreprises déclarent avoir atteint une culture axée sur les données.
•
43 trillions de gigabytes de données en 2020, soit plus de 300 fois le volume collecté en 2002. [7]
III.
Etude de la solution Hadoop 1. C’est quoi Hadoop Hadoop est un cadre logiciel spécialisé pour le stockage et le traitement de grandes quantités
de données. Il s'agit d'un projet open source sponsorisé par la Fondation Apache. Ce n'est pas un produit en soi, mais un framework qui regroupe des instructions distribuées pour le stockage et les données. Les données sont hébergées sur des serveurs standard avec peu de configuration dans le cluster. Le système de fichiers distribué Hadoop prend en charge le traitement simultané et la tolérance aux pannes. Hadoop utilise le modèle de programmation MapReduce pour stocker et récupérer des données plus rapidement dans ses nœuds. Divers éditeurs de logiciels ont utilisé Hadoop pour créer des produits commerciaux de gestion du Big Data.
2. Écosystème Hadoop L'écosystème Hadoop comporte des éléments de base indispensables au Framework, d'autres sont des éléments complémentaires qui ajoutent des fonctionnalités.
a) Éléments de base Les éléments de base de Hadoop sont les suivants :
HDFS : HDFS (Hadoop Distributed File System) est un système de fichiers distribué et un élément central de Hadoop, permettant aux données d'être stockées et répliquées sur plusieurs serveurs.
18
Etat de l’art
HDFS utilise NameNode et DataNode. Les DataNodes sont des serveurs standard pour stocker des données. NameNode contient des métadonnées (informations sur les données stockées dans différents nœuds). L'application n'interagit qu'avec le NameNode, qui communique avec le Data Node selon les besoins.
YARN : YARN est l'abréviation de « Yet Another Resource Negotiator » (plus simplement, un négociateur de ressources). Cet élément gère et planifie les ressources Hadoop (clusters) et décide de ce qui doit arriver à chaque nœud de données. Le nœud maître central qui gère toutes les requêtes de traitement est le "gestionnaire de ressources". Les gestionnaires de ressources interagissent avec différents gestionnaires de nœuds : chaque DataNode a son propre gestionnaire de nœuds pour effectuer des tâches.
MapReduce : MapReduce est un modèle de programmation que Google a d'abord utilisé pour indexer ses opérations de recherche. Suivant cette logique, cet élément exécute un algorithme pour décomposer les données. MapReduce s'appuie sur deux fonctions : Map et Reduce, qui analysent les données rapidement et efficacement. La fonction Map regroupe, filtre et trie plusieurs ensembles de données en parallèle et produit des tuples (paires clé-valeur). La fonction Reduce agrège ensuite les données de ces tuples pour produire le résultat souhaité.
Hadoop Common : Hadoop Common contient les bibliothèques et les utilitaires nécessaires aux autres modules Hadoop.
b) Autres éléments Hive : Le logiciel d'entrepôt de données Apache Hive peut facilement lire et gérer de grands ensembles de données résidant dans un stockage distribué à l'aide de SQL. La structure peut être projetée sur des données déjà stockées. Un outil de ligne de commande et un pilote JDBC sont fournis pour connecter les utilisateurs à Hive.
19
Etat de l’art
Pig : Pig élimine le besoin de créer des fonctions MapReduce pour interroger HDFS. Il dispose également d'un environnement d'exécution qui s'interface avec HDFS. Des scripts écrits dans des langages tels que Java ou Python peuvent également être intégrés à Pig.
HBase : HBase est une base de données en colonnes non relationnelle au-dessus de HDFS. L'un des défis de HDFS est qu'il est limité au traitement par lots. Cela dit, pour les requêtes interactives simples, les données doivent toujours être regroupées, ce qui entraîne une latence élevée. HBase contourne cela en prenant en charge les requêtes impliquant une seule ligne, même sur les plus grandes tables, ce qui réduit considérablement la latence.
Sqoop : Sqoop est un outil d'importation de données. Étant donné que la plupart des données d'entreprise sont stockées dans des bases de données relationnelles, ces données sont importées dans Hadoop à l'aide de Sqoop pour que les analystes puissent les visualiser.
3. Les avantages du Hadoop Les avantages de Hadoop sont nombreux :
Premièrement, le framework est capable de stocker et de traiter plus rapidement de grandes quantités de données. C'est un trésor à l'ère des réseaux sociaux et de l'Internet des objets.
Hadoop offre la flexibilité de stocker tout type de données non structurées telles que du texte, des symboles, des images ou des vidéos. Contrairement aux bases de données relationnelles traditionnelles, les données peuvent être stockées sans traitement préalable. Par conséquent, le fonctionnement est comparable aux bases de données NoSQL.
Ce framework open source peut également gérer le big data à moindre coût car son utilisation est gratuite. Il s'appuie également sur du matériel très courant pour stocker les données.
Hadoop ne dépend pas du matériel pour maintenir la disponibilité des données. Ceux-ci sont automatiquement répliqués plusieurs fois sur différents nœuds du cluster. Si un appareil tombe en panne, le système redirige automatiquement les tâches vers un autre appareil. Par conséquent, le cadre est tolérant aux pannes et tolérant aux pannes.
20
Etat de l’art
Hadoop apporte également une grande puissance de traitement. Son modèle de calcul distribué offre performance et efficacité.
Un autre avantage majeur est l'élasticité. Le système peut être augmenté ou réduit simplement en modifiant le nombre de nœuds dans le cluster. [8]
IV.
La virtualisation 1. Le mécanisme de la virtualisation Dans le vaste monde informatique, la virtualisation se définit comme un ensemble de techniques permettant de créer plusieurs systèmes d'exploitation sur un même matériel en partageant ses ressources. En d'autres termes, est une technique qui inclut une abstraction des propriétés physiques des ressources informatiques pour les restituer à un système, une application ou utilisateurs. Actuellement, la virtualisation semble être vraiment la seule solution fiable pour vraiment réduire les coûts liés au SI (Système d’Information). En effet, le principe de la virtualisation repose sur les éléments suivants :
Un système hôte unique est installé sur un seul serveur physique. Ce système servira à héberger plusieurs autres systèmes d'exploitation grâce à un logiciel nommé hyperviseur.
En conséquence, un hyperviseur est un logiciel de virtualisation installé dans le système d'exploitation principal ou le serveur. Il est ainsi possible de créer plusieurs environnements indépendants pouvant accueillir d'autres systèmes d'exploitation. Les espaces indépendants créés par l'hyperviseur sont des machines virtuelles.
2. Différents types de virtualisations Il existe de nombreux types de virtualisation, nous pouvons les regrouper en trois catégories principales comme suit : La virtualisation système : Son rôle est de virtualiser le système d’exploitation. On peut citer deux types de cette virtualisation :
Système modifié : La virtualisation nécessite une modification pour régler le noyau du système. C'est ce qu'on appelle la para virtualisation.
Système non modifié : C'est le type le plus utilisé. VMware, Hyper V, VirtualBox et plus entrent dans cette catégorie.
21
Etat de l’art
La virtualisation des processus : Au contraire du virtualisation système, ce concept ne virtualise pas l’intégralité du système d’exploitation, mais uniquement un programme spécifique dans son environnement. L’émulation : Consiste à imiter le comportement physique du matériel et des logiciels. [9]
Figure 5: Les types de virtualisations
3. La virtualisation pour Tunisie Telecom Tunisie Telecom en tant qu'une grande entreprise de télécommunication possède plus que 50 logiciels et applications. Chacun de ces applications est relié avec son serveur de base de données et cette contrainte nécessite un grand budget. Et dans le but de mieux utiliser ses ressources et optimiser les couts Tunisie Telecom veut migrer à la virtualisation pour permettre fonctionner plusieurs applications ou bien serveurs dans un seul serveur physique.
22
Etat de l’art
L’image ci-dessous nous montre la différence entre l’architecture traditionnelle existante et la nouvelle architecture basée sur la virtualisation.
Figure 6: Migrer à la virtualisation
V.
Le Cloud Computing Le cloud computing est la fourniture des services informatiques (y compris les serveurs, le stockage, les bases de données, la gestion de réseau, les logiciels, les outils analytiques, l'intelligence artificielle) via Internet (cloud) pour fournir une innovation plus rapide, des ressources flexibles et des économies d'échelle.
23
Etat de l’art
1. Éléments constitutifs du Cloud Computing a) La virtualisation La virtualisation est définie comme un ensemble des techniques matérielles et logicielles permettant un fonctionnement sur un seul système d'exploitation appelé machine virtuelle. Les avantages de la virtualisation sont nombreux :
Utilisation optimale des ressources.
Economie matérielle.
Installez, testez, développez sans endommager le système serveur.
b) Le Datacenter : Un centre de traitement de données est un site physique sur lequel sont regroupés des appareils constituant des informations d'entreprise. Il peut être interne et/ou externe à l'entreprise, opéré sans l'appui de prestataires. Il comprend généralement le contrôle de l'environnement, l'alimentation de secours et de secours et une sécurité physique élevée. Cette infrastructure peut être propre à une entreprise et à elle-même ou à des fins commerciales. De ce fait, les particuliers ou les entreprises peuvent accéder à leurs données selon des processus bien définis.
c) La Plateforme collaborative : La plateforme de travail collaboratif est un espace virtuel. Il s'agit d'un site internet qui centralise tous les outils nécessaires à la prise en charge d'un projet et les met à disposition des acteurs. Le but du travail collaboratif est de faciliter et d'optimiser la communication interpersonnelle dans l'environnement de travail d'une tâche. Les plates-formes de collaboration comprennent généralement les éléments suivants :
Des outils informatiques.
Un guide ou une méthode pour le travail d'équipe, pour la communication, pour la production, pour la coordination.
Un service de messagerie.
Un système de partage de fichiers et de ressources.
Outils type forum, page de discussion.
Trombinoscope en verre ou dossier de profil utilisateur.
Groupe, par projet ou par thème.
24
Etat de l’art
2. Modèles de déploiement cloud Il existe trois modèles de déploiement de services à savoir : Private Cloud, Public Cloud et Hybrid Cloud. Ces modèles sont utilisés pour déterminer le niveau d'accès de l'utilisateur final aux fournisseurs de services cloud.
a) Cloud public Le cloud public est basé sur un modèle informatique standard, dans lequel un fournisseur de services met des éléments tels que des applications et du stockage à la disposition du public via Internet. Les services de cloud public sont disponibles pour quiconque peut les utiliser ou les acheter. Il s'agit d'une architecture flexible et ouverte, gérée par un tiers. Par exemple : Microsoft Azure, Amazon Web Services, ... etc.
Figure 7: Cloud public
b) Cloud privé Un cloud privé est un ensemble des services et des ressources disponibles pour un client. Il peut être géré par l'entreprise elle-même ou avec ses affiliés, dans ce cas on l'appelle le « Cloud Privé Interne ». Il peut être géré par un prestataire externe engagé auprès de l'entreprise, auquel cas il s'appelle le « Cloud externe », accessible via un réseau VPN sécurisé. L'avantage de ce type de cloud par rapport au public réside dans l'aspect de la sécurité et de la protection des données. Ce type de cloud est :
VPN : Virtual Private Network
Cher pour les clients.
Dédié et sûr.
Moins flexible que le cloud public.
25
Etat de l’art
Par exemple : Eucalyptus, OpenNebula et OpenStack.
Figure 8: Cloud privé
c) Cloud hybride : Avec le modèle hybride, les organisations peuvent combiner le privé avec le public, de cette façon elles déploient des applications centrales et critiques dans leur cloud et déploient le reste sur le cloud public, ce qui peut réduire considérablement le coût de la construction et des ressources cloud. Par exemple : Google Apps, Amazon s3.
Figure 9: Cloud hybride
3. Divers services Le cloud computing peut être divisé en trois couches :
Application
Platform
Infrastructure
26
Etat de l’art
L'infrastructure en tant que service, c'est l’interface dédier aux architectes réseau, la couche PaaS est destinée aux développeurs, et finalement le logiciel en tant que service est le "produit final" pour les utilisateurs.
a) Infrastructure as a Service (IAAS) Seul le serveur est dématérialisé. Un fournisseur de services loue des composants informatiques tels que l'espace de stockage, la bande passante et les unités centrales du système d'exploitation. En conséquence, les utilisateurs d'un IaaS peuvent utiliser des serveurs virtuels situés dans le Data Center sans avoir à gérer des machines IaaS physiques offrant une grande flexibilité, une administration à distance et permettant d'installer tout type de logiciel. En revanche, cette solution Nécessite la présence d'un administrateur au sein de l'entreprise, comme pour les solutions serveur. Parmi les prestataires d'IaaS, on peut citer : Amazon EC2 ...
b) Platform as a Service (PAAS) Les infrastructures matérielles, de stockage et d'application sont dématérialisés. L'utilisateur loue une plate-forme sur laquelle il peut développer et exécuter ses applications. Le déploiement des solutions PaaS est automatisé et élimine le besoin pour les utilisateurs d'acheter un logiciel ou d'effectuer une installation supplémentaire, mais ne convient qu'aux applications Web. Les principaux fournisseurs de PaaS sont : Microsoft avec AZURE, Google avec Google App Engine.
c) Software as a Service (SAAS) Le matériel, le stockage, le Framework applicatif et les logiciels sont dématérialisés et hébergés dans l'un des centres de données du fournisseur. Les utilisateurs utilisent le logiciel à la demande sans avoir besoin d'acheter avec une facture d'utilisation réelle. Les utilisateurs n'ont pas besoin d'effectuer d'installation, de mise à jour ou même de migration de données. Les solutions SaaS sont la forme la plus populaire de Cloud Computing. Les fournisseurs de solutions SaaS les plus connus sont Office365 et Google Apps.
4. Les avantages et les inconvénients du Cloud a) Les avantages du cloud Le Cloud Computing offre plusieurs avantages, parmi ces avantages, nous mentionnons :
Flexibilité : Le cloud utilise plusieurs locataires pour ces ressources lors de l'exécution, une application peut utiliser plusieurs ressources.
Cela donne l'occasion de demander d'autres ressources nécessaires.
27
Etat de l’art
Optimisation des coûts : réduire le personnel informatique et le prix dépend du temps d'utilisation de l'informatique sans investissements initiale lourd.
Portabilité : les organisations peuvent utiliser leur puissance de calcul et les utilisateurs peuvent y avoir accès depuis n'importe quel emplacement géographique.
Démarrez rapidement : le cloud computing rend la planification d'entreprise plus rapide, à moindre coût et plus facile.
Agilité pour l'entreprise : Résoudre les problèmes de gestion simplement sans engagement dans la durée.
b) Les inconvénients du cloud Comme nous l'avons mentionné, chaque nouvelle technologie présente des avantages et, malheureusement, les utilisateurs du Cloud sont confrontés à certaines limites. Ces limites se présentent comme suit :
Gestion de l'énergie : pour définir un plan de ressources, le fournisseur doit définir une stratégie de gestion de l'énergie.
Confidentialité et sécurité : dans toute technologie, il y a toujours un problème. Le problème est lié aux attaques lors des opérations de données.
Gestion des ressources : Cette problématique prend toujours en compte chaque technologie. En raison de la nature multidimensionnelle des machines virtuelles, la gestion des ressources est complexe.
Dépendances : dans le cas où une entreprise souhaite des fonctionnalités spécifiques, il peut être difficile de convaincre le fournisseur de fournir ces fonctionnalités. Les clients doivent finalement choisir un fournisseur en qui ils ont confiance.
Difficulté à migrer vers un autre : actuellement il n'y a pas de standard entre les différents agents, donc il y a un risque de transmission de données incompatibles. [10]
VI.
Choix de la solution 1. Etude comparative Il y a tellement des choses à prendre en compte pour le choix de la solution Cloud Computing telles que le domaine d'utilisation, système d’exploitation supportés, la documentation, et la sécurité.
28
Etat de l’art
Ci-dessous le tableau qui nous donne une comparaison entre quelques outils :
OpenNebula
Eucalyptus
OpenStack
Produit par
L’union Européenne
Fondé par l'Université de Californie Santa Barbara Eucalyptus Systems Company
Rackspace, NASA, Dell, Citrix, Cisco, Canonical et plus que 50 autres organisations
But
Un cloud privé pure
La réponse Open Source à EC2 Commercial Cloud
Créer et fournir des fonctionnalités Cloud dans des logiciels open source qui s'exécutent sur du matériel de base
Réseau
Configuration manuelle par l’administrateur
Serveur DHCP installé sur le cluster contrôleur
OpenStack Compute
Domaine d'utilisation
Chercheurs dans le domaine du Cloud Computing et de la Virtualisation
Les entreprises
Entreprises mondiales, prestataires de services, chercheurs et centres de données
Système d’exploitation supportés
Linux (Ubuntu, RedHat Entreprise Linux, Fedora et SUSE Linux Entreprise Server)
Linux (Ubuntu, Fedora, CentOS, OpenSUSE et Debian)
La plupart des systèmes Linux
Documentation
Documentation Complet mais pas complète et toujours à jour référence pour tous les fichiers de configurations. Mais manque d’aide dans un environnement complexe
29
Excellente, site bien fourni et facile d'accès avec à la fois un wiki contenant l'essentiel et une documentation officielle disponible et très détaillée
Etat de l’art
Installation
Installation manuelle et facile sur les distributions prises en charges
Il y a des problèmes, selon l'atmosphère réseau et matériel
Installation facile et documentée
Tableau 1: Comparaison des solutions Cloud open source
2. Pourquoi le choix d’openstack La raison la plus importante d'utiliser openstack est qu'aucune véritable alternative n'est open source et bon marché. Il existe des plates-formes open source sur le marché telles que Eucalyptus, CloudStack, OpenNebula, mais OpenStack les a surpassés. Aucun d'entre eux n'a le niveau de support du fournisseur, mais il est disponible dans OpenStack. De plus les modules bénéficient du support nécessaire pour corriger les erreurs passées et atteindre un bon niveau de maturité de production. Aujourd'hui, les modules de base sont tous prêts pour le déploiement en production. Les membres d'OpenStack en sont bien conscients : le site Openstack.org publie une liste des composants et leurs niveaux de maturité. La plupart des fournisseurs de cloud public sont déterminés à travailler avec OpenStack car le projet tend à faciliter l'interaction entre les clouds. Pour plus de simplicité, OpenStack Cloud offre les avantages suivants :
Nécessite peu d'utilisation de matériel
Les services cloud peuvent généralement être utilisés avec n'importe quel appareil connecté à Internet
Haute sécurité et fiabilité des données
Évolutivité de la capacité de stockage et de la puissance
Les services cloud prennent en charge le travail collaboratif
L'accès n'est pas limité par la géographie
30
Etat de l’art
VII.
Etude de la solution Openstack OpenStack est une plateforme contenant des logiciels open source qui permettent de créer et gérer un environnement de cloud privé ou public. Cette plateforme a des composants reliés les uns aux autres pour assurer les principaux services de cloud : l’authentification, stockage, calcul, réseau.
1. Comment fonctionne Openstack Openstack se fonctionne essentiellement par des commandes que l’on appelle scripts qui sont centralisés dans des paquets appelées projets. Ces scripts transfert la tâche essentielle à l’établissement du l’environnement cloud. Openstack nécessite deux logiciels afin de crée ces environnements :
Un hyperviseur pour créer une couche de ressources virtuelles.
Un système d’exploitation pour exécuter les scripts.
Le principe d’OpenStack c’est qu’il utilise ces propres ressources pour construire des clouds. Au lieu d’exécute les commandes, il les diffuse au système d’exploitation. Ces trois technologies (OpenStack, logiciel de virtualisation et le système d'exploitation) nécessitent de travailler parfaitement ensemble. Ceci répond aux questions pourquoi plusieurs clouds openstack sont déployer sous Linux. [11]
31
Etat de l’art
2. L’architecture Openstack a) Architecture conceptuelle Openstack se compose d’un ensemble des parties indépendantes, ce sont des programmes et des services destinés à la création et la préparation de l’environnement cloud. Voilà le diagramme ci-dessous nous montre les relations entre ces services.
Figure 10: Architecture conceptuelle d’OpenStack
En interne, les services Openstack se constituent d’un ensemble des processus. Chaque service possède au moins un seul processus d’API qui écoute les requêtes API et les traite ensuite les transmet aux autres parties du service. Hormis du service d’identité, la tache se fait par des processus distincts. Pour communiquer entre les processus du chaque service, on utilise le gestionnaire d’allocation de message AMQP. Les états de chaque service sont stockés dans une base de données. [12]
32
Etat de l’art
b) Architecture logique D’un point de vue logique, Openstack peut être représenté par au moins trois services :
Un bloc de calcul « Compute » : ce nœud gère l’exécution des instances.
Un bloc de réseau « Networking » : ce nœud permet la gestion des réseaux dans l'environnement OpenStack.
Un bloc de stockage « Storage » : ce nœud contient les disques des machines virtuelles installés sous OpenStack.
Un tableau de bord : c'est une interface graphique qui permet aux administrateurs ainsi que les utilisateurs de contrôler la plateforme. [13]
Figure 11: Architecture logique
3. Les services Openstack L’architecture se compose de plusieurs projets open source pour mieux gérer l’environnement undercloud et overcloud.
33
Etat de l’art
Service d'identité « Keystone » : C’est le service qui fournit l’authentification et l’autorisation pour tous les services OpenSatck comme il est indiqué dans la figure suivante :
Figure 12: La procédure d'authentification dans le service keystone
Il gère les accès, les droits, les domaines, les tenants. Il gère également l'accès aux différentes API du système, les endpoints qui permettront de gérer l'accès aux autres services grâce à ces API.
Service de Dashboard « Horizon » : Horizon est le projet de dashboard OpenStack qui offre une interface web pour une utilisation simple est facile des services. Pour chaque service ajouté à l’environnement OpenStack, Horizon l'intègrera automatiquement dans son interface.
Service d'image « Glance » : Glance est le responsable de la découverte, l'envoi et la distribution d'image OS. Il permet également le stockage des sauvegardes des instances.
Figure 13: La procédure de demande d'image à partir de service Glance
34
Etat de l’art
Le service Glance est constitué de quatre types d’API :
Glance-API : Traite les demandes des utilisateurs.
Glance-Registry : Assure la communication entre le domaine et la base des données.
Glance Database : Base de données centrale partagée entre tous les composants du système et basée sur SQL.
Glance Store : L’emplacement des images.
Service de compute « Nova » : Le service de calcul est la partie principale d'un système IAAS. Nova est un contrôleur d’instance de cloud computing, il permet la gestion des ressources : la création, la suppression.
Figure 14: La procédure de création d’une instance à partir du service nova
Le service Nova est constitué de plusieurs APIs :
Nova-api : Service web API RESTful qui accepte les commandes entrantes pour interagir avec le Cloud.
Nova-compute : C'est un démon qui gère les instances des machines virtuelles.
Nova-scheduler : Il reçoit une requête de la file d'attente et détermine l'hôte du serveur de calcul sur lequel il doit fonctionner.
Nova-conductor : Il fournit des services de nova-calcul, tels que la mise à jour des bases de données et la gestion des tâches de longue durée.
Nova-database : Elle stocke les états de construction et d'exécution pour une infrastructure de Cloud.
Nova-network : C'est un démon ouvrier similaire à nova-compute. Il accepte les tâches de mise en réseau de la file d'attente et il exécute ensuite des tâches pour manipuler le réseau.
Nova-volume : Il gère la création, l'attachement et le détachement de volumes persistants des instances.
Service de gestion des réseaux « Neutron » : Neutron est le service qui permet la gestion réseau dans OpenStack pour facilite la connexion des machines virtuelles entre eux et apporter des services réseaux (pare-feu, vpn, load balancer…)
35
Etat de l’art
La figure suivante illustre la procédure d’affectation d’une adresse IP a une instance.
Figure 15: La procédure d’affectation d’une adresse IP a une instance
Le service Neutron est constitué de plusieurs APIs :
Neutron-server : Ce service s'exécute sur le nœud de réseau pour l'API réseau et ses extensions. Il applique également un modèle d'adressage et de mise en réseau par port. Le serveur neutron nécessite un accès persistant indirect à la base de données. Cela se fait via des plugins, qui communiquent avec la base de données en utilisant AMQP1.
Neutron agent : Il s'exécute sur chaque nœud de calcul pour gérer la configuration du commutateur virtuel local. Le plug-in utilisé détermine l'agent qui s'exécute. Ce service nécessite un accès à la file d'attente et dépend du plugin utilisé.
Neutron-DHCP-agent : Il fournit un service DHCP au réseau locataire. Cet agent est le même pour tous les plug-ins, également responsable de la gestion et de la configuration DHCP. Il nécessite l'accès à la file d'attente des messages.
Neutron-l3-agent : permet l'accès du réseau externe au virtuel sur le réseau du client. Il nécessite l'accès à la file d'attente des messages.
Network provider services : Fournit des services de mise en réseau supplémentaires aux réseaux de locataires.
36
Etat de l’art
Service de stockage par bloc « Cinder » : Cinder est un service de stockage persistant en mode bloc aux instances en cours d’exécution. Les volumes sont adaptés selon le besoin. Il interagit avec le service de calcul d'OpenStack afin d’affecter des volumes aux instances. Il gère donc les opérations de création, d'attachement et de détachement de ces périphériques sur les serveurs.
Figure 16: La procédure de création d’un volume à l’aide du cinder
Le service Cinder est constitué de plusieurs APIs :
Cinder-api : c’est l’api qui accepte les requêtes et les achemine vers cinder-volume pour l'action.
Cinder-volume : Interagit avec d'autres processus (cinder-scheduler) et réagit en écrivant ou en lisant dans la base de données Cinder. Il gère aussi les périphériques de stockage en mode bloc.
Cinder-scheduler : Sélectionne le nœud de stockage de bloc optimal pour créer le volume.
Cinder-database : Stocke la plupart des états des volumes.
Service de stockage par objet « Swift » : Swift est un service de stockage en mode objet qui se caractérise par sa forte tolérance aux pannes, ce service permet le stockage et la récupération via une API. Il s'agit du type de stockage le plus couramment utilisé pour stocker tout type de fichier. Le service Cinder est constitué de plusieurs APIs :
Swift-proxy-server : Accepte les demandes entrantes (les fichiers à télécharger, les modifications de métadonnées ...)
Account : Gère les comptes définis avec le service de stockage des objets.
Containers : Gère le mappage des conteneurs et des dossiers.
Object : Gère les objets réels et les fichiers sur les nœuds de stockage.
37
Etat de l’art
Service d'orchestration « Heat » : Heat est le projet principal qui permet de traiter l’orchestration des services OpenStack. En orchestrant les services Heat permet de gérer le cycle de vie complet des applications ainsi que l’infrastructure à l’aide de services accessibles par l’homme et la machine dans les clouds OpenStack.
Figure 17: La procédure de création d’une instance à l’aide de service Heat
Service de télémétrie « Ceilometer » : Service de télémétrie fournit des données d'utilisation des utilisateurs pour les clouds basés sur OpenStack, peut être utilisé pour la facturation des clients, la surveillance du système et les alertes. Les données peuvent être collectées en notifiant les composants OpenStack existants ou en interrogeant le service de télémétrie. De plus, il n'est pas nécessaire d'installer OpenStack avec tous ces modules ou les modules qu'il peut fournir. Parce que nous pouvons choisir de n'utiliser que les modules dont nous avons besoin. L'indépendance de ses modules et la conception de ses composants permet d'avoir autant d'architectures que de solutions (ou d'applications) cloud à mettre en place. [14]
VIII.
Conclusion Après avoir présenté l’état de l’art du Cloud Computing et Big Data au cours de ce chapitre, nous passons au chapitre suivant « Réalisation et Tests ».
38
Réalisation et tests
Chapitre 3 : Réalisation et tests I.
Introduction
Après avoir terminé la spécification des besoins et bien étudier les composants d’OpenStack, nous présentons dans ce chapitre les recommandations techniques et la mise en œuvre de notre maquette. Nous avons utilisé deux méthodes pour notre travail : à l’aide du dashboard et par ligne des commandes.
II.
Architecture de la solution
Pour réaliser une plateforme IAAS basée sur OpenStack, il est nécessaire d’avoir au moins deux nœuds. Les services optionnels nécessitent des nœuds supplémentaires. Chacun de ces nœuds exécute des services d’OpenStack particuliers :
Noeud contrôleur (Controller node) : Ce nœud exécute plusieurs services tels que le service de gestion de l'identité, le service de gestion d'images et le tableau de bord. En plus il traite éventuellement une partie du service de stockage en mode bloc et en mode objet aussi le service d'orchestration et le service de télémétrie.
Noeud de calcul (Compute node) : Ce nœud exécute certains services comme le service de gestion des réseaux et celui de la gestion des instances notamment la partie hyperviseur.
Noeud stockage (stockage node) : Ce nœud contient les services de stockage en mode bloc qui fournit des disques persistants pour les instances et en mode objet qui permet le stockage et la récupération en mode objet.
Figure 18: Architecture de la solution
39
Réalisation et tests
Pour implémenter une solution Big Data basée sur Hadoop, c'est recommandé d'utiliser au moins deux noeuds. Pour le mieux fonctionnement du Hadoop il faut ajouter des noeuds supplémentaires.
Master Node ou Name Node (nœud maitre) : Le nœud maître dans un cluster Hadoop est responsable du stockage des données dans HDFS et de l'exécution du calcul parallèle des données stockées à l'aide de MapReduce.
Worker Node ou Data Node (nœud esclave) : Chaque DataNode contient un bloc d’un fichier des données utilisateur. Ce nœud se chargera de répondre aux demandes de lecture et d’écriture des clients du système de fichiers. Sous les instructions du NameNode, le DataNode peut également créer, supprimer ou dupliquer des blocs. [15]
Figure 19: Architecture du Hadoop
40
Réalisation et tests
III.
Environnement de travail 1. Environnement matériel
Pour la réalisation et la concrétisation de notre projet, nous utilisons le matériel suivant :
Figure 20: Environnement matériel
41
Réalisation et tests
2. Environnement logiciel VirtualBox VirtualBox est un logiciel Open Source proposé par Oracle permettant la virtualisation de système d'exploitation (OS). Cette opération consiste à créer une machine virtuelle utilisant les ressources physiques de votre ordinateur. [16]
Ubuntu : Ubuntu est un système libre et ouvert de source de distribution Linux basée sur Debian. Ubuntu est officiellement publié en trois éditions : Desktop, Server, et Core (pour l’internet des objets et les robots). Ubuntu est un système d'exploitation populaire pour le Cloud Computing, avec prise en charge d’OpenStack. [17]
MariaDB : MariaDB est un système de gestion de bases de données relationnelle (SGBDR) Open Source C’est une solution de remplacement compatible avec la technologie très répandue des bases de données MySQL. Il est installé et utilisé lors d’installation de tous les composants d’OpenStack. MariaDB est utilisé parce qu'il est rapide, évolutif et robuste, avec un riche écosystème de moteurs de stockage, de plugins et de nombreux autres outils, qui le rendent très polyvalent pour une grande variété de cas d'utilisation. [18]
Hadoop : Hadoop est un Framework logiciel open source permettant de stocker des données et de lancer des applications sur des grappes de machines standards. Cette solution offre un espace de stockage massif pour tous les types de données, une immense puissance de traitement. Hadoop est composé de plusieurs éléments : un système de stockage (HDFS), un système de planification des traitements (YARN) et le Framework de traitement (MapReduce). [19]
Spark :
Apache Spark est un Framework open source permettant le traitement de données rapide dédié au Big Data. Il permet d'effectuer un traitement à grand volume d'une manière distribuée (cluster computing). [20]
42
Réalisation et tests
Cassandra :
Apache Cassandra est un système de base de données NoSQL hautement évolutif et disponible qui facilite le stockage et la gestion à grande vitesse des données structurées sur le serveur. [21]
Préparation de l’environnement
IV.
Avant de commencer le déploiement des services d’OpenStack, nous préparons l’environnement de plate-forme. Sur chacun des quatre noeuds, il est recommandé de :
Installer Ubuntu 20.04 LTS comme système d’exploitation.
Effectuer l’adressage approprié.
Ajouter les noms des VM et leur adresses ip en éditant le fichier /etc/hosts.
Figure 21: configuration du fichier /etc/hosts
Tester la connectivité.
Figure 22: vérification de la connectivité
43
Réalisation et tests
3. Configuration du Network Time Protocol (NTP) Nous utilisons le protocole NTP pour synchroniser l’horloge correctement entre les nœuds. Nous configurons le nœud contrôleur pour se synchroniser avec les serveurs NTP de Ubuntu. Les autres nœuds seront synchronisés avec le nœud contrôleur. Sur les trois noeuds, nous installons le package chrony en utilisant la commande :
# apt install chrony Sur le nœud contrôleur, nous éditons le fichier /etc/chrony/chrony.conf et nous ajoutons les lignes suivantes pour déclarer les serveurs NTP de Ubuntu.
Figure 23: Configuration du fichier chrony.conf sur le nœud controller
Puis nous redémarrons le service NTP avec la commande :
# service chrony restart Pour tous les autres noeuds, nous éditons le fichier /etc/chrony/chrony.conf pour spécifier le nom ou l’adresse IP du nœud contrôleur et nous redémarrons le service NTP :
Figure 24: Configuration du fichier chrony.conf sur les autres noeuds
4. Installation des packages d’OpenStack Nous installons les packages d’OpenStack version Queens pour Ubuntu 20.04 LTS sur chacun des noeuds à l’aide des commandes suivantes :
# add-apt-repository cloud-archive:victoria Ensuite nous installons le client OpenStack dans tous les nœuds :
# apt-get install python3-openstackclient
44
Réalisation et tests
5. Configuration de la Base de données SQL Les composants d’OpenStack utilisent une base de données SQL pour stocker des informations (ID des images disques, des instances virtuelles, réseaux …). Pour le nœud contrôleur, nous utilisons « MariaDB » comme support de base de données. Nous commençons par l’installation du package avec la commande :
# apt install mariadb-server python3-pymysql Ensuite, nous créons le fichier /etc/mysql/mariadb.conf.d/99-openstack.cnf et nous y ajoutons la section suivante nommée [mysqld] en déclarant l’adresse IP du noeud contrôleur afin de permettre l'accès aux autres noeuds via le réseau. Puis nous redémarrons le service de base de données.
Figure 25: Configuration du fichier /etc/mysql/mariadb.conf.d/99-openstack.cnf
Nous sécurisons le service de base de données en exécutant le script avec la commande :
# mysql_secure_installation 6. Configuration de la file d’attente RabbitMQ OpenStack coordonne les opérations et les informations d'état entre les services à l’aide du RabbitMQ. Sur chaque nœud, nous effectuons les étapes suivantes : D’abord, nous installons le package avec la commande :
# apt-get install rabbitmq-server Ensuite, nous créons un utilisateur d’OpenStack nommé « openstack ». Puis, nous autorisons l’utilisateur à configurer, écrire et lire avec ces deux instructions sans oublier le redémarrage du service.
Figure 26: Création et configuration d'utilisateur
45
Réalisation et tests
7. Configuration du Memcached Memcached est un système d'usage général servant à gérer la mémoire cache distribuée. Le mécanisme d'authentification du service d'identité utilise Memcached pour mettre en cache les jetons. Sur chaque noeud, nous effectuons cette procédure. Nous commençons par installer le package avec la commande :
# apt install memcached python3-memcache Ensuite, nous éditons le fichier /etc/memcached.conf en y ajoutant l'adresse IP du noeud contrôleur. Puis nous redémarrons le service.
Figure 27: Editer le fichier /etc/memcached.conf
8. Configuration de l’Etcd Les services OpenStack utilisent Etcd. C’est un fournisseur de clé-valeur distribuée permettant le verrouillage de clé distribuée, le stockage de la configuration, le suivi de la qualité de service. Sur le noeud contrôleur, nous installons le package avec la commande
# apt install etcd Ensuite, dans le fichier /etc/default/etcd nous modifions ETCD_INITIAL_CLUSTER, ETCD_LISTEN_CLIENT_URLS,
ETCD_INITIAL_ADVERTISE_PEER_URLS,
ETCD_ADVERTISE_CLIENT_URLS par l'adresse IP du nœud contrôleur pour autoriser l’accès des autres noeuds via le réseau. Puis nous redémarrons le service etcd. [22]
Figure 28: Configuration du fichier /etc/default/etcd
46
Réalisation et tests
V.
Travail réalisé
L’installation de tous les composants est faite correctement. Nous avons spécifié toutes les étapes d’installation et de configuration nécessaires pour aboutir la création de notre plateforme. Au niveau de cette étape, nous testons les différentes fonctionnalités attendues du cloud privé.
1. Vue d’ensemble Nous accédons via le service d’Horizon, à l’aide de l’adresse : http://controller/horizon à la plateforme comme il est montré avec la figure ci-dessous.
Figure 29: Le plateforme Horizon
47
Réalisation et tests
Tous les utilisateurs doivent être authentifier, comme il est présenté dans la figure ci-dessous, pour accéder à la plateforme. La gestion d’authentification est faite par le service keystone qui est responsable aussi de la création des projets et des rôles.
Figure 30: La procédure d'authentification
48
Réalisation et tests
Le service Horizon est l'implémentation canonique du tableau de bord OpenStack qui fournit une interface graphique Web à laquelle les administrateurs et les utilisateurs du cloud peuvent accéder pour gérer les services de calcul, de stockage et de mise en réseau d’OpenStack. La figure ci-dessous nous montre le dashboard OpenStack :
Figure 31: l'interface graphique d'OpenStack
49
Réalisation et tests
L’accès à Horizon et aux API OpenStack s’effectue via des combinaisons identifiant/mot de passe appelées « OpenStack user ». Vous pouvez créer autant d’utilisateurs OpenStack que nécessaire et leur attribuer différents droits d’accès.
Figure 32: La liste graphique des utilisateurs
Figure 33: Liste des utilisateurs par ligne des commandes
50
Réalisation et tests
L’utilisateur est autorisé à accéder à des projets spécifiques. Les deux figures ci-dessous présente la liste des projets disponibles qui ont été créés.
Figure 34: La liste graphique des projets
Figure 35: La liste des projets par ligne des commandes
51
Réalisation et tests
La figure suivante montre la liste des rôles disponibles qui ont été créés :
Figure 36: La liste graphique des rôles
Figure 37: La listes des rôles par ligne des commandes
52
Réalisation et tests
2. Gestion des images Grâce au service Glance, les utilisateurs du projet ont les droits de modifier les propriétés de l’image, supprimer et créer des images personnalisées sur cette page. Premièrement nous devons télécharger l’image. Dans ce cas nous allons télécharger l’image Ubuntu20.04.
Figure 38: Téléchargement de l'image ubuntu
Les deux figures suivantes présentent les étapes de création de l’image sous le service Glance a l’aide du format du disque QCOW2 et avec une visibilité publique afin que tous les projets puissent y accéder :
Figure 39: Charger l'image graphiquement
53
Réalisation et tests
Figure 40: Charger l'image par ligne des commandes
Les deux figures suivantes nous affichent la liste des images existants dans le service Glance :
Figure 41: La liste graphique des images
Figure 42: La liste des images par ligne des commandes
3. Création des flavors Dans OpenStack, les flavors définissent la capacité de calcul, de mémoire et de stockage des instances de calcul nova. Pour le dire simplement, un flavor est une configuration matérielle disponible pour une machine. Il définit les ressources d'un serveur virtuel qui peut être lancé.
54
Réalisation et tests
La figure ci-dessous nous montre la création d’un flavor :
Figure 43: Création des flavors
La figure ci-dessous nous montre la liste des flavors existants :
Figure 44: La liste des flavors crée
55
Réalisation et tests
4. La création des réseaux Le service neutron nous aide à créer des réseaux afin de connecter les machines virtuelles entre elles. En plus, il permet l'association d'une adresse IP flottante à la VM afin d'autoriser la connexion à l’Internet. Comme c’est montré aux figures ci-dessous, à l’aide de tableau du bord et ligne des commandes, nous pouvons créer des réseaux en spécifiant le nom, le projet à quel il appartient, son adresse, l’adresse IP du serveur DNS et la plage des adresses à affecter aux instances.
Figure 45: Création graphique du réseau
Figure 46: Création du réseau par ligne des commandes
56
Réalisation et tests
Figure 47: Création du réseau par ligne des commandes
Les deux figures suivantes nous montre la liste des réseaux crées :
Figure 48: La liste graphique des réseaux
Figure 49: La liste des réseaux par ligne des commandes
57
Réalisation et tests
5. La création des volumes : A l’aide du service Cinder, nous pouvons ajouter un stockage persistant à une instance. Ce service fournit la possibilité de gestion des volumes. Comme montre les figures ci-dessous, pour créer un volume, nous devons spécifier le nom de volume, taille en GB.
Figure 50: La création graphique des volumes
Figure 51: La création des volumes par lignes des commandes
58
Réalisation et tests
Les deux figures ci-dessous présente la liste des volumes crées :
Figure 52: La liste graphique des volumes
Figure 53: La liste des volumes
59
Réalisation et tests
6. Lancement des instances Pour créer une instance, nous devons suivre ces étapes : Premièrement, nous donnons les noms et le nombre de machines virtuelles comme il est montré ci-dessous :
Figure 54: Spécification de nom et nombre d'instances
Ensuite, nous sélectionnons l’image de l’instance.
Figure 55: Choix d’image
60
Réalisation et tests
Puis, nous choisissons le Flavor convenable pour notre instance. Ce service définit la capacité de calcul, de mémoire et de stockage des instances.
Figure 56: Choix du flavors
Pour que l’instance soit bien créée, nous devons l’associer à un réseau.
Figure 57: Choix du réseau
61
Réalisation et tests
En plus, nous choisissons le groupe de sécurité. Ce sont des règles qui permettent aux utilisateurs de faire un ping et d'utiliser le protocole SSH pour se connecter à l'instance.
Figure 58: Choix du groupe de sécurité
Nous choisissons une paire de clés pour notre instance. Ceux sont des informations d’identification SSH qui sont insérées dans une instance lors de son lancement.
Figure 59: Choix de la key paire
62
Réalisation et tests
Enfin, nous lançons l’instance.
Figure 60: La liste des instances disponibles dans la plateforme
63
Réalisation et tests
7. Test de la plateforme Hadoop Nous accédons via le navigateur à l’aide de l’adresse : http://hadoop-master:9870 au dashboard de la plateforme Hadoop comme c’est montré dans les figures ci-dessous.
Figure 61: La plateforme Hadoop
64
Réalisation et tests
Figure 62: La plateforme Hadoop
Figure 63: La plateforme Hadoop
65
Réalisation et tests
8. Tester la plateforme Spark
Figure 64: Welcome to Spark
Comme c’est montré dans la figure suivante Spark est correctement installé avec la version 3.2.1 : Nous accédons via le navigateur à l’aide de l’adresse : http://master:4040 au dashboard du Spark comme il est montré avec les figures ci-dessous.
Figure 65: Dashboard Spark
VI.
Conclusion
Dans ce chapitre, nous avons présenté la réalisation de notre projet tout en montrant l’architecture de notre solution. Nous avons aussi précisé le matériel utilisé et nous avons testé la validité de notre implémentation
66
Conclusion Générale Le Cloud Computing est un domaine en plein essor qui répond à un grand nombre de besoins des entreprises. L’investissement dans ce domaine attire donc de plus en plus les ingénieurs réseaux qui ne cessent de proposer des solutions de Cloud variées en qualité de service fiable et rentable. Dans le cadre de notre stage de fin d’études, nous avons mis en place une solution de big data dans une plateforme Cloud Computing basée sur la technologie OpenStack. L’implémentation d’une telle architecture est assez complexe et elle est onéreuse en termes de temps. Nous avons pu par la suite tester l’ensemble des fonctionnalités d’Opentack. Nous souhaitons par la suite intégrer un système de détection des défaillances et alarme pour informer l’administrateur ou l’utilisateur à propos des problèmes aussi automatiser la prise de sauvegardes et les snapshots pour tous les projets. L’élaboration de ce projet nous a permis de concrétiser et d’approfondir nos connaissances particulièrement dans les domaines de la virtualisation et de cloud Computing.
67
Neto-graphique [1] https://www.tunisietelecom.tn/Fr/Particulier/A-Propos/Entreprise [2] https://www.lebigdata.fr/definition-big-data [3] https://blog.avanci.fr/le-big-data-et-les-4-v-de-la-donnee [4]https://aptude.com/fr/blog/entr%C3%A9e/5-cas-d%27utilisation-du-Big-Data-courammentrencontr%C3%A9s-dans-les-organisations/ [5] https://www.piloter.org/business-intelligence/technologie-big-data.htm [6] https://www.ibm.com/fr-fr/cloud/learn/cap-theorem [7] https://www.lebigdata.fr/chiffres-big-data [8] https://datascientest.com/hadoop [9] https://www.appvizer.fr/magazine/services-informatiques/virtualisation/type-virtualisation [10] https://www.lebigdata.fr/definition-cloud-computing [11] https://www.redhat.com/fr/openstack-35971 [12] https://docs.openstack.org/install-guide/get-started-logical-architecture.html [13]https://www.unixarena.com/2015/08/openstack-architecture-and-componentsoverview.html/ [14] https://fr.slideshare.net/AhmedSlim4/mise-en-place-dune-infrastructure-base-sur-openstack [15]https://sysblog.informatique.univ-paris-diderot.fr/2020/03/26/architecture-technique-dehadoop/ [16] https://en.wikipedia.org/wiki/VirtualBox [17] https://fr.wikipedia.org/wiki/Ubuntu_(syst%C3%A8me_d%27exploitation) [18] https://en.wikipedia.org/wiki/MariaDB [19] https://www.lebigdata.fr/hadoop [20] https://www.lebigdata.fr/apache-spark-tout-savoir [21] https://cassandra.apache.org/_/index.html [22] https://docs.openstack.org/install-guide/environment.html
68