Université de Liège Faculté des Sciences Appliquées Institut Montefiore ETUDE DES FRAMEWORK DISTRIBUÉS DE GRILLES DE DONNÉES

Dimension: px
Commencer à balayer dès la page:

Download "Université de Liège Faculté des Sciences Appliquées Institut Montefiore ETUDE DES FRAMEWORK DISTRIBUÉS DE GRILLES DE DONNÉES"

Transcription

1 Université de Liège Faculté des Sciences Appliquées Institut Montefiore ETUDE DES FRAMEWORK DISTRIBUÉS DE GRILLES DE DONNÉES EN VUED UNE SOLUTION DE STOCKAGE ÉLASTIQUE DANS LE CLOUD En collaboration avec Rapport de stage Présenté par GLELE Louise-Marie Sous la direction de Guy Leduc Sabri Skhiri 1 er master en sciences informatique Année académique

2 REMERCIEMENTS Je tiens à remercier Ivan Frain et Sabri Skhiri, qui m ont suivie et conseillée tout au long de mon stage ; ainsi que tous les autres ingénieurs de l équipe Recherche et Développement d Euranova qui n ont pas hésité, à me prodiguer conseils et orientations à l occasion. Je remercie Mr Guy Leduc, mon responsable académique pour sa disponibilité, ses commentaires et ses conseils par rapport à ce stage. Je tiens à remercier tout particulièrement et à témoigner ma reconnaissance à toute l équipe d Euranova, pour l expérience pleine d intérêt qu elle m apermis de vivre durant ces semaines au sein de l entreprise.tous les membres de l équipe ont contribué, par leur accueil, leur disponibilité et leur bonne humeur, à rendre mon stage enrichissant et motivant.

3 TABLE DES MATIÈRES Introduction 1 Chapitre 1 Présentation du cadre de travail L entreprise d accueil Cadre et objectifs Organisation et fonctionnement Le service Recherche et Développement Objectifs du stage Chronologie du stage 4 Chapitre 2 Etat de l art Définition cloud computing Les bases de données dans le cloud 7 Chapitre 3 Etude comparative Des bases de données en mémoire avec une architecture "share nothing" Critères de classification des bases de données Communication entre les nœuds Approche CAP Gestion des transactions et propriétés ACID Modèle de données et langage de requêtes Réplication des données Algorithme de hachage cohérent Elasticité Modèle de persistance Tableau comparatif des bases en mémoire Distribution des données et des traitements Tibco ActiveSpaces Infinispan VoltDB Grille de comparaison Conclusion 22 Chapitre 4 Infinispan Cas d utilisation : la gestion de session HTTP Outils utilisés Mise en place de l application de gestion de session Méthodologie Description de la tâche MapReduce Résultats 31 Chapitre 5 Conclusion 33

4 5.1. Difficultés rencontrées Apports du stage Perspectives 34 Bibliographie 35

5 Introduction Le cloud computing (en français "informatique dans le nuage" ou "infonuagique") est un paradigme émergeant depuis quelques années. L un de ses principaux concepts est la fourniture de la technologie à la demande «as a service». La vision est d offrir à terme un service informatique disponible partout à la demande, et pour lequel l utilisateur ne paiera que pour ce qu il a consommé (un peu comme le service électrique aujourd hui). Cette technologie connait un succès croissant. En effet, plusieurs acteurs du secteur informatique parmi lesquels de grands noms comme IBM, Microsoft, Google, Amazon, Salesforce développent et proposent des technologies orientées cloud au public.les entreprises et organisations y font de plus en plus recours. Ainsi, 60% des 3000 directeurs des systèmes d informationinterrogés dans 71 pays à travers le monde prévoient d utiliser le Cloud Computing dans les années à venir (1). Les utilisateurs privés s en servent également, principalement pour la messagerie électronique, la gestion des images, le stockage et la sauvegarde de données, la gestion de la vidéo, et bien d autres applications en ligne (traitement de texte, jeux ). La capacité du cloud à fournir des services et ressources hautement disponibles et élastiques, et ce à la demande fait partie des principales raisons de son succès.ainsi, la question du maintien de ces propriétés pour les applications traitant de grandes quantités de données se pose. C est le cas, par exemple, des réseaux sociaux à succès comme facebook et twitter qui doivent faire face à d importants volumes de données, croissant de façon exponentielle. Ceci induit le besoin d une solution de stockage dans le cloud pouvant permettre de faire face à cette demande. Parmi les solutions existantes pour le stockage élastique de gros volumes de données dans le cloud, celle des grilles de données en mémoire a retenu l intérêt de la société Euranova, dans le cadre de notre stage. Les grilles de données utilisent la mémoire vive comme principal support de stockage et offrent entre autres propriétés, un faible temps de latence, une grande vitesse de traitement des requêtes et une grande élasticité.le stage que nous avons effectué à Euranova a consistédans un premier temps à étudier trois bases de données en mémoire (Tibco ActiveSpaces, Infinispan et VoltDB) et dans un second temps, à déployer l une de ces trois solutions : Infinispan. Après avoir présenté notre entreprise d accueil et un état de l art sur la question de l élasticité dans le cloud, nous aborderons notre étude comparative des trois bases en mémoire avant de finir par un cas d utilisation concret : le stockage de session d un serveur web dans une grille de données Infinispan et la mise en place d un traitement MapReduce sur ces données de session. 1

6 Chapitre 1 travail Présentation du cadre de Nous avons été accueilli pendant une trentaine de jours dans les locaux d Euranova pour notre stage.pendant cette période, avec l appui de l équipe en place, nous avons travaillé à analyser la technologie des grilles de données en mémoire dans le contexte du cloud computing L entreprise d accueil Euranova (2) est une entreprise du secteur informatique qui met au service de ses clients, de l expertise pour mener à bien leurs projets. L un des principaux objectifs de cette entreprise est de promouvoir la recherche et le développement et d être un centre de convergence des acteurs du monde la recherche et ceux du monde de l entreprise pour une meilleure interactivité Cadre et objectifs Euranovaa été fondée en 2008 par Eric Delacroix et Hervé Bath. Elle a connu une croissance significative depuis lors, et exerce aujourd hui ses activités dans le Benelux et le nord de la France. Elle compte dans son portefeuille de clients et de partenaires, des compagnies classées FORTUNE 500, des multinationales,et de jeunes entreprises. Elle dispose entre autres, d une expertise dans les technologies de temps réel, les technologies de traitement de gros volumes de données et privilégie les solutions flexibles. Elle intervient dans des domaines aussi variés que ceux de l industrie énergétique et pharmaceutique, ceux de la santé, des finances et des télécommunications. La mission de cette entreprise est d aider ses clients à trouver des solutions à leurs besoins présents et futurs en TICs(Technologies de l Information et de la Communication) et de contribuer à alimenter les talents dans le domaine de la recherche. Chez Euranova, il est mis en place un environnement qui place la connaissance au cœur d'un processus continu. La capitalisation et la diffusion de savoir étant un souci majeur,elle dispose d une plateforme de partage sur les sujets traités par ses employés, ses partenaires, ses clients et son réseau de manière générale. 2

7 Organisation et fonctionnement Les différents services offerts par Euranova s'appuient sur son organisation composée de deux équipes principales : L'équipe du «Service Management Office» se présente en première ligne de la relation avec les partenaires commerciaux pour l'établissement de l'offre de service. L'équipe du «Career Management Office», se charge du recrutement de personnes qualifiées et s assure de l'accomplissement dans la carrière de chaque collaborateur d Euranova. La principale activité d Euranova est le conseil. Pour ses clients, son métier est de leur apporter des services personnalisés. La prestation de service se fait sous différentes formes :le détachement de personnes, l accompagnement de projet et la réalisation de recherches en «back office». En outre, elle s occupe la gestion de centres de recherches indépendants à travers la collaboration avec des universités sur différents projets. Elle dispose également, à travers son département de Recherche et Développement, d un laboratoire pour la mise en place de nouveaux produits. L équipe directrice d Euranova se compose de : Eric Delacroix, co-fondateur ; Herve Bath, co-fondateur ; Sabri Skhiri Dit Gabouje, Directeur du département Recherche et Développement ; Fabien Depasse, Directeur. A cette équipe s ajoute un certain nombre de collaborateurs des départements "Gestion des ressources humaines" et "Recherche et Développement". Par l'action combinée des prestataires de service chez le client et des équipes de recherche interne, Euranova propose une approche très appliquée de la recherche Le service Recherche et Développement Euranova réinvestit 15% de son bénéfice annuel dans la recherche et le développement. L objectif est de participer au développement de technologies utiles, à travers une démarche globale d'innovation.en outre, cette entreprise a pris le parti de miser sur l'open source pour sa propre infrastructure et est impliqué dans divers projets open source afin de mettre en place les solutions dont elle a besoin. Nous avons effectué notre stage dans les bureaux de ce service, situés à Mont- Saint-Guibert, rue Emile Francqui. Pendant notre stage, nous avons eu l occasion d échanger avec les ingénieurs de ce département où le partage du savoir est vraiment au cœur des préoccupations. 3

8 1.2. Objectifs du stage Notre entreprise d accueil est dans une perpétuelle dynamique de découverte et d acquisition de nouvelles connaissances par rapport aux produits innovants dans les TICs. C est ainsi qu elle s est intéressée à la possibilité d utiliser les grilles de données en mémoire comme solution de stockage dans le cloud, pour gagner en performances et assurer l élasticité. Notre mission a principalement consisté à apporter des éléments d analyse permettant d évaluer cette possibilité à travers l étude comparative de trois bases de données, formant un échantillon assez représentatif de l offre actuelle. Nous l avons réalisé en deux volets : - La création d une grille de comparaison de ces bases de données en mémoire ; - L établissement d un Framework de déploiement d une de ces bases Chronologie du stage Notre stage s est déroulé en trois grandes phases : - Dans la première phase, nous avons réalisé un état de l art sur le cloud computing et sur le concept de l élasticité des bases de données sur le cloud ; - Dans une second phase nous avons comparé les bases de données Tibco ActiveSpace, Infinispan et VoltDB sur la base d une dizaine de critères ; - La dernière phase de notre stage a été la mise en place un Framework pour le déploiement d une grille de données distribuéeinfinispan et la création d une tâche MapReduce sur cette grille. Nous l avons réalisé à travers l implémentation d un cas d utilisation courant: le stockage et le traitement des informations de session d un serveur HTTP dans la grille. Le suivi de notre travail pendant le stage, se faisait essentiellement à travers la plateforme de partage de connaissances d Euranova.Ceci était appuyé par des rencontres périodiques organisés par l équipe de suivi du projet. 4

