UNIVERSITÉ DE TECHNOLOGIE DE COMPIÈGNE SR04 ETUDE : Les réseaux dans le big data Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE 17 décembre 2015 Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 1
Table des matières 1 Naissance et évolution du Big Data 4 1.1 Naissance du Big Data................................. 4 1.2 Les technologies liées au Big Data.......................... 7 1.3 Les avantages du Big Data............................... 8 1.4 Business Intelligence et Business Analytics..................... 8 1.4.1 Business Intelligence jusqu à aujourd hui.................. 8 1.4.2 Business Intelligence de demain....................... 9 1.5 Batch Vs Real-time................................... 11 1.6 SPARK........................................... 11 1.6.1 Spark Streaming et enjeux........................... 11 1.6.2 What is Spark?................................. 11 1.6.3 Spark Architecture............................... 11 1.7 Les réseaux pour le Big Data : besoins et limitations................ 13 2 Solutions et techniques avancées 14 2.1 IBM et le Big Data.................................... 14 2.1.1 Analysez des volumes massifs de données................. 14 2.1.2 Utilisation des compétences et solutions SQL existantes......... 14 2.2 Switched Fabric..................................... 15 2.3 les solutions reseau du point de vue de Juniper Networks............ 16 2.4 Cloud Computing.................................... 18 2.5 Big Data Scalability (HDFS).............................. 19 2.5.1 Écriture d un fichier.............................. 20 2.5.2 Lecture d un fichier............................... 21 2.6 Big Data requests (Map/Reduce)........................... 22 2.7 DataWarehouse d aujourd hui............................ 23 2.8 Base de données non relationnelles......................... 23 2.8.1 Pourquoi le NoSQL?.............................. 24 2.8.2 Les familles de NoSQL............................. 24 2.9 Solutions à la problématique Big Data........................ 25 2.10 Solutions à la problématique Big Data : Cassandra................ 26 2.10.1 Le modèle de données............................. 27 2.11 Réseaux SDN...................................... 31 2.11.1 Comment fait-on?............................... 32 2.11.2 NAS........................................ 33 2.11.3 FCoE....................................... 34 2.11.4 SAN........................................ 35 2.11.5 iscsi....................................... 36 2.11.6 leaf-spine (leaf-spine architecture)..................... 39 Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 2
Introduction Aujourd hui nous parlons de volumes de données en exaoctets, ce qui représente indubitablement une très haute volumétrie de «data». Les prévisions annoncent qu à l horizon 2020 nous parlerons de zétaoctets : nous assistons à une vraie explosion. L évolution rapide du volume des données provient de la multiplicité des objets connectés, en constante croissance, allant de pair avec l accès de plus en plus massif à l information et des échanges de toutes ces données. Le terme de Big Data a été évoqué par le cabinet d études Gartner en 2008 mais des traces de la genèse de ce terme remontent à 2001 et ont été évoquées par le cabinet Meta Group. Dans un premier temps, nous allons étudier la naissance et l évoluton du Big Data, les besoins auxquels il répond et dans quel cadre il est utilisé. Par la suite, nous allons évoquer les besoins materiels et les limitations intrinsèques aux réseaux dans le cadre du Big Data. Enfin, nous allons nous intéresser aux éventuelles solutions et techniques avancées. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 3
1 Naissance et évolution du Big Data 1.1 Naissance du Big Data La multiplication des objets connectés générant des données massives, ainsi que la démocratisation indubitable des outils d analyse de données font du Big Data une véritable révolution dans de nombreux domaines tels que l analyse des comportements et des prévisions que ce soient pour des applications grand public ou industrielles.voici des chiffres représentatifs du volume des données : - En 2011 : 1,2 trillion GB de données. Ce chiffre va être multiplié par 50 à l horizon de 2020. - Chaque minute Google reçoit plus de 2 000 000 de requêtes - 72 heures de vidéos sont mises sur Youtube chaque minute. - Il y a 217 nouveaux utilisateurs de l Internet Mobile chaque minute. - Les utilisateurs de Twitter envoient plus de 100 000 Tweets chaque minute. Ce qui représente plus de 140 millions par jour. - Les entreprises et organisations reçoivent en moyenne plus de 34 000 «Likes» chaque minute sur les réseaux sociaux. Les entreprises ont accès à de vastes «pools» de données, collectées, notamment dans le cas des opérateurs téléphoniques, depuis les terminaux de leurs abonnés. Les entreprises ont ainsi accès à des bases de données gigantesques historiques très peu exploitées, organisées en silo. Le Big Data intervient comme une solution miracle pour exploiter le potentiel enfoui. Avec les données inutilisées, peuvent se dégager des lignes de revenus sur un marché en constante évolution et de plus en plus sous pression et concurrence. Concrètement, le Big Data met en exergue la collection et l analyse de grands ensembles de données qui peuvent potentiellement contenir de l intelligence (user data, sensor data, machine data). Le Big Data va donc apporter des avantages compétitifs certains, suggérer de nouvelles perspectives en terme de business et permettre d explorer de nouveaux marchés. Le Big Data découle directement du très grand volume de données, en croissance exponentielle, structurées ou non, inondant les entreprises quotidiennement. Ce ne sont pas les données intrinsèquement qui posent la problématique du Big Data mais l utilisation des ces données massives et la nécessité de croiser de l information. En effet, il est important de comprendre les 3V du Big Data Volume, Vitesse et Variété pour se rendre compte de l importance et du poids de ce paradigme. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 4
Volume Le volume est relatif à la très grande quantité de données générées par des entreprises ou des personnes. Le Big Data est généralement associé à la volumétrie des données. Les entreprises, tous secteurs d activité confondus, manifestent de plus en plus le besoin de trouver des moyens pour de la gestion de volumes de données quotidiennement en constante augmentation. Il n est pas sans être très fréquent d avoir des entreprises dotées de catalogues de plus de 15 millions de produits et d un volume de données relatives à des clients pouvant aisément dépasser le téraoctet de données. Vitesse La vitesse est relative à la fréquence à laquelle les données sont générées, capturées et partagées. Les évolutions technologiques récentes mettent en exergue que les consommateurs mais aussi les entreprises génèrent de plus en plus de données dans des temps bien plus courts. À ces vitesses, les entreprises ne peuvent pas capitaliser sur ces données, à moins qu elles soient collectées et partagées en Real-Time. C est exactement à ce stade que de nombreux systèmes d analyse, de CRM, de personnalisation, de point de vente ou autres, échouent malheureusement. Ils ne peuvent traiter les données que par lots, à des intervalles de quelques heures, dans le meilleur des cas de figure. Or, ces données n ont alors déjà plus de valeur puisque le cycle de génération de nouvelles données a dors et déjà commencé. Variété La prolifération de types de données provenant de différentes sources comme les social networks, les terminaux mobiles, les différents objets connectés et autres, crée une très grande diversité au-delà des données transactionnelles traditionnelles. Les nouveaux types de données incluent contenus, données géo spatiales, points de données matériels, données de géolocalisation, données de connexion, données générées par des machines, données de mesures, données mobiles, points de données physiques, processus, données RFID, données issues de recherches, données de confiance, données de flux, données issues des médias sociaux, données texte, données issues du Web et d autres... Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 5
FIGURE 1.1 Les 3V du Big Data Aujourd hui nous éprouvons le besoin de structurer les données et de les rendre facilement accessible. Le big Data introduit la notion de valeur de la donnée (certains parlent de 4eme V pour Valeur). En effet, l hétérogénéité des données sous entend qu il faut être capable d adresser de nouvelles sources, d exploiter les logs de sites web, de déterminer des centres d intérêts d utilisateurs et bien d autres choses. Toutefois, il faut garder a l esprit que les données ont une qualité et que toutes ne sont pas porteuses d informations utiles. Les données sont incertaines, il faut s assurer de la cohérence, de la fiabilité, de la qualité et de la prédictibilité des données. International Data Corporation (IDC) prévoit que le marché des technologies et services du Big Data atteindra plus de $16.9 milliards en fin 2015. En effet, penser Big Data implique de reconsidérer les technologies de bases de données, la mise en place de systèmes tels qu Hadoop ou MapReduce, la prise en compte des capacités des serveurs, et des mémoires à disposition et de reconsidérer également l infrastructure des réseaux Des cas d utilisation du Big Data : Les entreprises du domaine de la finance utilisent le Big Data pour améliorer leur capacité à analyser leurs clients dans le but de déterminer l éligibilité pour un crédit par exemple. Les entreprises de transports utilisent le Big Data dans le but d avoir un tracking de la consommation du fuel, en fonction des «traffic patterns», en real time pour améliorer l utilisation des véhicules dans le but de réduire les coûts autant que faire se peut. Dans le monde médical, le Big Data permet d évaluer précisément l efficacité des médicaments. Les entreprises utilisent de plus en plus le Big Data pour une meilleure compétitivité face à la concurrence, pour prédire la production et la croissance d un produit donné ou encore pour satisfaire au mieux les clients. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 6
1.2 Les technologies liées au Big Data L infrastructure accompagnant le Big Data propose une autre conception de la façon avec laquelle les systèmes, le stockage mémoire et l infrastructure logicielle sont connectés et mis en place. Contrairement aux solutions qui existaient, en terme de Business Analytics, les solutions qui accompagnent le Big Data permettent d exploiter des données très volumineuses en Real-Time. Ceci constitue indubitablement un avantage de taille pour les entreprises. En effet, la manière et la vitesse de prise de décisions decision making au sein des entreprises changent considérablement avec le Big Data. Dans le but d analyser les hautes volumétries de données hétérogenes, les technologies sont de trois type : une accélération matérielle à l aide de mémoires dynamiques DRAM ou Flash, le recours à des bases de données massivement parallèles (Massively Parallel Processing) ou encore des solutions utilisant des formats de bases de données non relationnelles basées sur NoSQL. Toutefois, pour reussir le challenge du Big Data, il y a deux axes a joindre : Axe Technologique : Mise en place d infrastructures massivement paralleles, de grandes capacités de mémoire/ de stockage, un empilement de serveurs... A cela s ajoute une capacité des data warehouses (entrepots de données) a absorber les redondances d informations (interdite dans les bases de données usuelles) Axe Métier : Bien organiser les données de maniere sémantique. En effet, les designers chez Renault par exemple, parlent de toits de voiture sachant que les ingénieurs mécaniciens parlent de pavillons. Un des apports du big data est de justement chercher ces croisements afin de traiter la donnée «toit» et «pavillon» de la meme maniere. Le role de l ingénieur Data est primordial pour que les technologies soient utilisées efficacement. Il choisit la bonne solution au bon moment : Picking the right tool for the right usecase. Nous parlons alors de Polyglot Persistence. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 7
1.3 Les avantages du Big Data Le Big Data est désormais perçu comme étant une révolution Data-Centric du mode organisationnel des entreprises. En effet, le partage croissant d informations liées aux habitudes, aux préférences ou aux attentes des consommateurs a donné naissance au Big Data. Cette masse de données peut être mise à profit par les entreprises pour mieux répondre à leurs clients. Elle peut présenter un important avantage concurrentiel entres autres. Enormément utilisé par les professionnels du marketing, le Big Data à un pouvoir d attraction de plus en plus important sur les entreprises. Elles l intègrent peu à peu dans leurs stratégies BtoC ou BtoB. La demande d information est telle que les entreprises doivent pouvoir accéder rapidement aux données et mener en temps réel les analyses qui leur offriront une meilleure chance de réagir à l évolution des tendances. 1.4 Business Intelligence et Business Analytics 1.4.1 Business Intelligence jusqu à aujourd hui La Business Intelligence (l informatique décisionnelle) est une méthode, très utilisée en entreprise, qui aide à la prise de décision. Traditionnellement centrée sur les questions comptables, (consolidation et planification budgétaire), le champ de la BI s est petit à petit étendu à l ensemble des grands domaines de l entreprise, de la gestion de la relation client à la gestion de la chaîne logistique en passant par les ressources humaines. En effet, toutes les données structurées provenant du système transactionnel sont collectées, nettoyées et stockées dans des bases de données multidimensionnels (datawarehouse), par le biais d outil ETL (Extract, Transform, Load), qui assurent la centralisation des données en provenance des différentes sources de l entreprise. Ces informations sont ensuite structurées, historiées et organisées. Elles sont éventuellement rangées au sein de datamarts, c est-à-dire de sous-référentiels de données ou vues par métier de l entreprise (service client, etc.). Ces divers traitements permettent aux outils d analyse d accéder ensuite au datawarehouse plus facilement. De là découle l analyse des données qui va permettre de comprendre le passé et analyser le présent dans le but de devenir plus compétitif et d avoir une valeur ajoutée supérieur que précédemment. Pour se faire, les données sont analysées selon différents moyens : reporting : présentation périodique de rapports et bilans analytiques sur les activités et résultats d une entreprise, cube : une vue restreinte (du point de vue des dimensions) mais intelligente des données de l entreprise, donnant toutes les combinaisons possibles pour les dimensions concernées. data-mining : méthodes d analyses permettant de mettre en exergue les corrélations possibles et d en expliquer la raison Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 8
L expertise métier chargée d analyser ces données est communement appelée Business Analytics. Cette discipline consiste à utiliser les données de l entreprise pour informer les prises de décisions stratégiques et optimiser les processus de l entreprise en produisant des indicateurs de performance et de compréhension. FIGURE 1.2 Processus global de traitement des données d un système décisionnel 1.4.2 Business Intelligence de demain Avec l arrivée imminente du Big Data, cette version de la Business Intelligence tend a être révolue et à devoir s adapter. En effet, cette version n inclue pas les données semistructurées ou non-structurées fournis par le Big Data, dans la mesure où l on pensait que les données structurées suffisaient dans la prise de décision. Ces données non-structurées ou semi-structurées ont une importance majeure de nos jours. Ils peuvent correspondre au fichiers de Logs, au Blogs, au réseaux sociaux, aux articles de presses,... Tant d éléments primordiaux à prendre en compte, et qui ne le sont pas avec la Business Intelligence d aujourd hui. Par conséquent, le volume de données à analyser en entreprise est en croissance exponentielle et on ne peut plus se contenter de les stocker dans un entrepôt de données. On a alors vu apparaître de nouvelles technologies telles que Hadoop, qui permet le traitement d un très grand nombre de données sur un cluster, composé de beaucoup de machines. HDFS (Hadoop Distributed File System) est un système de fichiers Java utilisé pour stocker des données structurées ou non sur un ensemble de serveurs distribués. Les fichiers vont être au préalable diviser par paquets avec d être stockés. On peut également citer MapReduce qui est un framework permettant l exécution d un calcul (requête) distribuée. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 9
De nouveaux entrepôts de données ont vus le jour comme Apache Hive, qui permet d interroger et d analyser des ensembles de données volumineux stockés dans des fichiers Hadoop ; ainsi que des bases de données NoSQL c est à dire non relationnelle tel que Hbase(coeur d Hadoop), MongoDB Une nouvelle structure de la Business Intelligence adaptée au Big Data est alors mise en place. FIGURE 1.3 Business Intelligence traditionnelle et adaptée au Big Data Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 10
1.5 Batch Vs Real-time Dans le domaine du big data, nous différencions deux types de traitements. Les traitements dits en batch et ceux en real-time. Les traitements en real-time comme le nom l indique sont des traitements que des données qui arrivent en temps réelles. En ce qui concerne les traitements en batch, ce sont ceux réalisés sur des données statiques, accumulées dans le temps. 1.6 SPARK 1.6.1 Spark Streaming et enjeux La plupart des systèmes à l échelle de l Internet ont des exigences de données en temps réel autant que des exigences en traitement de données batch. Spark streaming est conçu dans le but de fournir des traitement en temps réel avec environ une seconde de latence. Parmi les applications les plus couramment utilisées avec de telles exigences nous pouvons citer les statistiques de sites Web / analyse, les systèmes de détection d intrusion, et filtres anti-spam. 1.6.2 What is Spark? Afin de comprendre Spark Streaming, il est important d avoir une bonne compréhension sur Spark lui-même. 1.6.3 Spark Architecture Spark est un système informatique de cluster open source développé dans l UC Berkeley Lab AMP. Le système vise à fournir des calculs rapides, écritures rapides, et des requêtes hautement interactives. Spark surpasse considérablement Hadoop MapReduce pour certaines classes de problèmes et fournit une interface interpréteur Ruby simple. Voir la figure ci dessous. Spark bat Hadoop en fournissant des primitives pour faire des calculs en mémoire ; évitant ainsi le goulot d étranglement d Entrée/sortie entre les jobs individuels d un flux de travail de MapReduce itératif, qui effectue plusieurs reprises des calculs sur le même jeu de données. Spark nous met à disposition une API en langage Scala, qui permet de manipuler des jeux de données distribuée comme s ils étaient des collections locales et assure le Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 11
développement rapide et des tests à travers son interpréteur interactif (similaire à Python ou Ruby). Spark a également été élaboré pour soutenir l exploration de données de manière interactive, (en plus de l utilité évidente pour les algorithmes itératifs). Au-delà de ces spécificités Spark est bien adapté pour la plupart des opérations et des calculs de transformation sur des données. En outre, Spark est conçu pour tourner sur le dessus du gestionnaire de cluster Mesos Apache. Cela permet à Spark de fonctionner sur un cluster côte-à-côte avec d autres applications telles que Hadoop, Message Passing Interface (MPI), Hypertable, et bien d autres. Cela permet aux entreprises de développer des workflows hybrides qui peuvent bénéficier de deux modèles de flux de données, avec les coûts, la gestion, et les problèmes d interopérabilité qui seraient aussi important que si on utilisait des clusters indépendants. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 12
1.7 Les réseaux pour le Big Data : besoins et limitations Tout au long des 20 dernières années, l infrastructure des data centers a était conçue tel qu il y ait un accès aux données sécurisé et de très haute performance. L existence de tels silos de données et l infrastructure réseau associée, ont permis d avoir un bon acheminement du volume de données tout au long du «north-south traffic», ce qui correspond à un traffic full stack : de l utilisateur final, via son application, au système de stockage des données. Il s agit de ce que l on appelle l architecture trois-tiers. Ces dernières années, on parle de machine-to-machine network ou encore d «east-west traffic» dans le cadre du Big Data. En effet, on considère la distribution des données comme étant «horizontale» entre les nœuds du réseau. FIGURE 1.4 Traditional Data VS Big Data Contrairement aux grands ensembles de données qui étaient stockés et analysés, souvent dans des data warehouses, Big Data met en scène des données qui s ajoutent et se modifient en temps réel. Le fonctionnement des OLTP, online transaction processing, ou les outils d analyses SQL traditionnels n est pas adéquat dans le cadre du Big Data. En effet, le Big Data nécessite ce qu on appelle la Scalability, ou la Scalabilité. Cette notion désigne la capacité à s adapter au changement d ordre de grandeur tout en maintenant ses fonctionnalités et ses performances. Le Big data va de pair avec le facteur d échelle et l évolutivité. Hadoop va répondre, entre autres, à ce besoin de Scalability. La problématique du Big Data est la circulation et la collection de gros volumes de données, mais aussi son usage et l efficacité de son usage. Le Big Data répond à un besoin hypothétique : le besoin n est pas encore nécessairement présent, mais on espère pouvoir utiliser les données pour répondre à des besoins futurs. Un problème majeur du Big Data est donc d être capable de collecter ce grand volume de données, mais aussi dêtre capable de réstituer une information pertinente et répondant au problème futur de manière efficace, dans un temps raisonnable. Dû à la variété et la nature hétérogène des données collectées, avoir des automates et algorithmes capables d évoluer avec la nature des données est un des défis posés par le Big Data. Compte tenu du fait que les technologies de base ne suffisent pas, de grandes entreprises telles qu IBM, CISCO ou JUNIPER developpent continuellement des solutions technologiques avancées pour repondre aux besoins que souleve le Big Data. Nous allons donc voir les solutions et les techniques avancées dans le cadre du Big Data. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 13
2 Solutions et techniques avancées 2.1 IBM et le Big Data 2.1.1 Analysez des volumes massifs de données IBM InfoSphere BigInsights offre un ensemble riche de fonctions d analyse avancées qui permettent aux entreprises d analyser à moindre coût des volumes massifs de données structurées et non structurées dans leur format natif. Le logiciel combine la solution open source Apache Hadoop avec des produits innovants d IBM, tels que l analyse de texte sophistiquée, IBM BigSheets pour l exploration des données et toute une gamme de fonctions de gestion de la performance, de la sécurité et d administration. Le résultat est une solution économique et conviviale pour l analyse complexe de volumes massifs de données. 2.1.2 Utilisation des compétences et solutions SQL existantes Les applications existantes dépendent de SQL pour l accès aux données stockées, et SQL constitue de facto le langage utilisé pour la recherche de données structurées ; par conséquent, les entreprises possèdent pour la plupart de solides compétences SQL. Les clients IBM souhaitent pouvoir utiliser leurs compétences SQL avec Hadoop afin de faciliter la mise en œuvre de leur projet, ainsi que l interopérabilité avec les outils et applications orientés SQL dont ils disposent. IBM permet donc d atteindre cet objectif grâce à IBM Big SQL, un système d entreposage de données pour Hadoop utilisé pour la synthèse, l interrogation et l analyse de données stockées dans InfoSphere BigInsights 2.1. Big SQL utilise les pilotes JDBC ou ODBC pour l accès aux données stockées dans InfoSphere BigInsights, de la même façon que les utilisateurs accèdent aux bases de données à partir de leurs applications d entreprise. Il est alors possible d utiliser le serveur Big SQL pour exécuter les requêtes SQL standard, et pour exécuter plusieurs requêtes simultanément Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 14
Big SQL permet une prise en charge des requêtes ad hoc volumineuses, grâce à l utilisation du parallélisme MapReduce et des requêtes de point (qui renvoient rapidement les informations demandées grâce à leur faible latence, ce qui diminue le temps de réponse et offre un accès optimisé aux données). Le serveur Big SQL est multithread. Par conséquent, l évolutivité est uniquement limitée par les performances et le nombre d UC que compte l ordinateur exécutant le serveur. Si l on souhaite exécuter des requêtes plus volumineuses, nous pouvons augmenter les performances matérielles de l ordinateur (serveur) sur lequel fonctionne Big SQL, ou constituer une chaîne de serveurs Big SQL afin d augmenter les résultats obtenus. Big SQL permet à toute personne possédant des compétences SQL de devenir immédiatement opérationnelle, ce qui minimise les délais des projets et diminue l investissement financier associé. Grâce à Big SQL, toutes les données sont accessibles, ce qui permet de choisir le format de stockage le plus adapté à une application donnée. 2.2 Switched Fabric Switched Fabric fait référence à une topologie réseau dans laquelle les nœuds sont raccordés via des switchs ou commutateurs. L intérêt principal est que les switchs fabrics offrent souvent un débit global supérieur à ceux des réseaux traditionnels. Le terme «Fabric» est très récurrent dans le domaine des télécommunications et à plus forte raison dans le domaine des réseaux de stockage SAN en protocole Fibre Channel, ainsi que dans les réseaux haut-débit dont Infiniband. Le principe de Switched Fabric vient en fait en opposition à celui de l Ethernet et son principe historique de broadcasting. Il se définit également en opposition aux réseaux en anneaux. Une des forces de Fabric est en fait que le traffic est étendu sur de multiples liens physiques. Une des plus grande évolution dans l industrie du Networking est l introduction de réseaux Fabric point à point. Tout d abord, l architecture Fabric met en place une connexion point à point entre des nœuds à travers une logique de «single hop», ce qui réduit clairement la latence inter-nœuds. Par ailleurs, pour pouvoir obtenir de grandes performances avec un management du switching relativement facile, la virtualisation du Fabric est essentielle dans le sens où elle permet à plusieurs composants du réseau de se comporter comme un seul et unique composant. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 15
FIGURE 2.1 Switched Fabric 2.3 les solutions reseau du point de vue de Juniper Networks Relever les défis du Big Data imposent aux technologies et aux réseaux de prêter attentions aux paramètres suivant : Elasticité : il faut être capable de gérer des croissances très fortes en termes d utilisateurs et de données avec parfois une faible prédictibilité sans surinvestir dans de nouvelles infrastructures. Vitesse : il faut créer et mettre à jour des applications et des services en quelques jours ou semaines et non plus en mois ou années sans pour autant augmenter proportionnellement le personnel. Périmètre : il faut coordonner de nombreuses applications et sources de données provenant d environnements divers (environnements informatiques traditionnels, cloud privé hébergé ou non) parfois dans différentes régions sans sacrifier performance et intégrité des données. Le réseau doit s adapter pour offrir plus de performance comme il a pu le faire dans le passé mais il doit lui aussi opérer sa révolution. Il doit être de plus en plus programmable et automatisé afin de s aligner sur les cycles d innovation et de développement des applications. Il doit également progresser en qualité de service pour garantir le bon niveau d exécution à des applications métier. Enfin il faut que les solutions technologiques utilisent au mieux les infrastructures existantes et tirent ainsi parti des investissements passés. Dans une première phase, les fournisseurs se sont concentrés sur la virtualisation des serveurs tout en répondant à la croissance exponentielle des données stockées avec souvent pour conséquence une prolifération d environnements de stockage hétérogènes. Les premières initiatives de virtualisation du stockage ont été principalement dictées par une réduction des coûts d infrastructure et une augmentation des taux d utilisation. Actuellement sous l effet de la généralisation de la virtualisation des serveurs et des initiatives Cloud, l accent est porté sur l optimisation des infrastructures : les fournisseurs de Cloud les plus avancés (très fort taux de virtualisation des serveurs et forte croissance des Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 16
volumes de données) prévoient que le taux de virtualisation du stockage dépassera 65% en 2017. Sous l effet de l évolution des métiers et de l augmentation des données stockées, les surfaces dédiées aux datacenters évolueront profondément avec des incidences très fortes sur les infrastructures réseaux intra-datacenter et inter-datacenters. Ainsi 62% des fournisseurs de Cloud (principalement les fournisseurs ayant plus de 100 serveurs physiques) ont des projets d augmentation de la surface dédiée à leurs datacenters. L initiative la plus plébiscitée est le recours à des offres de colocation qui offre des bénéfices certains en terme de flexibilité pour des investissements moindres comparés à la construction de datacenters en propre. Néanmoins, des projets lourds de construction de nouvelles infrastructures en région ou de consolidation ne sont pas mineurs. Une évolution nécessaire du réseau des datacenters Progresser en fiabilité : La fiabilité et la qualité au service des directions métiers et des clients est un critère essentiel de différentiation par rapport à la concurrence. Or la gestion de réseau en environnement cloud avec des taux très élevés de virtualisation est devenue extrêmement difficile : les trafics inter-serveurs deviennent très importants et peuvent générer des temps de latence pénalisants pour des applications critiques. De plus la sécurité en environnement cloud devient plus complexe et nécessite une attention toute particulière contre les dénis de services, la compromission de systèmes et les attaques contre les couches d abstraction. Améliorer le Time to Market et contribuer à l innovation : actuellement le provisionning de ressources informatiques (CPU, stockage, machines virtuelles..) peut s effectuer en quelques minutes alors que les délais pour la partie réseau peuvent se compter en semaines. Or le développement de solutions cloud, d applications mobiles et le lancement de projets Big Data utilisant souvent des méthodes agiles requièrent une meilleure réactivité de la part du réseau. Rendre la gestion opérationnelle du réseau plus efficace et plus simple : La gestion du réseau selon des méthodes traditionnelles se révèle trop statique et nécessite des procédures manuelles souvent complexes et longues. Qui plus est, les fournisseurs de Cloud ont souvent accumulé des couches de logiciels de gestion en fonction des cycles d investissements pour leurs datacenters et des équipements réseaux hétérogènes. Optimiser les investissements : Afin de répondre à des besoins en perpétuelle croissance et souvent difficiles à anticiper en environnement virtualisé, les responsables d infrastructures ont tendance à sur-dimensionner les ressources réseau. Une meilleure allocation permettrait d effectuer de meilleurs arbitrages financiers et de dégager des moyens pour d autres projets et usages. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 17
2.4 Cloud Computing Avec l émergence du Big Data de nos jours, on a tendance à lié cet notion avec la notion de Cloud Computing. Cependant, elle ne sont pas directement lié et l absence de l in n empêche pas l utilisation de l autre. Le Cloud Computing est une solution en vogue, de stockage massive de données sur internet, avec l abstraction de savoir où le traitement est effectué ou de se préoccuper des capacités de traitement. Ceci est géré le service proposant le Cloud et l utilisateur bénéficie des même espace de visualisation des données que s il s agissait d un disque dur interne. Les données sont simplement stockés au travers de l Internet sur des serveurs distants, permettant aux entreprises de faire abstraction des Datas Centers et ainsi dépenser moins d argent. En contre-partie, le Cloud ne permet pas de faire du Big Data, c est à dire d analyser un volume massive de données présent sur celui-ci. Les temps de calculs et d analyse seront trop élevés et il sera impossible d en tirer une satisfaction. Il faut donc prévoir un système de stockage qui permet de stocker les données ingénieusement dans le but d obtenir des traitements d analyse très rapide, actuellement impossible avec le Cloud.On peut parler de HDFS (Hadoop Distributed File System), explicité ci-dessous, comme moyen de réaliser ceci. Le Cloud serait par conséquent une source pour HDFS qui va utiliser les fichiers présents pour les partitionner sur plusieurs machine (cluster). Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 18
2.5 Big Data Scalability (HDFS) Comme évoqué dans la partie 1, Business Intelligence, HDFS (Hadoop Distributed File System) est un système de fichiers Java utilisé pour stocker des données structurées ou non sur un ensemble de serveurs distribués. En d autres thermes, lorsque HDFS recueille une donnée ou un fichier, il la fragmente en plusieurs paquets, de taille imposé par Hadoop, et est distribué sur plusieurs nœuds du cluter(ensemble de machine). Chaque fragment est par conséquent copier sur un nœud du cluster, mais également sur d autres. Ainsi une copie est toujours a disposition dans l éventualité d une panne d un nœud. HDFS est développé pour supporter les applications avec de grands volumes de données, comme les fichiers individuels dont la quantité peut se compter en teraoctets. Il s adosse à une architecture maître / esclave, chaque cluster comprenant un NameNode unique sur le cluster. Il Stocke les informations relative aux noms de fichiers et à leurs caractéristiques de manière centralisée. Le NameNode supporte également les DataNodes qui stocke le contenu des fichiers fragmentés en blocs (64KB par défaut) Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 19
Chaque DataNode sert de bloc de données sur le réseau en utilisant un protocole spécifique au HDFS. Le système de fichiers utilise la couche TCP/IP pour la communication. Les clients utilisent le Remote Procedure Call pour communiquer entre eux. FIGURE 2.2 Méthodologie HDFS HDFS permet ainsi le traitement en parallèle, c est à dire que lors de l exécution d une requête par exemple, chaque nœud va l exécuter avec ses données à disposition. Il permet notamment, la gestion des données Big Data, plus précisément le stockage d un grand nombres de données, en les répartissant par fragments, au sein d un cluster de plusieurs machines, en supportant les applications analytiques. Il permet l abstraction de l architecture physique de stockage, afin de manipuler un système de fichiers distribué comme s il s agissait d un disque dur unique. HDFS est, comme dit précédemment, insensible aux pannes de noeuds, car les framents de données sont copier sur plusieurs noeuds du cluster. Par défaut Hadoop impose que la données soit présent sur troix nœuds du cluster, donc met à disposition trois copies. 2.5.1 Écriture d un fichier Comme évoqué précédemment, lorsque le client souhaite créer un fichier sur HDFS, il doit contacter le NameNode, qui s occupe de la répartition et connait tous les fichiers présents sur le cluster, en lui indiquant la taille et le nom du fichier à écrire. Le NameNode confirme la demande et indique au client de fragmenter le fichier en blocs, et d envoyer tel ou tel bloc à tel ou tel DataNode. Le client envoie les fragments aux Data- Node. Les DataNodes assurent ensuite la réplication des blocs. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 20
FIGURE 2.3 Principe d écriture d un fichier dans HDFS 2.5.2 Lecture d un fichier Pour la lecture d un fichier, le client contacte le NameNode du cluster, en indiquant le fichier qu il souhaite obtenir. Le NameNode lui indique la taille en blocs du fichier, et pour chaque bloc une liste de DataNodes susceptibles de lui fournir. Le client contacte ensuite les DataNodes en question pour obtenir les blocs, qu il reconstitue sous la forme du fichier.en cas de DataNode inaccessible/autre erreur pour un bloc, le client contacte un DataNode alternatif de la liste pour l obtenir. FIGURE 2.4 Principe de lecture d un fichier dans HDFS Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 21
2.6 Big Data requests (Map/Reduce) MApReduce est un framework permettant de lire, écrire et traiter un grand volume de données stockés, par exemple, selon HDFS expliqué précédemment. Dans HDFS, nous avons vu que les données étaient distribuées sur plusieurs nœuds, avec trois copies disponible sur trois nœuds différents. MapReduce utilise se principe. La requête, ou tâche map/reduce, demandée est initialisée dans le nœud maître défini par HDFS, appelé NameNode dans ce-dernier et JobTracker dans MapReduce. Le JobTracker reçoit les tâches map/reduce à exécuter (sous la forme d une archive Java.jar) et organise leur exécution sur le cluster en envoyant la tâche demandée ou job aux noeuds TaskTracker. Il est en communication permanente avec HDFS, sait où sont les données d entrée du programme map/reduce et où doivent être stockées les données de sortie. Il peut ainsi optimiser la distribution des tâches selon les données associées. Les TaskTracker vont chacun exécuté le travail map/reduce sur les données dont ils disposent. On obtiendra ainsi un ensemble de résultat, qui est le principe de la fonction Map. Ensuite les différents résultats seront ensuite agrégés au niveau de chaque nœuds, on parle alors de reducer. Chaque reducer va ensuite envoyé son résultat au noeud maître, qui va se charger de les agréger et de donner en sortie le résultat de la requête. C est la fonction reduce. Le résultat est écris dans un fichier au sein d HDFS. FIGURE 2.5 Méthodologie MapReduce Dans un traitement Map/Reduce, il y a quatres étapes distinctes. Découper (split) les données d entrée en plusieurs fragments Mapper chacun de ces fragments pour obtenir des couples (clef ; valeur) Grouper (shuffle) ces couples (clef ; valeur) par clef Réduire (reduce) les groupes indexés par clef en une forme finale, avec une valeur pour chacune des clefs distinctes Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 22
Prenons l exemple de recherche du nombre d itération de mots contenu dans un texte. Ce texte est fragmenter sur plusieurs noeuds par bloc, mais le principe Map/Reduce est le même sur tous les noeuds. Premièrement, une méthode de découpe consisterait à découper les données d entrées, présent dans le bloc, ligne par ligne. Vient ensuite la fonction Map qui parcoure le fragment d entrée et, pour chacun des mots, génère un couple clef/valeur (Mot ; 1). L opération de groupement est ensuite effectué qui groupe tous les couples par clef commune ((Mot1 ; 1))((Mot2 ; 1)(Mot2 ; 1)). Puis la fonction reduce qui additionne toutes les valeurs liées à la clef spécifiée. (Mot1 : 1)(Mot2 : 2). Ces valeurs sont ensuite retournées au nœud maître, le JobTracker, qui va additionner toutes les valeurs retournées par tous les nœuds et écrire un résultat dans HDFS. 2.7 DataWarehouse d aujourd hui Comme evoqué précédemment, Hadoop HDFS permet le stockage massive de données sur un cluster de machines. Map/Reduce permet d effectuer des requêtes très dynamiques sur les fichiers présent dans HDFS et permet un gain de rapidité et d efficacité grâce à son architecture. Cependant, Map/Reduce nécessite des développement bas niveau qui sont difficiles à maintenir et à réutiliser. C est la raison pour laquelle Apache a créé un outil Hive qui permet de palier à cette problématique. Hive est un entrepôt de donnée (DataWarehouse) qui propose un langage de haut niveau, le HSQL pour interagir avec un cluster Hadoop, ou des données provenant de bases de données externes, dans le but réaliser des analyses sur une masse importante de données. L utilisateur peut ainsi utiliser un langage proche du SQL pour effectuer des requêtes Map/Reduce, des opérations de sélections de jointure,... Hive permet ainsi de construire un DataWarehouse provenant d un nombre élevé de donnée contenu dans HDFS ou autre, et permet également de réaliser des opérations analytiques telles que le Reporting, le Data Mining la détection de Spam ou encore faire de l optimisation. Une alternative à Hive est Pig, un DataWarehouse également, se rapprochant plus d un ETL où l on part d un ou plusieurs flux de données que l on transforme étape par étape jusqu à atteindre le résultat souhaité. Les différentes étapes de la transformation sont exprimés dans un langage procédural (Pig Latin). Il est plus adapté à l univers de l informatique décisionnelle où dominent les représentations orientées flux de données couplées à un processus d élaboration par étape. 2.8 Base de données non relationnelles Une émergence des bases de données non relationnelles (NoSQL), tels que MongoDb ou Hbase, est au cœur de la thématique du Big Data. Les bases nosql permettent l abstraction du modèle relationnel et la rende plus performante. Nous avons vus que Hive est un DataWarehouse permettant le traitement et l analyse de Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 23
données dans un cluster HDFS ou dans des bases de données (relationnelles ou non). Les bases NoSQL servent ici, à la construction de Datamarts à partir de Hive ou HDFS directement lorsque l on n utilise pas Hive, mais également la possibilité de faire des cubes. Ce sont des outils d analyses très performants qui seront pré-visualiser des indicateurs de conclusion ou de prévision sur des données Big Data. 2.8.1 Pourquoi le NoSQL? Le NoSQL est apparu afin de contrer la dominance des bases de données relationnelles dans le domaine de l internet. En effet, un des problème récurrent des bases de données relationnelles est la perte de performance lorsque l on doit traiter un très gros volume de données. De plus, la multiplication des architectures distribués a apporté le besoin de disposer de solution s adaptant nativement aux mécanismes de réplication des données et de gestion de la charge. 2.8.2 Les familles de NoSQL Le NoSQL regroupe 4 grandes familles de base de données qui permettent d offrir une représentation différentes des données, chacune dispose d avantages et d inconvénients en fonction du contexte dans lequel on souhaite l utiliser. Parmi celle-ci on trouve les bases de données clé-valeur. La représentation en clé-valeur est la plus simple et est très adaptée aux caches ou aux accès rapides aux informations. Cette représentation permet en général d atteindre des performances bien supérieures dans la mesure où les lectures et écritures sont réduites à un accès disque simple. On trouve 3 différentes implémentations : Riak, Redis et Voldemort. Il existe ensuite les bases de données orientées colonnes. Le réprésentation orientée colonnes est celle qui se rapproche le plus des tables dans une base de données relationnelles. Elles permettent d être beaucoup plus évolutive et flexible puisqu on peut disposer de colonnes différentes pour chaque ligne. On trouve 2 types d implémentations : HBase et Cassandra. Il y a ensuite les bases de données orientées document. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 24
La représentation orientée document est plus adaptée au monde de l internet. Cette représentation est très proche de la représentation clé-valeur à l exception faite que la valeur est représentée sous la forme d un document. On peut retrouver dans ce document les données organisées de manière hiérarchique comme ce que l on trouve dans un fichier XML ou JSON. On trouve 2 types d implémentations : CouchDB et MongoDB. Pour finir il existe les bases de donées orientées graphe. La représentation orientées graphe est pour palier à des problèmes impossibles à résoudre avec des BDD relationnelles. Le cas d utilisation typique est bien sur les réseaux sociaux où l aspect graphe prend tout son sens, mais aussi où des relations complexes entre les acteurs ont besoin d être décrits. On trouve 3 implémentations différentes : Neo4j, HypergraphDB et FlockDB. 2.9 Solutions à la problématique Big Data Nous avons vus précédemment plusieurs solutions qui permettent traiter la problématique Big Data. Nous avons d abord HDFS, qui permet le stockage distribué de données sur un cluster. Des fonctions Map/Reduce vont permettrent d analyser le grand volume de données contenus dans HDFS ou dans des bases de données extérieurs. Cependant Map/Reduce est un langage assez compliquer à mettre en oeuvre, c est pourquoi on à la création de Hive ou Pig, des DataWarehouse permettant d écrire des fonctions Map/Reduce en langage de haut niveau, de faire des opérations de sélection, jointure,..., et de stocker ces informations dans un DataWarehouse. Des bases de données non-relationnelles permettant une analyse de données très performante sur des données présentent dans Hive ou directement dans HDFS. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 25
FIGURE 2.6 Schéma de solution Big Data 2.10 Solutions à la problématique Big Data : Cassandra Cassandra est une base de données NoSQL appartenant à la famille des bases de données orientées colonnes. Cassandra est un projet lancé par Facebook en 2007 qui avait atteint les limites des bases de données relationnalles, c est pour cela qu ils ont décidé de créer leur propre base de données répondant à leurs besoins. Après 2 ans de développement, ils ont décidé de l offrir au monde du libre c est donc devenu un projet open source appartenent à la fondation Apache en 2009. Cassandra reprend les conceptes de 2 bases de données existantes. La première BigTable, créé par Google, pour son modèle de données orienté colonne et son mécanisme de persistance sur disque, et la seconde Dynamo, créé par Amazon, pour son achitecture distribuée sans noeud maître. Plusieurs grandes sociétés utilisent Cassandra pour leur application grand public. C est le cas de Facebook, Twitter, Digg, Cisco WebEx, IBM, etc. Cassandra est très rapide pour manipuler un volume important de données. Elle permet d avoir des schémas de données flexible grâce à sa représentation en colonnes. De plus son achitecture lui permet d évoluer sans problème dans un environnement distribué, elle intégre des mécanismes de réplication de données et la possibilité de mettre en cluster plusieurs serveurs Cassandra. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 26
Pour ses accès disque, Cassandra privilégie toujours les accès séquentiels aux accès aléatoires, ce qui permet d éviter une partie des latences importantes dues aux mécaniques des disques durs. Ainsi, lors d une écriture, les données ne sont pas écrites directement sur disque mais stockées dans une table en mémoire ; un ajout dans un commitlog se comportant en append-only (et donc de manière séquentielle) permet d assurer la durabilité de l écriture. Lorsque la table en mémoire est pleine, elle est écrite sur le disque. La principale limitation concernant les tailles des colonnes et des super-colonnes, toutes les données pour une valeur de clé, doivent tenir sur le disque d une seule machine. Parce que la valeur des clés seules détermine les noeuds responsable de la réplication des données, la quantité de données associées à une clé a cette limitation. 2.10.1 Le modèle de données Présentation Pour bien comprendre le modèle de données utilisé par Cassandra il est important de définir un certain nombre de termes utilisés par la suite. Tout d abord lekeyspace s apparente à un namespace c est en général le nom donné à votre application. Ensuite, les Column Familly est ce que ressemble le plus aux tables en SQL. Une Key est une clé qui va représenter une ligne. Les Column représente une valeur, elles disposent de 3 champs : son nom, sa valeur et un timestamp représentant la date à laquelle a été inséré cette valeur. Et pour finir, les Super Column qui contiennent une liste de colonnes. Afin de comprendre au mieux la représentation j utiliserai dans la suite des illustrations avec des exemples concrèts d insertion d information en base. Pour cela je me baserai sur une implémentation en JAVA non complète mais qui permet d avoir une bonne vision du modèle de représentation. Les colonnes Les données sont représentées en colonne comme le montre l image ci-dessous. Dans une colonne on trouve 3 champs, son nom, sa valeur associée et un entier représenter la date à laquelle la donnée a été inséré dans la colonne. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 27
Les super colonnes Les super colonnes sont une liste de colonne, si on veut faire le parallèle avec une base SQL cela représente une ligne. On retrouve cette correspondance clé-valeur, la clé permet d identifier la super colonne tandis que la valeur est la liste des colonnes qui la compose. Voila comment les données sont organisées en gardant à l esprit la notion de clé-valeur. D après notre exemple nous pouvons voir que nous avons crée 2 super colonnes (person1 et person2) disposant chacune de 2 colonnes qui décrivent le firstname et le familyname de chaque personne Les familles de colonnes Les familles de colonnes sont ce qui ressemble le plus aux tables en SQL. A l image des super colonnes elles disposent elles aussi d une Map mais cette fois-ci de super colonnes et non pas de colonnes. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 28
Voila comment sont organisées les données une fois insérées dans la famille de colonnes. Les super familles de colonnes Les super familles de colonnes permettent d ajouter un niveau d imbrication supplémentaire. Cela permet de représenter l ensemble d une base de données. Dans ce cas, au lieu d avoir une map de super colonne comme précédemment on dispose d une map de famille de colonne. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 29
Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 30
2.11 Réseaux SDN L idée principale derrière SDN est de séparer l intelligence du réseau de la partie hardware. Auparavant, si on voulait store des données sur le réseau, on avait un serveur de fichiers qui était composé de disques durs. Une boite était responsable de tout. Une boite contenait les données, une boite contenait le hard drive, une boite contenait l OS, une boite contenait l access control list. Si quelque chose arrivait au hard drive, toutes les données serait désormais inexistante, si on n avait plus d électricité, le storage n était plus possible. Après son arrivé les SAN (storage area network). L équipement physique qui store les données était séparé du mécanisme de contrôle qui contrôlait comment les données étaient stored. Quand on avait des SAN, on avait des dummish hard drives et un système de management qui contrôlait où les données vont, vers quel HDD. Lorsque l on regarde les équipements réseau : switch, routeurs etc, ils n ont pas eu de processus d abstraction comme les data storage ont eu avec les SANs. Du coup, nous allons ainsi rendre les équipements moins intelligent et plutôt renforcer le système de gestion des équipements plus fort. Nous allons maintenant voir quel est le problème que SDN résoud à travers un bref historique de l informatique. nous allons commencé depuis les années 2000. A cette époque, le réseau avait pour principale vocation le transfert de fichiers et on se préoccupait uniquement du débit du canal physique afin d acheminer le fichier (video, email, photos etc) d un point A à un point B avec une vitesse maximale. Après 2005, Youtube, Skype et la voix sur IP VoIP font leur apparition et apporte leur lot de challenge lié au fait que la communication n était plus ne différé mais en temps réel. Les besoins d une communication en temps réel sont différents de ceux d un transfert de fichier basique, on a besoin de prendre en compte ce que l on appel la latence. Il faut que le délai entre l émission et la reception soit le plus faible possible. Le mélange des deux challenge a emmené la communauté des réseaux à se pencher sur un problème nommé la QoS (Quality of Service) ou Qualité de Service. C est une idée consistant à donner une priorité aux paquets en fonction de leur importance. Par exemple, on préferera faire passer devant une file d attente un paquet de VoIP plutôt que celui d un échange d e-mail. Donc au début nous avions la vitesse comme sujet principal d optimisation et ensuite la QoS. En 2013, arrive de nouveaux challenges qui rendent l intéraction avec des réseaux de plus en plus compliqué. Par exemple, nous pourrions dire qu un paquet FTP est de priorité moindre par rapport à un paquet SIP (VoIP). Cependant, de plus en plus d ordinateurs étant connectés, il peut arriver que des paquets FTP soit plus important que des paquets Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 31
SIP dans certaines circonstances. Le problème de la qualité de service est que nous ne pouvons pas configurer dynamiquement ces informations en disant que si ce paquet viens de tel destination alors il est moins important qu un paquet de cette destination pendant ce laps de temps etc etc. Et c est pour palier à ce problème qu on introduit le software defined network. Grâce au SDN, on peut dynamiquement construire notre traffic en fonction de ce que l on veut faire. 2.11.1 Comment fait-on? On sépare le réseau en deux : - Ce que l on appel le data plane est l ensemble des switch et routeurs. - Ce que l on appel le control plane qui est un ensemble de serveur de management qui communiquent avec les équipements qui constituent le data plane et doit dire comment les données doivent se mouvoir dans le réseau physique à travers le data plane. On peut ainsi dire grâce à ce type d architecture que le traffic SIP a une priorité plus importante que le traffic FTP et que SMTP traffic doit avoir la priorité sur le traffic SIP, par exemple. On peut ainsi contrôler la totalité du réseau en un seul endroit : le control plane. Pour résumé, on peut dire qu avec SDN on est en train découpler les différents composants qui composent l infrastructure réseau, pour pouvoir les gérer séparemment. Et cela améliore sensiblement la scalibilité du système. Quel est le lien entre SDN et big Data? Le big data a délégué aux réseau énormément de problème et notamment des problèmes de scalabilité. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 32
2.11.2 NAS Comme on peut le voir sur l image ci dessous, nous avons un NAS sur la gauche. Ce hardware va se connecter au routeur ou au switch et va ainsi permettre à plusieurs ordinateurs de se connecter à celui-ci en même temps. Si on retourne ce NAS, nous y trouverons une prise ethernet. Le NAS est un outil qui permet une sécurité des données grâce au système RAID (Redundant Array of Independent Disks) qui permet à un disque ne tomber en panne sans avoir une perte totale des données de la part de l utilisateur. Le NAS est aussi un outil permettant à tout un chacun de garder ses données chez lui sans avoir à les données à des services de stockage sur le cloud ce qui contribue également à la sécurité. Fibre Channel et FCoE Fibre Channel est un protocole défini par la norme ANSI X3T11 permettant une connexion haut débit (de l ordre du gigabit par seconde) entre un ordinateur et son système de stockage ou d autre type de périphérique. Il garantit l arrivée des données, il permet de créer un réseau pouvant transporter plusieurs protocoles de façon native comme l IP (Internet Protocol) et il offre la possibilité d un mode canal utilisé pour transporter le protocole SCSI dans le cas des SAN. Il a été conçu à l origine pour les superordinateurs, mais il est maintenant devenu le protocole standard des SAN. Il existe trois topologies différentes utilisées pour le Fibre Channel : - Point à point : utilisation la plus simple mais la plus limitée ; les périphériques sont reliés directement entre eux ; - En anneau : Elle est nommée aussi FC-AL (Fibre Channel Arbitrated Loop). Elle peut connectée jusqu à 126 éléments entre eux. Arbitrated Loop reprends les principes du protocole Token Ring, ou l accès au réseau est arbitré entre chaque périphérique du réseau. La bande passante de la boucle est partagée entre chaque périphérique du réseau. La raison première d utiliser cette topologie est pour une question de coût. En effet, il n y a aucun élément réseau à acheter. Le problème de cette architecture est que si un nœud tombe, aucune communication n est possible par la suite. De plus, cette architecture marche mal avec un nombre trop grand de périphériques (>30) car le fait de transiter d un lien à un Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 33
autre entraine de la latence parce que chaque machine regarde si les données qui passent ne sont pas pour elles. - «Switchée» ou «commutée» (fabric) : Cette topologie est appelée aussi Fabric. Cette topologie apporte le meilleur taux de disponibilité car il est possible de doubler chaque lien. De plus chaque communication possède sa propre bande passante contrairement à la topologie en boucle.c est aussi la topologie qui demande le plus grand investissement à cause de l achat d éléments réseaux spécifiques. Voici les trois topologies en image 2.11.3 FCoE Historiquement, le raccordement de serveurs aux baies de stockage mutualisées se faisait soit en Fibre Channel, solution performante mais coûteuse car elle nécessite des switchs et un réseau dédié, soit en iscsi bien adapté aux petits SANs, mais posant parfois des problèmes de performance. Ce constat a abouti à l idée de concevoir une nouvelle classe de service Ethernet sans perte de paquets et avec une encapsulation directe pour optimiser le débit1. La définition de FCoE remplace les couches FC-0 et FC-1 de fibre channel (couches physique et encodage/décodage) pour encapsuler la couche FC-2 et suivante dans des trames Ethernet repérées par un EtherType spécifique. Cela permet de transporter sur le même support des trames du protocole IP et des trames FCoE. Conservant tous les autres concepts de FC cette norme veut permettre une intégration facile des concepts et outils existants. Contrairement à iscsi qui s appuie sur TCP/IP, FCoE est défini au niveau de la couche liaison de Ethernet (donc par exemple le protocole FCoE ne peut pas traverser unrouteur IP). Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 34
Ethernet ne dispose d aucun mécanisme de contrôle de flux aussi la norme FCoE étend ce premier pour éviter la perte de trames en cas de congestion. L IEEE travaille sur une évolution plus générale : le projet Data center bridging (en). Le protocole FC a été modifié sur trois aspects : encapsulation des trames FC dans des trames Ethernet ; contrôle de flux sur Ethernet pour ne pas perdre de trames en cas de congestion ; mécanisme de conversion des adresses WWN de fibre channel en adresse MAC Ethernet. 2.11.4 SAN SAN est un réseau robuste dédié, à haute rapidité (basé sur Fiber channel technology) pour connecter des serveurs aux disques de stockage. C est un réseau entièrement dédié au stockage de données. SAN possède énormément de points forts : Élimine les restrictions sur la quantité de données qui peut être accédée par un serveur que l on trouve sur les serveurs avec un disque dur intégré. Le serveur de stockage peut être accédé par plusieurs serveurs en même temps, de manière plus robuste et plus rapide. Les ressources de stockage peuvent être gérées de manière centralisée et l espace de stockage peut être alloué et retiré facilement. Voici un schéma d un SAN : Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 35
Quelles sont les différences entre NAS et SAN? 2.11.5 iscsi SCSI est un acronyme désignant Small Computer System Interface, qui est un ensemble d interfaces électroniques standards de l American National Standards Institure (ANSI) qui permettent aux ordinateurs de communiquer avec des périphériques comme des disques durs ou bien des CD-ROM, des imprimantes, des scanners de manière plus flexible et plus rapide que les interfaces parallèles de transfert de données standards qui existaient auparavant. Comment est ce que ISCSI fonctionne? iscsi fonctionne en transportant les données de niveau bloc entre un initiateur iscsi sur un serveur et une cible iscsi sur un périphérique de stockage. Le protocole iscsi encapsule les commandes SCSI et assemble les données en paquets pour la couche TCP / IP. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 36
Les paquets sont envoyés sur Le réseau en utilisant une connexion point-à-point. À l arrivée, le protocole iscsi désassemble les paquets, la séparation de la commandes SCSI de sorte que le système d exploitation (OS) verra le stockage comme un périphérique SCSI local qui peut être formatée comme d habitude. Aujourd hui, certains de la popularité de iscsi dans les petites et moyennes entreprises (PME) a à voir avec la façon dont la virtualisation de serveur fait usage des pools de stockage. Dans un environnement virtualisé, le pool de stockage est accessible à tous les hôtes au sein du cluster et les nœuds de cluster communiquent avec le pool de stockage sur le réseau grâce à l utilisation du protocole iscsi. Un initiateur iscsi est un morceau de logiciel ou de matériel qui est installé dans un serveur pour envoyer des données vers et à partir d un réseau de stockage iscsi ou cible iscsi. Avantages de iscsi Parce qu il utilise Ethernet standard, iscsi ne nécessite pas de commutateurs ni de cartes, qui sont nécessaires pour exécuter Fibre Channel. Les réseaux ( FC ) coûteux et parfois complexes. Cela le rend moins cher à adopter et plus facile à gérer. Un FC réseau de stockage zone,( SAN ) transmet des données sans laisser tomber des paquets et a toujours supporté de plus larges bandes passantes, mais la technologie de FC est coûteux et nécessite une base de compétences spécialisées pour installer et configurer correctement. Un SAN iscsi, d autre part, pourrait être mise en œuvre avec des cartes Ethernet ordinaires d interface réseau (NIC) et des commutateurs et être exécuter sur un réseau existant. Au lieu d apprendre, construire et gérer deux réseaux - un LAN Ethernet pour la communication d utilisateur et un FC SAN pour le stockage - une organisation pourrait utiliser ses connaissances et son infrastructure existante pour les réseaux LAN et SAN. Alternatives Ethernet pour iscsi iscsi est l approche la plus populaire pour la transmission de données de stockage sur IP (Internet Protocol ) des réseaux, mais il existe des alternatives, telles que les suivantes : - Fibre Channel over IP (FCIP), également connu sous le tunnel Fibre Channel, déplace des données entre les SAN sur des réseaux IP pour faciliter le partage de données sur une entreprise distribués géographiquement. - Internet Fibre Channel Protocol (ifcp) est une alternative à FCIP qui fusionne les réseaux de SCSI et FC dans l Internet. - Fibre Channel over Ethernet (FCoE) est devenu une norme officielle en 2009. Poussé par Cisco Systems Inc. et d autres fournisseurs de réseaux, il a été développé pour rendre Ethernet plus adapté pour le transport de paquets de données afin de réduire la nécessité Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 37
de Fibre Channel. Mais alors qu il est utilisé dans les commutateurs top - of-rack avec des serveurs Cisco, FCoE est rarement utilisé dans commutation SAN. - ATA over Ethernet (AoE) est un autre protocole Ethernet SAN qui a été vendu dans le commerce, principalement par Coraid Inc. AoE traduit l Advanced Technology Attachment ( ATA ) protocole de stockage directement au réseau Ethernet plutôt que de construire sur un protocole de haut niveau, comme iscsi fait avec TCP / IP. Tree architecture L ancienne topologie des réseaux de centres de données peut être considérée comme une topologie arbre-feuille. Si l on fait un schéma d un réseau de ce type, une hiérarchie arborescente est obtenue. La partie inférieure de l arbre est la couche d accès, où les hôtes se connectent au réseau. La couche intermédiaire est la couche d agrégation ou de distribution. La couche d accès est connectée de manière redondante à cette couche. La couche d agrégation fournit une connectivité à des commutateurs de la couche d accès adjacent et à des rangées de data center. La couche centrale permet l acheminement vers d autres parties du centre de données, ainsi que des services à l extérieur du centre de données comme l Internet. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 38
2.11.6 leaf-spine (leaf-spine architecture) Leaf-spine est une topologie de réseau dans lequel une série de commutateurs forment la couche d accès, comme on peut le voir sur la figure ci-dessous. Spine switches sont essentiellement le noyau de l architecture, tandis que les leaf switches forment la couche d accès qui délivre des points de connexion de réseau pour les serveurs. leaf switches assurent également des liaisons montantes à la Spine switches commutateurs. Chaque leaf switch se connecte à chaque changement dans le tissu du réseau. Peu importe à quel leaf switch un serveur est reliée, il doit traverser le même nombre de dispositifs à chaque fois qu il se connecte à un autre serveur. La seule exception est lorsque l autre serveur est sur une même feuille. La latence est donc minimisée à un niveau acceptable parce que chaque charge utile doit uniquement voyager à un commutateur de la colonne vertébrale (spine switch) et un autre commutateur de feuilles (leaf switch) pour atteindre son point final Une topologie leaf-spine peut être sur la couche 2 ou couche 3. Autrement dis, les liens entre la couche de feuilles (leaf) et la colonne vertébrale (spine) peuvent être commuté ou routé. Dans une couche 2, tous les hôtes sont liés à la structure et offrent un chemin sans boucle pour leur Adresse MAC Ethernet à travers un calcul de plus court chemin d abord. Dans une conception de la couche 3, chaque lien est routé. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 39
Conclusion Le Big Data représente une opportunité pour toutes entreprises de capturer et d analyser de grandes quantités de données qui, de base, étaient inexploitables par le biais des infrastructures traditionnelles. Il est crucial pour les administrateurs réseaux de considérer l impact de ces technologies sur leurs serveurs, leurs supports de stockage de données et sur les infrastructures de manière plus générale. La question que doivent se poser les entreprises est de savoir comment développer de la manière la plus optimale possible de nouvelles infrastructures pour relever les défis du data flow croissant. Il n est pas sans être judicieux de penser également à la façon dont les centres de données doivent évoluer, en fonction des infrastructures «next génération», pour répondre à la demande de données en croissance exponentielle. Jaafar EL ALAMY, Nabil BOUABDALLAH, Frédéric CUNI, Meddy DECOUTURE - A15 40