9 Chapitre 2 Etat de l art Avant toute autre tâche, nous avons commencé pour essayer d appréhender le concept de "cloud computing" et le fonctionnement de cette technologie. Puis nous avons étudié quelques caractéristiques des bases de données adaptées aux applications utilisant le cloud en mettant un accent particulier sur l élasticité Définition cloud computing "Le cloud computing, (3) consiste à déporter sur des serveurs distants, des traitements informatiques traditionnellement localisés sur des serveurs locaux ou sur le poste client de l'utilisateur"(4). Ses caractéristiques essentielles sont : l'élasticité: c est l'aptitude à modifier dynamiquement la quantité de ressources alloués en fonction de l'utilisation. La disponibilité : ellepermet d'assurer le fonctionnement des services sans interruption. La mise en commun des ressources: les ressources disponibles sont partagées entre les différents clients (serveurs, bases de données, messageries,puissance de traitement...). La virtualisation des contenants des ressources du cloud. L accessibilité : Le service est accessible partout et pour n'importe quel utilisateur désirant y souscrire. L'automatisation de la création et de la suppression des ressources. La facturation à l'utilisation (basée sur la consommation de puissance, de capacité de calcul et stockage,...) Le cloud garantit la disponibilité à la demande, la continuité et la qualité de l offre de services. Les principaux avantages de son utilisation sont une grande capacité à monter à l échelle, une grande fiabilité et des couts réduits. L'emplacement des données dans le nuage n'est pas porté à la connaissance du client. Celui-ci accède à l'environnement de travail dont il a besoin, sans se soucier de la complexité de déploiement. Quatre types de services sont proposés par les opérateurs de cloud : Software as a Service (SaaS) : Le cloud offre au client la possibilité de payer la consommation d une application sur la base du temps d'utilisation et non plus par l'achat de licences. L'utilisateur n'a plus besoin d'installer et de 5

10 maintenir l'application sur sa machine mais juste d'un terminal pour y accéder à travers le cloud.les suites bureautiques, les logiciels de gestion de photos et de vidéos en ligne en sont des exemples. Platform as a Service (PaaS) : Desoutils de développement en ligne et des environnements d'exécution pour les langages de haut niveau sont mis à la disposition des développeurs d applications. Cette solution leur permetd accéder à la demande, aux outils dont ils ont besoin, sans se préoccuper d acquérir les serveurs, le matériel, les licences de logiciels, les bases de données pour les applications qu ils développent. Quelques exemples sont Google App Engine, Microsoft Azure Services Platform, et ORACLE/AWS. 1 Infrastructure as a Service (IaaS) : Offre à l'utilisateur l accès à une infrastructure matérielle sur demande. Celui-ci peut créer son architecture et déployer ses propres applications (système d'exploitation, base de données,...). Ce service libère l entreprise de la nécessité de posséder (gérer, maintenir et contrôler) ses propres serveurs et autres infrastructures de traitement de données.des exemples sont Amazon Simple Storage Service (S3) et Amazon Elastic Compute Cloud (EC2) (4) Architecture de Cloud L architecture du cloud peut être illustrée par le schéma suivant : Schéma de l architecture du cloud Source : 6

11 Il y existe plusieurs modèles de déploiement des services de cloud : les clouds privés internes, gérés en interne par une entreprise pour ses besoins ; les clouds privés externes, dédiés aux besoins propres d'une seule entreprise, mais dont la gestion est externalisée chez un prestataire, les clouds publics, gérés par des entreprises spécialisées qui louent leurs services à d autres entreprises. Quelques grands acteurs de déploiement de cloud publics sont : - Google (suite Google Apps) ; - Amazon (Amazon Web): reconnue pour sa stabilité et le nombre considérable d applications qu elle héberge ; - Microsoft : avec BPOS (Business Productivity Online Suite) ; - Salesforce : ( Sales Cloud, Service Cloud et Chatter). Les clouds hybrides : l infrastructure se compose d'au moins deux clouds de type différents (privés ou public) et autonomes, qui sont liés par une technologie permettant la portabilité des données ou des applications. C'est une option qui permet à une entreprise de faire appel aux services d'un cloud public tout en gérant en interne les données sensibles. Le cloud offre donc un environnement d exécution pour les applications. Certaines de ces applications utilisent des bases de données. Quelles sont les caractéristiques attendues de ces dernières pour qu elles ne soient pas le nœud d étranglement de l architecture? 2.3. Les bases de données dans le cloud Certaines applications (réseau sociaux, sites de e-commerce ) utilisant le cloud font face au défi du BIG DATA 3. Cette appellation fait référence à des ensembles de données dont la taille (très grande), le taux de croissance (exponentiel) et la structure(non structurés ou semi structurés) rend inapproprié leur traitement au moyen des systèmes de gestion de bases de données relationnelles traditionnelles. Ces applications ont donc besoin des bases de données ayant des caractéristiques spécifiques pour pouvoir assurer la disponibilité et l'allocation des ressources à la demande. Les bases de données sur le cloud, en tant que service du cloud, et face au défi du BIG DATA devraient présenter les propriétés suivantes (5) (6): stockage distribué :Les données du cloud doivent pouvoir être partagées entre plusieurs nœuds d un cluster tout en assurant : - le partage automatique de charge entre les différents nœuds : Lorsqu'un nouveau nœud est ajouté à l'ensemble, cette propriété doit être conservée ; 3 7

12 - la distribution automatique de la charge d'un nœud défaillant sur les autres nœuds. Intégration native, de la capacité intrinsèque de traiter des requêtes sur de très grands ensembles de données Traitement distribué : Lorsqu un client demande un traitement impliquant plusieurs nœuds du cluster, il est préférable que le traitement soit effectué au niveau de chaque nœud impliqué et les résultats remontés vers le client, plutôt que dedéplacer l'ensemble des données pour un traitementlocal. Une solution a été apportée à ce problème par Google à travers le modèle de programmation MapReduce (7) utilisé aujourd'hui par plusieurs bases de données. MapReducepropose une architecture, capable de mettre facilement en œuvre la répartition du traitement de larges quantités de données entre plusieurs serveurs. Il a l'avantage de prendre en compte la localisation des données : c'est le cluster qui stocke la donnée qui se charge de son traitement.son principe de fonctionnement est le suivant : l utilisateur définit deux fonctions : une fonction "Map" et une fonction "Reduce" pour le traitement des données: - La fonction Map prend en entrée une paire Clé/Valeur et génère un ensemble de paires Clé/Valeur intermédiaires. Toutes les paires ayant la même clé sont envoyées en entrée à la fonction "Reduce". - La fonction Reduce prend en entrées les nouveaux ensembles Clé/Valeur afin de générer un ensemble plus réduit Le nœud qui reçoit la requête principale la découpe en sous problèmes qu il délègue à d autres nœuds (processus récursif). Chaque nœud responsable d un sous problème applique la fonction Map, puis renvoie les résultats vers son nœud parent qui applique la fonction Reduce. Les résultats sont ainsi remontés jusqu au nœud source. L'élasticité est l'une des propriétés essentielles du Cloud. Il s'agit de la capacité à monter et à descendre à l'échelle de manière dynamique sans entrainer réinitialisation ni perte de performance afin de pouvoir garantir la stabilité et la continuité du service utilisant le cloud. La problématique de l élasticité On peut définir l'élasticité de façon plus précise comme la capacité d'un système à maintenir ses performances lorsque des nœuds lui sont rajoutés ou retirés en plein fonctionnement. En particulier, un système serait parfaitement élastique si le temps qu'il met à répondre aux requêtes ne varie pas quand il est soumis aux modifications susmentionnées. Lorsqu'on ajoute ou qu'on retire des nœuds à un système il passe par plusieurs phases (6) (5) : - La phase d'attaque - la phase d'adaptation 8

13 - La phase de stabilisation On s'attend donc à ce qu'il y ait des modifications de temps de réponse à l'ajout ou au retrait d'un nœud. Mais ces modifications doivent être suffisamment réduites pour être imperceptibles ou peu perceptibles. Exemples de bases de données sur le cloud : Quelques bases de données utilisées pour le cloud sont : Les bases de données relationnelles distribuées : On regroupe sous ce terme, les SGBDR 4 adaptés au clusteret les solutions SQL-MR qui unissent un système SQL pur au concept de MapReduce. Exemples: MySQL cluster, AsterData Les bases NoSQL(8) : Ces bases de données ont abandonné le modèle relationnel et sont orientées vers un modèle de stockage Clé/Valeur. Elles permettent de stocker n'importe quel format de données mais offrent un langage de requêtes réduit. Exemples:MongoDB ; Cassandra ; Hadoop Les grilles de données en mémoire, auxquels nous allons nous intéresser dans la suite de ce document. 4 Système de Gestion des Bases de Données Relationnelles 9

14 Chapitre 3 Etude comparative Nous avons réalisé une étude portant sur trois bases de données : ActiveSpaces (9), Infinispan (10) et VoltDB (12). Le but de cette étude était de fournir une vision assez claire des fonctionnalités de ces bases pour déterminer quels besoins elles peuvent combler (en particulier, par rapport au cloud). Après avoir choisi les critères d analyse de ces bases, nous avons établi une grille de comparaison nous permettant de proposer des réponses à ces questions Des bases de données en mémoire avec une architecture "share nothing" Les bases de données en mémoire (In-memory database) (13) utilisent la mémoire vive de l ordinateur comme principal support de stockage (contrairement aux bases de données classiques qui utilisent les fichiers de disque). Les opérations d accès au disque étant ainsi éliminées, elles offrent les avantages suivants: Très grande vitesse de traitement des requêtes (elles sont donc adaptées aux applications pour lesquels le temps de réponse est critique) ; Utilisation réduite du CPU (car les coûts supplémentaires liés à la gestion des buffers, des emplacements des données en mémoire et sur disque est éliminé). Les bases de données que nous étudions sont des exemples de bases de données en mémoire. Certaines d entre elles, en plus d être en mémoire, sont des grilles de données. En outre elles ont toutes une architecture "share nothing" (14) Les grilles de données en mémoire(15) sont des bases de données distribuées apparaissant comme une mémoire virtuelle unique et partagée, dont les données sont intelligemment réparties (par un algorithme de hachage) entre les différentes instances participant à la grille, de façon à optimiser les accès. Il n existe pas de standard en ce qui concerne les grilles de données en mémoire à ce jour. Cependant, elles présentent des caractéristiques communes. Ainsi, chaque nœud de la grille assume la responsabilité de la part des données qui lui revient. Ceci permet d accélérer les traitements et de garantir des vitesses d exécution des requêtes encore plus élevées car la responsabilité de la gestion des données est répartie entre plusieurs serveurs (traitement distribué). Les nœuds peuvent être rajoutés ou retirés à la volée sans perturbation de service. Le schéma de données de la base est assez flexible et est orienté objet. Ces grilles de données ont donc une vitesse de traitement très élevée, un temps de latence réduit et une très grande capacité à monter à l'échelle. Ce sont généralement des systèmes prêts à l'emploi, pouvant se déployer dans des environnements hétérogènes, de façon automatique (auto détection des nœuds de la grille). Elles permettent de mettre en 10

15 place une architecture orientée événements ("event driven") : elles offrent un mécanisme de propagation des notifications dans le but d informer les clients de la base de données des diverses modifications, aussitôt qu elles surviennent. Une architecture "Share-nothing"(16)est une architecture distribuée dans laquelle chaque nœud est indépendant et autosuffisant. En particulier, chaque nœud possède une mémoire, des disques et des entrées/sorties propres. Ainsi, il n'y a pas de point de contention lié à la gestion d une quelconque ressource partagée. Les nœuds coopèrent et interagissent les uns avec les autres avec un protocole de communication spécifique. Cette architecture augmente la capacité de la base à monter à l échelle. Elle permet le stockage de grands volumes de données, et favorise l utilisation des techniques comme le parallélisme et le traitement distribué des requêtes. Cependant, les requêtes nécessitant des jointures de données de grandes tailles ou la réunion de données se trouvant sur des nœuds différents prennent plus de temps à recevoir une réponse (dépendent en partie du réseau de communication entre les nœuds).cette architecture s oppose aux architectures «shared memory» ou «shared disk» Critères de classification des bases de données Nous avons ciblé les critères suivants pour l analyse des bases de données. Pour chacun d entre eux, les valeurs rencontrées au cours de notre étude sont présentées Communication entre les nœuds Les nœuds composant ces bases distribuées, échangent des informations, non seulement au moment de la formation du cluster (arrivée, départ de nœuds) mais aussi pendant le traitement des différentes requêtes qui parviennent au cluster. Les protocoles de communications utilisés par ces bases de données en mémoire sont : Le multicast C'est un mécanisme utilisé pour la transmission de message entre un sousensemble d'hôtes d'un réseau appartenant au même groupe multicast. Chaque groupe est identifié par une adresse IP de multicast. Les membres du groupe écoutent à cette adresse, utilisée comme adresse de destination par un émetteur souhaitant leur transmettre des informations. Plusieurs protocoles utilisent ce mécanisme : PGM (Pragmatic General Multicast)(17) : Il s'agit d'un protocole de transport fiable pour le multicast qui permet au récepteur de détecter et gérer les pertes. C'est le récepteur qui a la responsabilité de la correction des données reçues. Ce protocole est approprié pour les échanges entre plusieurs sources et en direction de plusieurs récepteurs. 11

16 Jgroups(18): C'est un système fiable (pas de perte de messages) de multicast écrit dans le langage Java. Se basant sur le protocole IGMP, il offre plusieurs fonctionnalités, entre autre la création et destruction de groupes multicast ; l'abonnement et désabonnement de ces groupes ; la transmission de messages entre groupes. Dans le cadre de son utilisation avec Jboss et Infinispan les variantes suivantes sont proposées: Jboss-tcp : utilisation du protocole TCP pour le transport Jboss-udp : utilisation du protocole UCP pour le transport Jboss-ec2 : utilisation du protocole TCP pour le transport et de S3_pings pour la découverte des nœuds (au lieu de du multicast).s3_ping est utilisé entre les instances d Amazon S3 pour la découverte des nœuds. En effet, le trafic multicast est interdit entre les machines virtuelles d Amazon. La découverte se fait par l'intermédiaire d'un sceau commun où chacun enregistre les informations le concernant. Système de messagerie " Rendezvous de Tibco(19) : Il s'agit d'un protocole de transport propriétaire de Activespaces qui gère les échanges entre les processus de la grille. Il peut être utilisé pour remplacer PGM qui est le protocole utilisé par défaut. Les sockets TCP Chaque hôte est configuré avec des adresses IP et des numéros de port TCP qu'il utilise pour communiquer avec le reste du réseau. Chaque instance communique ses informations de connexion aux autres. Pendant la phase de mise en place du cluster, un ensemble de nœuds peut être désigné comme noyau central. Tous les autres nœuds s'enregistrent alors auprès de ces derniers, qui se chargent de la mise en place du cluster (diffuser la liste de toutes les instances à chacune des instances du cluster) Approche CAP Elle permet de définir les propriétés des systèmes de gestion des bases de données distribuées, sur la base du théorème CAP d Eric Brewer (20)(21). Ce dernier définit trois propriétés : Cohérence des données (Consistency/C) : La cohérence caractérise la capacité d une base à offrir une même version des données de la base à tous les utilisateurs après une mise à jour. Il existe plusieurs niveaux de cohérence en fonction de la capacité du système à satisfaire à ce critère. Nous en présenterons deux dans le cadre de notre étude : La cohérence séquentielle ou forte : garantit que chaque lecture d une donnée retourne la valeur mise à jour de cette donnée (c est-à-dire la valeur de la dernière écriture réussie et finie). La cohérence finale : Un système "finalement cohérent" garantit qu en 12

17 l absence de nouvelles mises à jour, toutes les réponses fournies par le système retourneront "finalement" sa valeur actualisée. Le niveau de cohérence indexé par ce théorème est donc la cohérence forte. Disponibilité (availability /A) : Le service doit toujours être disponible ; chaque requête envoyée à un nœud en production doit être traitée. Tolérance à la partition (partition-tolerance /P) : aucune défaillance autre que celle de la totalité de la base de données (cluster) ne peut entrainer le renvoie de réponses incorrectes aux utilisateurs. Donc tant qu'une partie du système fonctionne, les utilisateurs doivent toujours avoir accès à la totalité des données et ces données doivent être exactes. Le Théorème CAP ou théorème de Brewer spécifie que des trois propriétés précédentes, seules deux peuvent être satisfaites en même temps par une base de données. On distingue donc les bases de données : CA : cohérentes et hautement disponibles CP : cohérentes et tolérantes à la partition AP : hautement disponibles et tolérantes à la partition Gestion des transactions et propriétés ACID Une transaction 5 est un ensemble d'opérations effectuées comme une unité atomique d'accès à une base de données. Elle commence par le début de la transaction, suivi d'un ensemble d'opérations de lecture/écriture, puis d une fin de transaction. A la fin, elle est soit validée(commit), soit abandonnée (Rollback). Une transaction doit avoir les quatre propriétés suivantes pour être fiable: L Atomicité: Toute mise à jour de la base de données doit être atomique; les opérations qui la composent doivent être totalement achevées pour que la mise à jour soit validée. La Cohérence : les données dans la base après une transaction doivent être cohérentes (valides par rapport à l ensemble de la base et de ses contraintes d intégrité). L Isolation: Les différentes transactions sont isolées et ne peuvent interférer les unes sur les autres. Seul l état initial et l état final d une transaction sont accessibles aux autres transactions. La Durabilité : Une fois qu une transaction est réussie, ses résultats sont sauvegardés et ne doivent pas disparaître. Les données ne doivent pas être ramenées à leur état initial

18 Modèle de données et langage de requêtes Le modèle de données désigne la forme sous laquelle, les données sont stockées dans la base de données; la représentation qui sera adoptée pour ranger les informations dans la base. C est un choix très important car il détermine la richesse du langage de requêtes sur la base ainsi que d autres paramètres tels que l aisance dans la manipulation de la base de données. Le langage de requêtes d une base de données est un langage qui définit l ensemble des opérations qu il est possible d effectuer sur la base de données. Sa grammaire dépend de la structure des données dans la base. Le modèle relationnel Les informations dans la base de données sont structurées. La base est composée de tables représentant les entités et les relations entre elles. Chaque table est composé d un ensemble de lignes et de colonnes; les colonnes représentent les attributs de l entité et chaque ligne correspond à un tuple (ensemble ordonné des valeurs associées aux attributs d un élément du tableau). Les tables sont normalisées dans le but d éviter les redondances. Ce type de base de données propose un langage de requête riche (basé sur le SQL) permettant de faire des sélections, des jointures, des contrôles et d autres opérations complexes à travers plusieurs tables de la base. Le SQL (Structured Query Language), est un langage de définition, de manipulation et de contrôle des données d une base de données relationnelle. Le modèle Clé/Valeur La donnée est globalement stockée sous la forme d un couple clé/valeur. La valeur associée à une clé n est pas typée et peut être une simple chaîne de caractères ou un objet sérialisé, Cet absence de typage rend le langage de requêtes de données utilisé minimaliste (PUT, GET, DELETE). Il revient alors à l application interrogeant la base de données de développer les mécanismes plus poussés d extraction des données recherchées. Cette technologie relativement nouvelle n étant pas standardisée, les solutions proposées en matière de langage de requêtes varient d une base à l autre. Ainsi, chaque concepteur de base de données intègre différents outils pour offrir un langage de requêtes de base et parfois, des fonctionnalités supplémentaires afin faciliter la manipulation des données. L espace de tuples(22) Il s agit d un espace partagé où des collections de tuples sont rangées. L espace 14

19 de tuples est un paradigme pour le traitement parallèle ou distribué 6. Un tuple est conteneur pour des données inter-liées, rangées dans un ensemble de champs. Chaque champ est doté d un nom et d un type. Le tuple est comme une espèce de carte dans laquelle des champs peuvent être ajoutés ou retirés. Le schéma des tuples doit être définit avant l ajout des données et certains champs doivent être déclarés comme clé du tuple. Ce type de stockage est donc assez proche du stockage Clé/Valeur. Il offre de façon basique les requêtes PUT, GET, DELETE, TAKE, LOCK 7. Dans le cas d ActiveSpaces qui utilise ce modèle, des mécanismes complémentaires (itération, sélections et des filtrages (semblables au select 8 de SQL)) sont rendus possibles. Schéma d un espace de tuples Réplication des données La réplication de données consiste à maintenir plusieurs copies de l ensemble de données dans des instances différentes de la grille de données. Elle est caractérisée par un facteur de réplication qui détermine le nombre de duplicatas des données à conserver. Elle peut être synchrone ou asynchrone. Mode de réplication synchrone : aussi appelée réplication en temps réel. Chaque requête d écriture est exécutée sur l ensemble des clusters impliqués dans la réplication des données cibles avant la validation de la requête sur le serveur où la requête est exécutée. Ceci offre l avantage d avoir les données mises à jour en cas de défaillance mais se fait généralement au prix d une baisse de performances de la base. Mode de réplication asynchrone : les opérations de mise à jour sont effectuées sur un nœud qui assure la propagation ultérieure vers les autres instances 6 7 Source : 8 Effectue des opérations de sélection de données sur plusieurs tables par projection. 9 Source : 15

20 en vue d une synchronisation. Les bases de données en mémoire utilisent la réplication comme mécanisme pour assurer la persistance des données dans la grille. L utilisateur a généralement la possibilité de configurer le facteur de réplication. Le choix de ce facteur constitue un compromis entre la disponibilité des données (plus il y a de copies, moins il y a de risques de pertes) et les performances du système Algorithme de hachage cohérent C'est un algorithme qui gère la répartition des données entre les différentes instances constituant la grille. Son rôle est de répartir les données de façon optimale entre les différents composants d un cluster. Il permet de suppléer aux carences des algorithmes de hachage classique (basés sur le nombre de ressources disponibles) qui doivent refaire totalement le partitionnement à chaque modification de la structure du cluster. Un algorithme de hachage cohérent organise la répartition des données de sorte qu'elle soit peu sensible à l ajout ou à la suppression dynamique d une nouvelle instance. Les données ainsi que les instances de la grille de données se voient attribuer un numéro qui est le résultat de la fonction de hachage commune. Chaque instance du cache se voit responsable des données qui ont un hash compris entre le sien et celui de l instance précédente. Ainsi en cas d ajout ou de retrait de nœuds, seul un sous ensemble des clés a besoin d être redistribué (soit M/N avec M, le nombre de clés et N, le nombre de nœuds). Schéma hachage cohérent Elasticité Nous l étudierons ici à travers les deux propriétés suivantes : Dynamisme : Fait référence à l absence de réinitialisation et d effets

21 collatéraux importants lors de l ajout ou du retrait de nœuds. Linéarité : On dira qu'un service est capable de monter en charge de manière linéaire si une augmentation de X% de ses ressources augmente ses performances de X%(X, étant une valeur quelconque) Modèle de persistance Pour les technologies utilisées, la mémoire vive constitue l espace de stockage principal des données. Par conséquent, en cas de défaillance de la grille, les données pourraient être perdues. La gestion de la persistance des données intervient pour prévenir les pertes de données en cas d incidents. Des différentes approches existantes, nous en présenterons deux dans le cadre de notre étude. Snapshotting: Une copie des données sur un support de stockage durable est réalisée à des instants donnés en vue d'une restitution ultérieure. Elle peut être effectuée à des intervalles de temps préconfigurés ou à chaque modification, suivant l'implémentation proposée par la grille de données. Un mécanisme complémentaire à cette approche est le «command logging». Command Logging : Le système tient un fichier de logs où sont enregistrées les commandes à chaque fois qu'elles sont évoquées. Ainsi en cas de défaillance, la base de données est totalement reconstituée à travers son historique. Hybride : Comme son nom l'indique, cette technologie combine le stockage de données en mémoire et le stockage sur disque offrant un compromis entre la performance (rapidité), le coût (un disque dur est moins cher que la mémoire vive) et la sécurité (les données sont sécurisées sur disque) Tableau comparatif des bases en mémoire Pour donner plus de granularité à notre analyse nous avons étudié l implémentation de la gestion du cluster au niveau de chacune de ces bases. Puis, sur la base de tous ces critères, nous avons construit une grille de comparaison Distribution des données et des traitements Nous nous attarderons ici sur la manière dont chaque base répartit les données entre les nœuds du cluster, puis à la gestion des traitements et des requêtes lorsqu elles impliquent plus d un nœud Tibco ActiveSpaces ActiveSpaces utilise un algorithme de hachage cohérent distribué pour la répartition des données entre les nœuds. Chaque nœud exécute cet algorithme pour déterminer le nœud qui va stocker la donnée de manière à garantir un partage 17

22 équitable des données entre les nœuds. L algorithme utilisé consomme des ressources mémoire fixes pour s exécuter quelque soit le nombre d entrées. Deux types de nœuds sont pris en compte par la grille de données: Ceux qui peuvent faire des requêtes dans l espace sans partager leurs ressources ("leechers") Ceux qui exploitent la base tout en y participant ("seeders") Les accès aux ressources peuvent être plus lents pour les "leechers" car ils ne bénéficient pas comme les "seeders" de la possibilité d avoir une partie des données en local. Les "Space Browsers" (23)sont des mécanismes complémentaires de cette grille pour étendre le langage de base d un espace de tuples et créer des applications élastiques. Ils offrent les possibilités suivantes : Itération sur un sous-ensemble (vue) des entrées stockées dans l espace : permet de récupérer en une commande un sous-ensemble de l espace ; semblable à la commande "select* from Space where " de SQL. Requêtes continues : Le programmeur a la possibilité de spécifier un intervalle de temps pendant lequel chaque nouvelle entrée dans la grille sera automatiquement fournie à son programme permettant d assurer un traitement en temps réel. L'utilisation d'un espace comme une file d attente distribuée : offre une interface pour copier (GET), retirer (TAKE) et gérer l accès concurrentiel (LOCK) aux données au fur et à mesure de leur introduction dans la grille. Ces fonctions permettent au programmeur d exploiter la grille comme une file de communication en mode message ("store-and-forward messaging queue") 11. Paradigmes de grilles de calcul tels que MapReduce : Du fait de la distribution équitable et de la réplication, chaque nœud gère une certaine quantité d informations. Il est possible de configurer les applications pour qu ils effectuent leur traitement: Localement (option SEEDED) En ayant comme portée tout l espace de stockage (option ALL) La création d un job MapReduce se fait en rajoutant des "SEEDERS" faisant des traitements avec la portée locale. La distribution du traitement est donc rendue transparente pour le programmeur qui développe son application comme si elle devait tourner en local. Lorsqu un utilisateur lance un traitement distribué, le traitement est réalisé localement par chaque machine stockant les données impliquées et les résultats renvoyés au nœud responsable de la requête. Ceci permet d assurer la colocation des données et du code de traitement afin d éviter les pertes de temps liées aux opérations de sérialisation, de transmission des données à travers le réseau suivie de la dé-sérialisation. La gestion de la tâche MapReduce peut se faire en créant un espace de contrôle dans la grille, chargée de coordonner les phases de "Map" et de " Reduce" de la tâche globale

23 Infinispan Infinispan offre plusieurs mécanismes de distribution des données entre les nœuds en fonction du mode d'utilisation. Il y en a essentiellement 4 modes qui sont : le mode "local" ; le mode "invalidation"; le mode "replication" et le mode "distribution". Nous nous intéresserons uniquement au dernier mode car c est celui qui convient à son utilisation comme une grille de données distribuée, aspect qui nous intéresse dans cette étude. Dans le mode "distribution", un algorithme de hachage cohérent est utilisé afin de déterminer l endroit où les données seront stockées. Le nombre de réplications de la donnée est configurable et est directement pris en compte par l algorithme de hachage. Ce dernier est déterministe quant à l emplacement des données dans la grille. Ainsi, une requête PUT fait appel à au plus n appels distants (n=nombre de réplicas) et une requête GET à au plus un appel distant (n appels et premier résultat retenu). Pour assurer un partage équitable des données sur les nœuds du cluster, la fonctionnalité de "nœuds virtuels" (virtual node) doit être rajoutée à l algorithme de hachage. Schéma de la distribution des données dans un cache infinispan 12 Infinispan offre deux modes d accès à la grille de données : Embedded : interface locale entre l application et la base de données. Dans ce mode, la colocation des données et du traitement est mise en œuvre. Remote : accès a la grille par l intermédiaire d un client (REST, memcached or Hot Rod). En outre, elle offre deux modèles de traitement distribué (24): Le modèle d exécution distribué simple (Simple distributed execution model) : Ce modèle gère la distribution du traitement en faisant appel à des 12 https://docs.jboss.org/author/display/ispn/clustering+modes#clusteringmodes-replicatedmode 19

24 processus capables de s exécuter sur des machines virtuelles Java distantes et de prendre en entrée, les données de la grille Infinispan. Le modèle MapReduce : Il s agit d une adaptation du modèle MapReduce original de Google. Les tâches MapReduce dans Infinispan peuvent être implémentées à travers les quatre principaux composants suivants : "Mapper", "Reducer", "Collator" and "MapReduceTask" VoltDB Une base de données VoltDB étant composée des tables relationnelles, la distribution (25) des données entre les nœuds se fait par un partitionnement horizontal des tables sur la base d une colonne configurable par l utilisateur. Pour chaque ligne de la table, la valeur correspondante à cette colonne sert de clé et le contenu de la ligne correspond à la valeur. Ainsi chaque nœud se voit attribuer un sous-ensemble des lignes des tables de la base de données. Les enregistrements de même numéro de chaque table se retrouvent en général attribués au même nœud. Exemple : Dans une base de données possédant une table Clients et une table Commandes, ayant tous les deux une colonne client_id choisie pour réaliser les partitions, toutes les commandes d un utilisateur et ses enregistrement se trouvent localisés dans la même partition. Il est possible de choisir de ne pas partitionner certaines tables qui sont dès lors répliquées dans toutes les partitions. Cette pratique est utile pour les tables dont les données sont modifiées fréquemment afin de restreindre les opérations impliquant plusieurs nœuds. Lorsque qu un nœud est rajouté, il n est pris en compte par la distribution de données qu'après réinitialisation de la base de données. Partitionnement VoltDB 13 Les traitements (26) sur les données se font par l invocation des procédures stockées prévues pour chaque type de traitement. Lorsqu une requête est reçue, la

25 procédure permettant de la traiter est passée au nœud qui stocke la donnée. S il n y a qu un nœud impliqué dans le traitement, le reste du cluster est libéré pour pouvoir gérer d autres traitements en parallèle. Lorsqu une procédure fait appel à des données se trouvant sur des partitions multiples, un nœud joue le rôle de coordonnateur et gère le travail des autres nœuds, collecte les données et clôture la tâche. Cette procédure rend les transactions impliquant plusieurs partitions plus lentes. Il n existe pas de base de données VoltDB générique. Chaque déploiement est optimisé pour une application spécifique et est formé d un ensemble de schémas, de procédures stockées, d informations de partitionnement regroupées dans un catalogue: le "runtime catalog". Ce catalogue est chargé sur les différentes machines du cluster pour mettre en place la base de données distribuée Grille de comparaison Critères de comparaison Technologie TIBCO ActiveSpaces Grille de données en mémoire Infinispan (Grille de données) Grille de données en mémoire VoltDB Base de données en mémoire Licence Propriétaire Libre Versions libre et propriétaire PROTOCOLES DE COMMUNICATION DÉCOUVERTE DES NŒUDS Multicast PGM Jboss Non Sockets TCP Oui Non Oui Autre " Rendezvous Jboss(S3_Ping) Non Pendant requêtes Sockets TCP JGroups Sockets TCP Modèle de données Espace de tuples Clé/Valeur relationnel Modèle de requêtes PUT, GET, DELETE, TAKE, LOCK, LISTENNERS, BROWSERS PUT, GET, Basé sur SQL DELETE, SEARCH, LISTENNERS Approche CAP CP AP CA Gestion transactions Modèle cohérence des Oui (fonction native) Oui (optionnelle) Oui (fonction native) de Séquentielle Finalement Séquentielle 21

26 Réplication Synchrone Asynchrone Synchrone Asynchrone Hachage cohérent Oui Oui Non Elasticité Persistance données TRAITEMENT Colocation données traitement des et Dynamique Linéaire snapshot Dynamique Linéaire snapshot Hybrid Synchrone (local) Asynchrone (WAN) Linéaire Oui Oui Non Client/serveur Oui Oui Oui snapshot+ Command Logging API Java, C,.Net Java, REST Java, C++, PHP,.NET, Python, Ruby,HTTP/JSON plate-forme Linux, Windows JVM 6.0 Linux, Macintosh 3.4. Conclusion Les grilles de données en mémoire sont une technologie assez récente. Il n existe donc pas encore de standard, et chaque concepteur fait ses choix de développement. La plupart des produits étudiés ne sont pas encore totalement matures (notamment infinispan et VoltDB). Leur processus de développement suit son cours et certaines limitations actuelles sont provisoires et appelées à être corrigées au cours du processus de développement. Ces bases de données ont chacune leurs particularités, et tendent à résoudre efficacement un problème spécifique. De plus pour optimiser leurs potentialités, il existe différentes configurations selon l utilisation qu on souhaite en faire. Elles présentent néanmoins quelques caractéristiques communes liées à leur technologie : - Une très grande vitesse de traitement des requêtes: due au fait qu elles résident en mémoire et à des mécanismes complémentaires déployées par chacune d elle. - La capacité à monter en charge : elles offrent toutes, la possibilité de tourner sur un grand nombre d instances bien que les limites varient d une base à l autre. - Le traitement de l information en temps réel. ActiveSpaces et voltdb intègrent la gestion de transactions et garantissent les propriétés ACID et une grande disponibilité. L objectif principal de VoltDB est la gestion des transactions OLTP (Online 22

27 Transaction Processing) 14 à l échelle de l internet. C est un produit non encore mature qui présente quelques limitations. En l occurrence, elle n offre pas la capacité à monter et à descendre à l échelle de manière dynamique. De plus, les traitements distribués sur plusieurs nœuds sont sources de grandes pertes de performances. Cependant, c est une base relationnelle avec un langage proche du SQL, qui offre de très bonnes performances pour le traitement des transactions OLTP d une complexité moyenne 15. VoltDB est destinée aux applications qui requièrent la fiabilité, une grande disponibilité et des débits très élevés. Il s agit par exemple, des applications telles que les transactions financières, des flux d enregistrements des opérateurs de télécommunications, les jeux en ligne et les systèmes de distribution à base de capteurs. Elle peut également être utilisée pour les applications émergentes telles que la détection des fraudes, les plateformes "ad exchange" 16 numériques et les micros systèmes de transaction. D autre part Infinispan et ActiveSpaces étant toutes deux des grilles de données, elles présentent davantage de caractéristiques communes : - La capacité de monter à l échelle de façon dynamique et linéaire et de gérer de gros volumes de données, et des clusters de grande capacité (milliers de nœuds) ; - La gestion des événements et des notifications pour relayer vers les applications, les moindres changements survenus sur les données ; - L implémentation du traitement distribué (grille informatique) ; - L optimisation du traitement en parallèles et des accès concurrentiels à la base; contrairement à VoltDB qui nécessite la sérialisation de toutes les requêtes conduisant parfois à rendre la base temporairement indisponible pour les autres requêtes ; - La colocation des données et des traitements ; - La simplicité de déploiement pour les programmeurs, contrairement à VoltDB qui laisse au programmeur le soin de gérer les fonctionnalités complexes liées au traitement distribué. - Des outils avancés et conviviaux d administration Ces grilles de données peuvent être utilisées dans les conditions suivantes : ActiveSpaces : Sa configuration optimale dépend de paramètres comme: la taille des données à traiter, la fréquence relative des mises à jour et de lecture, l importance relative de la mise à jour par rapport à la cohérence absolue des données. Elle peut notamment être utilisée : 14 le traitement transactionnel en ligne : un type d'application informatique qui sert à effectuer des transactions en temps réel «On appelle «plateforme ad exchange» une plateforme virtuelle automatisée qui met en relation directe les acheteurs et vendeurs de publicité sur Internet, autour d un prix et/ou d un espace variables.»(27) 23

28 - Comme un cache de données distribuée, dont la taille est l agrégation des mémoires des nœuds participant à l espace ; - Pour le Stockage opérationnel de données en mémoire : Cette option donne la possibilité de déployer un espace de stockage de données nécessitant un traitement en "temps réel", qui gère l agrégation de données provenant de sources diverses, tout en offrant une grande vitesse de traitement. - Grille de calcul : utilisation de plusieurs machines pour résoudre un problème informatique complexe de grande taille. Le problème peut être découpé en pièces plus réduites exécutés en parallèle entre plusieurs machines. Ces fonctionnalités combinées permettent de faire du traitement distribué sur des données, en temps réel avec de très bonnes performances. Des exemples concrets d utilisation de cette grille sont : La gestion de vols (y compris les itinéraires, les tarifs et la disponibilité des données) ; La gestion de session pour les sites Web de commerce électronique (personnalisations des clients, gestion de paniers d'achats, ) ; La gestion des flux des marchés financiers (sessions actives de surveillance des millions d'événements chaque jour pour déceler les opportunités et les risques et d'agir sur eux en temps réel). Infinispan : Il y a trois principaux scénarios d exploitation d Infinispan : Cache de données local : Peut être exploitée comme un simple cache de données traditionnel (utilisé en amont d un dispositif de stockage traditionnel comme une base de données) en vue d une amélioration des performances (éviter les goulots d étranglement). Appropriée pour les dispositifs très sollicités en lecture d une base de données. Cache de données distribué : Répond au besoin d un accès rapide avec une faible latence pour les applications sensible au temps de traitement qu on retrouve dans les secteurs comme la finance, les télécommunications et le e- commerce. Outil pour la mise en place d un cluster : Utilisée pour le déploiement d un cluster pour une base de données, une architecture logicielle, ou un serveur afin de garantir une grande disponibilité. La gestion de l état du cluster est reléguée à Infinispan ce qui allège la tâche du programmeur d une part et assure l élasticité d autre part. Les serveurs d applications populaires et les conteneurs de servlets stoquent les sessions HTTP dans Infinispan par exemple. Elle peut être également utilisée comme base de données pour le cloud. 24

29 Chapitre 4 Infinispan Après avoir découvert les potentialités des grilles de données en mémoire, nous nous sommes penchés sur une implémentation concrète de cette technologie. Nous avons travaillé avec Infinispan qui est un produit libre, ce qui est non seulement conforme aux choix d Euranova mais qui en outre en facilite l accès. Nous avons dans un premier temps, étudié le procédé de déploiement de Infinispan. Puis pour montrer une utilisation concrète, nous avons choisi de nous intéresser au stockage et au traitement des informations d une session HTTP dans Infinispan. En effet, de notre analyse, il ressort que l une des fonctionnalités des grilles étudiées (et de Infinispan en particulier) est le stockage et le traitement de grands volumes de données en temps réel. D autre part, l une des utilisations les plus courantes de ces grilles est la gestion de session HTTP. Ce cas d utilisation se prête donc bien à l évaluation des performances et des apports annoncés par ces grilles de données Cas d utilisation : la gestion de session HTTP La gestion de session permet de bien évaluer qu une grille de données présente les propriétés attendues des services du cloud en particulier l élasticité. En effet, il peut arriver qu un site web soit confronté à une demande imprévisible nécessitant une montée à l échelle effective pour pouvoir assurer la continuité de service. Prenons l'exemple de Roland Garros en Tous les records d affluence de son site Web officiel ont été battus avec 9,3 millions de visiteurs uniques qui se sont connectés tout au long du tournoi, pour un total de plus de 333 millions de pages vues (1). Nous avons choisi, d implémenter le stockage des données de session HTTP dans Infinispan et de programmer une tâche MapReduce qui donnera la page web la plus visitée du site. C est une fonctionnalité utilisée par exemple, par les sites qui offrent des espaces de publicité aux annonceurs, afin de pouvoir surenchérir sur une page qui, a un moment donné, connait une hausse d audience significative. Une session 17 identifie un client se connectant à un site web. C est une connexion à durée limitée, représentée de façon unique, reliant un serveur à un utilisateur et permettant d avoir, par exemple, un historique des requêtes et des pages qu il a visitées. La gestion de session implique l ajout de mécanismes complémentaires au protocole HTTP 18. En effet, celui-ci étant un protocole non connecté, chaque requête est traitée indépendamment des autres (lorsque le client HyperText Transfer Protocol 25

30 initie une requête, le serveur la traite, retourne la page demandée puis ferme la connexion). Plusieurs technologies fonctionnant du côté du serveur web permettent de réaliser cela. Notre choix s est porté sur les servlets. Ce sont des programmes écrits en java gérés par un conteneur de servlets, intégré dans un serveur d applications interagissant avec le serveur Web. Le processus de gestion de session que nous avons implémenté peut être schématisé comme suit (27) : Echange web dynamique avec des servlets 19 1) Le client émet une requête pour demander une ressource au serveur en spécifiant une URL (Uniform Resource Locator) 20, par exemple, Il s'agit d'une application répondant à l'adresse Home sur le serveur euranova.eu. 2) C'est le serveur web qui traite toutes les requêtes HTTP entrantes, qu'elles demandent une ressource statique ou dynamique. Mais il ne sait répondre qu'aux requêtes visant des ressources statiques. 3) Si le serveur HTTP s'aperçoit que la requête reçue est destinée au conteneur de servlets, il la lui transmet. Les deux serveurs sont reliés par un canal, nommé connecteur. 4) Le conteneur de servlets reçoit la requête à son tour. Il exécute donc le morceau d'application (la Servlet) auquel est destinée la requête, en fonction de l'url. La Servlet est invoquée, et le serveur lui fournit notamment deux objets Java 19 Source: Université Paris-Est Marne-la-Vallée 20 Format de nommage utilisé pour désigner une ressource sur Internet 26

31 exploitables : un représentant la requête, l'autre représentant la réponse. La Servlet peut dès lors, générer la réponse à la demande. Cela peut passer par des échanges une source de données, comme INFINISPAN (4' sur le schéma). 5) Une fois sa réponse générée, le serveur d'applications la renvoie, par le connecteur, au serveur web. 6) La réponse est dorénavant du simple HTML, compréhensible par un navigateur. Le serveur HTTP peut donc la retourner au client. Les composants de l application que nous avons mis en place sont donc, outre la grille de données Infinispan, un serveur web et un conteneur de servlets Outils utilisés Nous nous sommes appropriés les outils suivant dans le processus de déploiement de notre application : Maven(28) Maven est essentiellement un outil de gestion et de compréhension de projet, largement utilisé dans le monde professionnel de développement en Java. Il nous a été recommandé pour réaliser notre travail. Nous l avons intégré à notre IDE, Eclipse, et utilisé le couple "Eclipse-Maven"pour notre développement. Maven permet d'automatiser la gestion de projets Java. Il est conçu pour supprimer les tâches difficiles du processus du déploiement d'applications. Il utilise une approche déclarative, où le contenu et la structure du projet sont décrits, plutôt qu'une approche par tâche utilisée par exemple par Ant 21 ou les fichiers make 22 traditionnels. De plus, il est plus simple à déployer qu Ant et offre plus de fonctionnalités et une plus grande interopérabilité. Il permet de mettre en place des standards de développements au niveau d'une société et réduit le temps nécessaire pour écrire et maintenir les scripts de déploiement d applications. Il offre principalement les fonctionnalités suivantes : - Compilation et déploiement des applications Java (JAR, WAR) ; - Gestion des librairies requises par l'application ; - Exécution des tests unitaires ; - Génération des documentations du projet (site web, pdf, Latex) ; - Intégration dans différents IDE (Eclipse, JBulder) ; La description d'un projet Maven se fait dans un fichier XML situé à la racine du projet : le fichier pom.xml (POM pour Project Object Model). Il contient toutes les informations permettant de gérer le cycle de vie du projet. 21 Outil de déploiement d application, utilisé pour automatiser les tâches répétitives réalisées tout au long d un projet 22 Outil permettant d automatiser le compilation de programmes 27

32 Eclipse et maven : Il existe un plugin d éclipse (m2eclipse) permettant d importer et de gérer à partir d Eclipse (qui utilise Ant par défaut) un projet créé avec Maven. Jetty(29)(30) Jetty est un paquet contenant un serveur web, un client web et un moteur de servlets/jsp. Très léger, il est entièrement écrit en Java. C est un logiciel libre intégré dans nombreux serveurs d'application (Geronimo, JBoss, JOnAS, et bien d autres 23 ). Il permet de déployer une application Web sans devoir installer un serveur séparément. Il peut être embarqué dans une application ou déployé comme une application web standard. Maven et Jetty: Il existe un plug-in jetty pour Maven qui peut être rajouté à n importe quel projet d application Web. Ainsi, il peut être utilisé commet outil de test. Le choix de jetty nous a permis de déployer Infinispan en mode embarqué ("embedded") Mise en place de l application de gestion de session Méthodologie Les grandes étapes de la création de l application sont les suivantes : Configuration de la grille de données distribuée Infinispan(31) : Nous avons identifié et documenté la manière dont une grille de données Infinispan doit être configurée. Le principal composant à installer est le noyau, qui permet de faire les opérations de base sur la grille. Plusieurs packages peuvent être utilisés pour étendre ces fonctionnalités. Dans cette rubrique, il s est agit ici principalement, de configurer la communication entre les nœuds (fichier jgroups.xml), les propriétés du cluster et de chaque nœud (fichier node.xml) afin qu ils soient conformes à notre choix de déploiement. Définition du format des données de session(31) : Nous avons utilisé la classe «InfinispanSessionData» pour définir la structure des données de session. Liste des attributs stockés dans InfinispanSessionData est : - l identifiant de session (_id)

33 - la date et l heure d accès en milliseconds( _accessed;) - La date et l heure du dernier accès(_lastaccessed); - la période d inactivité ( _maxidlems); - le cookie associé à la session : (_cookieset); - La date et l heure de création (_created); - Le temps à l issu duquel la session est expiré (_expirytime); - Les attributs de la session( _attributes) : c est un objet de type Map qui peut être personnalisé. Nous l avons configuré, de sorte que sa clé corresponde aux URLs visitées par le client, et sa valeur, au nombre de fois où l utilisateur a visité une même URL pendant sa session. Nous avons exploité principalement l id et les attributs de session de cette structure. Création d un manager de session (31) : Cet objet est chargé de d adapter les fonctions du gestionnaire de session 24 standard à notre application. Le gestionnaire de session est responsable de la gestion du cycle de vie d une session. Création de servlets pour : la mise à jour des informations de session et l affichage des pages web: L application se charge d identifier les différentes sessions des utilisateurs se connectant aux pages qu il gère et de rajouter la page visitée à leur information de session. Les informations de session sont stockées dans le cache sous la forme d un couple sessionid-objet InfinispanSessionData, telle que la clé est l identifiant de session et la valeur, l objet InfinispanSessionData associé à cet identifiant. le lancement de la tâche MapReduce : Cette application lance une tâche MapReduce dès que la page à laquelle elle est rattachée est demandée. Configuration du serveur et du conteneur de servlets Jetty : Nous avons utilisé le serveur en mode embarqué en rajoutant les plugins nécessaires à notre projet. Notre application se charge d instancier la grille Infinispan, de configurer le serveur Jetty avec le contexte, les connections et les servlets gérants les différentes pages du site web, et de démarrer le serveur jetty

34 Création d une seconde instance: Nous avons créé une autre instance de la grille de données tournant dans un processus séparé. Au démarrage de cette instance, elle forme un cluster avec l instance lancée par Jetty. Création d un programme de remplissage du cache : Ce programme se charge de générer les données de sessions et de mettre à jour la grille à partir de ces informations. Nous l avons mis en place pour tester le traitement de la tâche MapReduce en cas de montée de charge. Cluster TACHE MAPREDUCE Lancement Instance Infinispan Résultats Instance Infinispan Création et initialisation Demande traitement Résultats Jetty Schéma récapitulatif du traitement 30

35 Description de la tâche MapReduce Nous avons implémenté la tâche à travers les trois sous-tâches composant l interface MapReduce de Infinispan : 1. La tâche Map : Récupération des URLs visitées sur l ensemble des sessions (mapper) 2. La tâche Reduce : fait le décompte du nombre de visites reçues par URL (reducer) 3. Tous ces résultats sont envoyés à un nœud unique («collator») qui applique un algorithme pour déterminer la page(s) la (les) plus visitées (page ayant le nombre de visites le plus élevé (collator)) Résultats Après démarrage du serveur Jetty, une instance d Infinispan est lancée et à chaque fois qu une page web est demandée, la grille Infinispan est mise à jour par rapport aux informations de session du client qui se connecte. Le contenu de notre site Web provient du site d Euranova. Démarrage du serveur Jetty et Infinispan Une seconde instance d Infinispan est lancée avec un programme qui met à jour la grille de façon continue sur une certaine période : 31

36 Chaque fois que la page "stats" du site web est demandée, la tâche MapReduce est lancée et la page la plus visitée est affichée. Si plusieurs pages ont le même taux de visites, elles sont toutes affichées. 32

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Mémoires 2010-2011 www.euranova.eu MÉMOIRES ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Contexte : Aujourd hui la plupart des serveurs d application JEE utilise des niveaux de cache L1

Plus en détail

Hébergement MMI SEMESTRE 4

Hébergement MMI SEMESTRE 4 Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 09 : CC : Cloud Computing Sommaire Introduction... 2 Définition... 2 Les différentes

Plus en détail

Cloud Computing Concepts de base Année académique 2014/15

Cloud Computing Concepts de base Année académique 2014/15 Concepts de base Année académique 2014/15 Qu'est que le? online 2 Qu'est que le? Cela s'est-il produit auparavant? Innovation Produit Service 3 Qu'est que le? Considérons-le comme-ça... Crée ta propre

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie étude de cas architecture et systèmes Concours interne d ingénieur des systèmes d information et de communication «Session 2010» Meilleure copie "étude de cas architecture et systèmes" Note obtenue : 14,75/20 HEBERGE-TOUT Le 25 mars 2010 A

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Etude des outils du Cloud Computing

Etude des outils du Cloud Computing Etude des outils du Cloud Computing Sommaire : Présentation générale.. 2 Définitions. 2 Avantage.. 2 Inconvénients. 3 Types d offres de service Cloud.. 3 Comparaison des services Cloud 4 Conclusion 5 Présentation

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2

Plus en détail

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl Dynamic Computing Services solution de backup White Paper Stefan Ruckstuhl Résumé pour les décideurs Contenu de ce White Paper Description de solutions de backup faciles à réaliser pour des serveurs virtuels

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Manuel du logiciel PrestaTest.

Manuel du logiciel PrestaTest. Manuel du logiciel. Ce document décrit les différents tests que permet le logiciel, il liste également les informations nécessaires à chacun d entre eux. Table des matières Prérequis de PrestaConnect :...2

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Cloud Computing : Généralités & Concepts de base

Cloud Computing : Généralités & Concepts de base Cloud Computing : Généralités & Concepts de base Les 24èmes journées de l UR-SETIT 22 Février 2015 Cette oeuvre, création, site ou texte est sous licence Creative Commons Attribution - Pas d Utilisation

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire BENEFICES POUR LES DSI Réussir les projets de gouvernance dans les délais et les budgets Démarrer de manière tactique tout en

Plus en détail

5. Architecture et sécurité des systèmes informatiques Dimension Fonctionnelle du SI

5. Architecture et sécurité des systèmes informatiques Dimension Fonctionnelle du SI 5. Architecture et sécurité des systèmes informatiques Dimension Fonctionnelle du SI Un SI : et pour faire quoi? Permet de stocker de manière définitive des informations volatiles provenant d autre BD.

Plus en détail

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL Module MLBDA Master Informatique Spécialité DAC Cours 10 NoSQL Systèmes NoSQL (not only SQL) Systèmes qui abandonnent certaines propriétés des SGBDR (one size does not fit all): Le langage d interrogation

Plus en détail

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration Fonctions Synchronisation dynamique des fichiers : mise à jour automatique des documents sur tous les équipements Partage et collaboration : partage simple des fichiers entre employés, clients et partenaires

Plus en détail

Veille Technologique. Cloud Computing

Veille Technologique. Cloud Computing Veille Technologique Cloud Computing INTRODUCTION La veille technologique ou veille numérique consiste à s'informer de façon systématique sur les techniques les plus récentes et surtout sur leur mise à

Plus en détail

Chapitre 4: Introduction au Cloud computing

Chapitre 4: Introduction au Cloud computing Virtualisation et Cloud Computing Chapitre 4: Introduction au Cloud computing L'évolution d'internet Virt. & Cloud 12/13 2 Définition Le cloud computing est une technologie permettant de délocaliser les

Plus en détail

Description de l offre de services

Description de l offre de services Description de l offre de services Prestations en Webconférence... 2 Les prestations :... 3 Etude d éligibilité Microsoft Office 365... 3 Forfait de Mise en service... 4 Migration 5 utilisateurs... 5 Formation

Plus en détail

La tête dans les nuages

La tête dans les nuages 19 novembre 2010 La tête dans les nuages Démystifier le "Cloud Computing" Jean Bernard, Directeur, Gestion des services Radialpoint SafeCare Inc. Au sujet de Radialpoint Radialpoint offre des solutions

Plus en détail

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS Axel François bureau C19 (2eme étage) cours disponibles en pdf sur : www.iut-arles.up.univ-mrs.fr/francois 1 PLAN En Cours : qu'est-ce qu'un ordinateur? à quoi

Plus en détail

Qu est-ce que le «cloud computing»?

Qu est-ce que le «cloud computing»? Qu est-ce que le «cloud computing»? Par Morand Studer eleven Octobre 2011 Qu est-ce que le «cloud computing»? - Morand Studer eleven Octobre 2011 www.eleven.fr 1 Aujourd hui, la démocratisation de l informatique

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Contact. entreprise. Appsfinity Gmbh Neuhofstrasse 3a CH 6340 Baar (ZG)

Contact. entreprise. Appsfinity Gmbh Neuhofstrasse 3a CH 6340 Baar (ZG) Contact entreprise. Appsfinity Gmbh Neuhofstrasse 3a CH 6340 Baar (ZG) Tel: +41 415 520 504 Email: sales@onlogis.com Visibilité et controle sur vos opérations, n importe où et à tout moment... Onlogis

Plus en détail

Le cloud computing c est pour moi?

Le cloud computing c est pour moi? Le cloud computing c est pour moi? Hackfest 2011 OPTIMIZED 4 novembre 2011 - Version 1.0 Mario Lapointe ing. MBA CISA CGEIT mario.lapointe@metastrategie.com Votre conférencier Mario Lapointe ing. MBA CISA

Plus en détail

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com L essentiel Coopérative, flexible, très performante : la plateforme Engineering Base web aucotec.com Les défis La globalisation des structures d ingénierie avec le travail en réseau sur des sites dispersés

Plus en détail

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft Le Cloud Computing désigne ces giga-ressources matérielles et logicielles situées «dans les nuages» dans le sens où elles sont accessibles via Internet. Alors pourquoi recourir à ces centres serveurs en

Plus en détail

CAHIER DES CHARGES D IMPLANTATION D EvRP V3

CAHIER DES CHARGES D IMPLANTATION D EvRP V3 CAHIER DES CHARGES D IMPLANTATION D EvRP V3 Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP V3 Version 42 Etabli par Département Accompagnement des Logiciels Vérifié

Plus en détail

Ce Livre Blanc vise ainsi à vous expliquer concrètement tous les bénéfices d un standard téléphonique pour votre entreprise et vos collaborateurs :

Ce Livre Blanc vise ainsi à vous expliquer concrètement tous les bénéfices d un standard téléphonique pour votre entreprise et vos collaborateurs : AVANT-PROPOS Dans un marché des Télécoms en constante évolution, il est important pour les petites et moyennes entreprises de bénéficier de solutions télécoms qui répondent parfaitement à leurs besoins

Plus en détail

ELASTICSEARCH MAINTENANT EN VERSION 1.4

ELASTICSEARCH MAINTENANT EN VERSION 1.4 ELASTICSEARCH MAINTENANT EN VERSION 1.4 firm1 29 octobre 2015 Table des matières 1 Introduction 5 2 Les principaux atouts 7 2.1 Moteur de recherche vs Moteur d indexation.................... 7 2.2 Du

Plus en détail

Travail d équipe et gestion des données L informatique en nuage

Travail d équipe et gestion des données L informatique en nuage Travail d équipe et gestion des L informatique en nuage BAR Octobre 2013 Présentation Au cours des études collégiales et universitaires, le travail d équipe est une réalité presque omniprésente. Les enseignants

Plus en détail

CCI YONNE ATELIER ENP 14 NOVEMBRE 2011. Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.)

CCI YONNE ATELIER ENP 14 NOVEMBRE 2011. Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.) CCI YONNE ATELIER ENP 14 NOVEMBRE 2011 Je veux mieux gérer mon entreprise grâce au numérique (nomadisme, SaaS, etc.) Les ateliers ENP L Espace Numérique Professionnel vous propose 11 ateliers pour répondre

Plus en détail

Virtualisation et mutualisation Le cloud computing, un enjeu structurant et stratégique pour le secteur public. Paris, 4 mai 2011

Virtualisation et mutualisation Le cloud computing, un enjeu structurant et stratégique pour le secteur public. Paris, 4 mai 2011 Virtualisation et mutualisation Le cloud computing, un enjeu structurant et stratégique pour le secteur public. Paris, 4 mai 2011 1 20 Qu est- ce que le Cloud Computing? définitions applications pratiques

Plus en détail

Version de novembre 2012, valable jusqu en avril 2013

Version de novembre 2012, valable jusqu en avril 2013 Pré requis techniques pour l installation du logiciel complet de gestion commerciale WIN GSM en version hyper File en configuration Windows Terminal Serveur Version de novembre 2012, valable jusqu en avril

Plus en détail

«Scale-to-fit» Storage

«Scale-to-fit» Storage LIVRE BLANC «Scale-to-fit» Storage Faites évoluer votre stockage de façon totalement transparente grâce au «Scale-to-Fit» de Nimble Storage. Ce livre blanc explique comment les solutions Nimble Storage

Plus en détail

Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services.

Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services. Solutions de Service Management Guide d achat Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services. Aujourd hui, toutes

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

Notre offre Système. systemes@arrabal-is.com

Notre offre Système. systemes@arrabal-is.com systemes@arrabal-is.com Généralités Généralités des systèmes Windows Les systèmes Microsoft sont au cœur du système d information de la majorité des entreprises, si bien qu environ 90% des postes utilisateurs

Plus en détail

Nos offres de stages pour 2013

Nos offres de stages pour 2013 Nos offres de stages pour 2013 Les sujets de stage que nous vous proposons sont des projets à très forte valeur ajoutée, mêlant recherche amont, algorithmique et implémentation. Ils touchent à des domaines

Plus en détail

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft Avant-propos 1. Pourquoi ce livre? 11 2. À qui s adresse cet ouvrage? 12 3. Structure de l ouvrage 12 4. Remerciements 13 Le Cloud 1. Introduction 15 2. Présentation du concept 15 2.1 Historique de l'hébergement

Plus en détail

Changement dans les achats de solutions informatiques

Changement dans les achats de solutions informatiques Changement dans les achats de solutions informatiques Ce que cela signifie pour l informatique et les Directions Métiers Mai 2014 Le nouvel acheteur de technologies et la nouvelle mentalité d achat Un

Plus en détail

MiniCLOUD http://www.virtual-sr.com/

MiniCLOUD http://www.virtual-sr.com/ MiniCLOUD http://www.virtual-sr.com/ SANTE RESEAU développe en 2012, une filiale, VIRTUAL SR, spécialisée dans l'hébergement PRIVÉ de Machines Virtuelles. Spécialisée dans Les Architectures Virtuelles

Plus en détail

Nouveautés de la version Catalogic ECX 2.0

Nouveautés de la version Catalogic ECX 2.0 Nouveautés de la version Catalogic ECX 2.0 Gestion, orchestration et analyse de copies de dans l entreprise et sur le Cloud Nouvelles fonctionnalités et évolutions Gestion instantanée des copies de Gestion

Plus en détail

En savoir plus pour bâtir le Système d'information de votre Entreprise

En savoir plus pour bâtir le Système d'information de votre Entreprise En savoir plus pour bâtir le Système d'information de votre Entreprise En savoir plus sur : Services en ligne, SaaS, IaaS, Cloud - 201305-2/5 SaaS, IaaS, Cloud, définitions Préambule Services en ligne,

Plus en détail

Technologie SDS (Software-Defined Storage) de DataCore

Technologie SDS (Software-Defined Storage) de DataCore Technologie SDS (Software-Defined Storage) de DataCore SANsymphony -V est notre solution phare de virtualisation du stockage, dans sa 10e génération. Déployée sur plus de 10000 sites clients, elle optimise

Plus en détail

EXIN Cloud Computing Foundation

EXIN Cloud Computing Foundation Exemple d examen EXIN Cloud Computing Foundation Édition Septembre 2012 Droits d auteur 2012 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée

Plus en détail

Les services d externalisation des données et des services. Bruno PIQUERAS 24/02/2011

Les services d externalisation des données et des services. Bruno PIQUERAS 24/02/2011 Les services d externalisation des données et des services Bruno PIQUERAS 24/02/2011 1 1 Introduction Différents types d externalisation de données : Les données sauvegardées Les données bureautiques Les

Plus en détail

CA ARCserve Backup ß QUESTIONS LES PLUS FRÉQUENTES : CA ARCSERVE BACKUP R12.5

CA ARCserve Backup ß QUESTIONS LES PLUS FRÉQUENTES : CA ARCSERVE BACKUP R12.5 ß QUESTIONS LES PLUS FRÉQUENTES : CA ARCSERVE BACKUP R12.5 CA ARCserve Backup Ce document répond aux questions les plus fréquentes sur CA ARCserve Backup r12.5. Pour en savoir plus sur les nouveautés de

Plus en détail

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme.

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme. Mémoires 2010-2011 www.euranova.eu EURANOVA R&D Euranova est une société Belge constituée depuis le 1er Septembre 2008. Sa vision est simple : «Être un incubateur technologique focalisé sur l utilisation

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

4. Gestion des données urbaines dans les nuages informatiques

4. Gestion des données urbaines dans les nuages informatiques 4. Gestion des données urbaines dans les nuages informatiques Brève histoire des nuages informatiques Modèles de service et de déploiement Technologie clé : la virtualisation IaaS : les points de vue utilisateur

Plus en détail

Vers une IT as a service

Vers une IT as a service Vers une IT as a service 1 L évolution du datacenter vers un centre de services P.2 2 La création d une offre de services P.3 3 La transformation en centre de services avec System Center 2012 P.4 L évolution

Plus en détail

«Commande» se rapporte à un bon de commande ou à une commande créée sur un site Internet Interoute.

«Commande» se rapporte à un bon de commande ou à une commande créée sur un site Internet Interoute. 1 DESCRIPTION Le Centre de données virtuel d Interoute permet aux Clients de bénéficier d un ensemble flexible de ressources informatiques dans le «cloud», sans la complexité et les coûts associés à un

Plus en détail

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication.

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication. CONNECTER LES SYSTEMES ENTRE EUX L informatique, au cœur des tâches courantes, a permis de nombreuses avancées technologiques. Aujourd hui, la problématique est de parvenir à connecter les systèmes d information

Plus en détail

I. Bases de données. Exemples classiques d'applications BD. Besoins de description

I. Bases de données. Exemples classiques d'applications BD. Besoins de description I. Bases de données Exemples classiques d'applications BD Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Gestion des personnels, étudiants, cours, inscriptions,...

Plus en détail

Gestion des e-mails par ELO

Gestion des e-mails par ELO >> La gestion du cycle de vie du courrier électronique comme La bonne décision pour aujourd hui et pour demain Les solutions de gestion du contenu d entreprise (Enterprise Content Management/ECM) de ELO

Plus en détail

I. COMPREHENSION DU CONTEXTE

I. COMPREHENSION DU CONTEXTE I. COMPREHENSION DU CONTEXTE L informatisation du système de gestion des activités hôtelières constitue un facteur majeur de réussite pout tout projet d implantation et de gestion des établissements hôteliers.

Plus en détail

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Mr Romaric SAGBO Ministère de l'economie et des Finances (MEF), Bénin SWD Technologies Email : rask9@yahoo.fr Tél : +229 97217745

Plus en détail

La reconquête de vos marges de manœuvre

La reconquête de vos marges de manœuvre La reconquête de vos marges de manœuvre Libérez vos applications critiques Bull ouvre de nouvelles portes à votre patrimoine applicatif. Bull LiberTP fait passer simplement vos applications transactionnelles

Plus en détail

Libérez votre intuition

Libérez votre intuition Présentation de Qlik Sense Libérez votre intuition Qlik Sense est une application nouvelle génération de visualisation de données en libre-service qui permet à chacun de créer facilement des visualisations

Plus en détail

Le Cercle Vertueux du Cloud Public

Le Cercle Vertueux du Cloud Public Le Cercle Vertueux du Cloud Public Le Cercle Vertueux du Cloud Public Le Cloud public rencontre un intérêt croissant auprès de tous les directeurs IT voulant planifier les stratégies informatiques de leur

Plus en détail

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

Plus en détail

impacts du Cloud sur les métiers IT: quelles mutations pour la DSI?

impacts du Cloud sur les métiers IT: quelles mutations pour la DSI? impacts du Cloud sur les métiers IT: quelles mutations pour la DSI? Intervenants : Diarétou Madina DIENG Directrice Développement Orange business Services Sénégal Brutus Sadou DIAKITE Directeur Systèmes

Plus en détail

Déjeuner EIM 360 - Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan

Déjeuner EIM 360 - Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan Déjeuner EIM 360 - Enterprise Information Management Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan (Extract du livre blanc) Introduction... 2 Continuité des pratiques

Plus en détail

Une solution de pointe pour une technologie de pointe :

Une solution de pointe pour une technologie de pointe : Janvier 2008 IBM Information Management software Une solution de pointe pour une technologie de pointe : IBM Information Server et IBM InfoSphere Change Data Capture permettent d obtenir en temps réel

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Exercices Active Directory (Correction)

Exercices Active Directory (Correction) Exercices Active Directory (Correction) Exercice : Scénarios pour l'implémentation de composants logiques AD DS Lire les scénarios suivants et déterminer les composants logiques AD DS à déployer dans chaque

Plus en détail

Historique. Évolution des systèmes d exploitation (à travers les âges)

Historique. Évolution des systèmes d exploitation (à travers les âges) Historique Évolution des systèmes d exploitation (à travers les âges) Historique L histoire des systèmes d exploitation permet de dégager des concepts de base que l on retrouve dans les systèmes actuels

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Communiqué de Pré-Lancement. Sage CRM.com Version 5.7

Communiqué de Pré-Lancement. Sage CRM.com Version 5.7 Communiqué de Pré-Lancement Sage CRM.com Version 5.7 Nouvelle offre produit Présent sur le marché de la Gestion de la Relation Client (CRM) depuis 3 ans en France, Sage compte environ 7000 clients qui

Plus en détail

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique Fiche Technique Cisco Secure Access Control Server Solution Engine Cisco Secure Access Control Server (ACS) est une solution réseau d identification complète qui offre à l utilisateur une expérience sécurisée

Plus en détail

LES SOLUTIONS MES HUMAINES METTENT EN AVANT LES INDIVIDUS

LES SOLUTIONS MES HUMAINES METTENT EN AVANT LES INDIVIDUS LIVRE BLANC LES SOLUTIONS MES HUMAINES METTENT EN AVANT LES INDIVIDUS Une collaboration entre homme et machine LIVRE BLANC LES SOLUTIONS MES HUMAINES METTENT EN AVANT LES INDIVIDUS 2 A PROPOS Les hommes

Plus en détail

DOSSIER DE PRESSE DOSSIER DE PRESSE > LA PRESSE AU FUTUR 2011 CONTACTS PRESSE : CYMBIOZ

DOSSIER DE PRESSE DOSSIER DE PRESSE > LA PRESSE AU FUTUR 2011 CONTACTS PRESSE : CYMBIOZ DOSSIER DE PRESSE DOSSIER DE PRESSE > LA PRESSE AU FUTUR 2011 CONTACTS PRESSE : CYMBIOZ Laëtitia Berché Johanna Deconihout laetitia.berche@cymbioz.com johanna.deconihout@cymbioz.com 06 14 48 02 95 06 82

Plus en détail

Présentation de. ProConServ-IT NEXINDUS Technologies

Présentation de. ProConServ-IT NEXINDUS Technologies Présentation de ProConServ-IT NEXINDUS Technologies Le terme CLOUD (nuage en anglais), particulièrement dans l'air du temps, est un outil innovant qui permet d'externaliser tout ou partie de l informatique

Plus en détail

pour Une étude LES DÉFIS DES DSI Avril 2013

pour Une étude LES DÉFIS DES DSI Avril 2013 Une étude pour LES DÉFIS DES DSI Avril 2013 Présentation de l étude Objectifs : Faire le point sur les orientations IT des DSI : cloud, mobilité, sécurité, poste de travail Identifier les principaux défis

Plus en détail

Serveurs dédiés. Trafic et performances

Serveurs dédiés. Trafic et performances Serveurs dédiés Trafic et performances Nos services sont destinés aux entreprises et particuliers exigeants en terme de fiabilité, de sécurité et de disponibilité. Nous sommes également à même de fournir

Plus en détail

Cours Administration BD

Cours Administration BD Faculté des Sciences de Gabès Cours Administration BD Chapitre 2 : Architecture Oracle Faîçal Felhi felhi_fayssal@yahoo.fr 1 Processus serveur 1 Mémoire PGA Architecture SGBD Oracle Processus serveur 2

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES Haute disponibilité pour Serveurs Ouverts (Windows, UNIX, AIX, Linux, VMware (Windows, UNIX, AIX, Linux, VMware ) Généralités Quelques définitions

Plus en détail

Fonctions Informatiques et Supports Opérationnels

Fonctions Informatiques et Supports Opérationnels Fonctions Informatiques et Supports Opérationnels Nos métiers par activité Nos métiers de l informatique comprennent d une part un volet études et d autre part la gestion des infrastructures ; les fonctions

Plus en détail

La gestion Citrix. Du support technique. Désignation d un Responsable de la relation technique

La gestion Citrix. Du support technique. Désignation d un Responsable de la relation technique La gestion Citrix Du support technique. Désignation d un Responsable de la relation technique Dans les environnements informatiques complexes, une relation de support technique proactive s avère essentielle.

Plus en détail

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Jean-Marc Pierson pierson@irit.fr IRIT, Université de Toulouse Agenda! Le Cloud! Le SOA! Quelle différence!?! Cloud et SOA! Mise en

Plus en détail

FORMATION HADOOP Développeur pour Hadoop (Apache)

FORMATION HADOOP Développeur pour Hadoop (Apache) FORMATION HADOOP Développeur pour Hadoop (Apache) Ce document reste la propriété du Groupe Cyrès. Toute copie, diffusion, exploitation même partielle doit faire l objet d une demande écrite auprès de Cyrès.

Plus en détail

Guichet unique : Aperçu des nouvelles technologies au service du Citoyen (particulier et entreprise)

Guichet unique : Aperçu des nouvelles technologies au service du Citoyen (particulier et entreprise) Guichet unique : Aperçu des nouvelles technologies au service du Citoyen (particulier et entreprise) Développer la communication et le travail collaboratif pour mieux servir le citoyen Thomas Coustenoble

Plus en détail

ENVIRONNEMENTS ORACLE CRITIQUES AVEC VMAX 3

ENVIRONNEMENTS ORACLE CRITIQUES AVEC VMAX 3 ENVIRONNEMENTS ORACLE CRITIQUES AVEC VMAX 3 AVANTAGES CLES CRITIQUES Puissance Stockage hybride avec des niveaux de service performants optimisés pour le Flash à grande échelle, pour les charges applicatives

Plus en détail

Cloud computing Votre informatique à la demande

Cloud computing Votre informatique à la demande Cloud computing Votre informatique à la demande Thomas RULMONT Définition du Cloud Computing L'informatique dans le nuage (en anglais, cloud computing) est un concept ( ) faisant référence à l'utilisation

Plus en détail

25 % EXPERTS PAR AN. + de 20. + de 35. près de 50 DE CROISSANCE DE L OPEN SOURCE ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE

25 % EXPERTS PAR AN. + de 20. + de 35. près de 50 DE CROISSANCE DE L OPEN SOURCE ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE PRESENTATION DE 700 25 % DE L OPEN SOURCE PAR AN DE CROISSANCE EXPERTS + de 20 ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE + de 35 PARTENAIRES OPEN SOURCE près de 50 Smile Open Source Solutions - Toute

Plus en détail

BONPRIX. Contexte et problématique : Les problèmes rencontrés :

BONPRIX. Contexte et problématique : Les problèmes rencontrés : BONPRIX BONPRIX fait communiquer en temps réel ses applications RPG Power i au moyen de Web Services avec le logiciel Strategi webservices Contexte et problématique : Bonprix est une société de vente à

Plus en détail

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data Historique de Big data Jusqu à l avènement d Internet et surtout du Web 2.0 il n y avait pas tant de données

Plus en détail

Etude Comparative entre Alfresco Share et MS SharePoint STARXPERT AUTEUR DATE 4 OCTOBRE 2011 VERSION 1.0

Etude Comparative entre Alfresco Share et MS SharePoint STARXPERT AUTEUR DATE 4 OCTOBRE 2011 VERSION 1.0 Etude Comparative entre Alfresco Share et MS SharePoint AUTEUR DATE 4 OCTOBRE 2011 STARXPERT VERSION 1.0 StarXpert 2011 STARXPERT Siège social : 100, rue des Fougères 69009 Lyon Tel 01 75 57 84 80 info@starxpert.fr

Plus en détail

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2 186 Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2 L'utilisation des fonctionnalités de haute disponibilité intégrées aux applications, L'ajout de solutions tierces. 1.1 Windows Server

Plus en détail