MP2P PROTOCOLE & SYSTÈME DE STOCKAGE REDONDANT COACHING 4 – « DRY-RUN » – 18/06/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH.

Slides:



Advertisements
Présentations similaires
BIENVENUE ASTOU TALL Chargé de documentation de l’équipe Informpro. Présentation d’un projet.
Advertisements

Active Directory Windows 2003 Server
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
1Er Partie Intervenants : Nuno Barata Alain Joly Thierry Belvigne
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Le groupe de travail : Alertes P3. Préambule Ce groupe a pour but de définir des alertes régionales et locales. Nous avions initialement axé notre travail.
Conception d’une application de gestion de fiches études
Formation Microsoft® Office Access 2007
Active Directory Windows 2003 Server
Génie Logiciel 59 Nous testons les logiciels pour vous !
Etude des Technologies du Web services
Développeur informatique
BERNARDIN Benoît Lycée Louis Pergaud
Le Travail Collaboratif ...
Développement d’application web
Module 3 : Analyse des performances du serveur
Module 3 : Création d'un domaine Windows 2000
Projet de Master première année 2007 / 2008
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.
Vue d'ensemble Surveillance des journaux d'événements
Mise en oeuvre et exploitation
EXIGE Un avenir dans le web....
Création d’une communauté web scénarisée : le projet Crealys
Module 8 : Surveillance des performances de SQL Server
Mise en place d’une plate-forme d’expérimentation d’applications adaptables à partir de composants Encadreurs : Mireille Blay-Fornarino Anne-Marie Dery-Pinna.
Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars.
Application de gestion des retards
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Infrastructure haute disponibilité pour services informatiques JI2014
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Module 3 : Création d'un domaine Windows 2000
Ministère de la Fonction Publique et de la Modernisation de l’Administration Rencontre mensuelle avec les responsables informatiques des départements ministériels.
L’enseignement de spécialité SLAM
Réalisé par : Grégory CORDIER Promotion : RIE03 UE : Management Social & Humain Réalisé par : Grégory CORDIER Promotion : RIE03 UE : Management Social.
19 septembre 2001Nom de l'étudiant1 Mise en marché des produits Denis Trudel Directeur 11 octobre 2003.
Plan de la présentation
Présentation du projet
Génie Logiciel 59 Nous testons les logiciels pour vous ! Poiret Valentin.
Cluster d’équilibrage de charge réseau
Victor Sabourin Marie Sévilla Fraysse Pauline They Mathieu Vayssières
Génie Logiciel 59 Nous testons les logiciels pour vous ! Bénazet Sébastien.
Sommaire  Modifications de l’Active Directory  Présentation de SSL  Configuration de SSL  Tests de fonctionnement ○ Internet Explorer ○ Firefox.
Victor Victor Sabourin Marie Sévilla Fraysse Pauline They
Notre vie numérique exige chaque jour des capacités de stockage supplémentaires et nos disques durs vont désormais devenir trop petits. Le cloud computing.
Génie Logiciel 59 Nous testons les logiciels pour vous ! Douillé Pierre.
MINI‐PROJET DE GROUPE REALISE DANS LE CADRE DU COURS DE GEN
Lellouche Aaron ITIC Paris
Création d’applications distribuées.NET Ziriad Saibi Relation technique éditeurs de logiciels Microsoft France.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Protocole & Système de stockage distribué
MP2P PROTOCOLE & SYSTÈME DE STOCKAGE REDONDANT COACHING 3 – 21/05/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH.
Julien Lamure - Réunion des CI du 15/11/2006 Quelques utilitaires de création de comptes pour Windows 2003 server - GUNT - Gestion - PowerAD - Magret -
MP2P PROTOCOLE & SYSTÈME DE STOCKAGE REDONDANT COACHING 1 – 21/04/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH.
MP2P PROTOCOLE & SYSTÈME DE STOCKAGE REDONDANT COACHING 2 – 30/04/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH.
MP2P PROTOCOLE & SYSTÈME DE STOCKAGE SCALABLE PRÉSENTATION FINALE – 7 JUILLET 2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH.
Page 1 Le nouvel outil d’écoute clients dédié aux professionnels de l’évènementiel E vent S at.
Etude de la clientèle des salles de cinéma En partenariat avec.
Victor Sabourin Marie Sévilla Fraysse Pauline They Mathieu Vayssières
Sécurisation infrastructure Altibus Ajout d’un serveur pour le réseau Call Center.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
Chapitre 12 Surveillance des ressources et des performances Module S41.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
WHAT IS THIS ? Serveur d’intégration Environnement JAVA Open Source Ou logiciel d’intégration continue.
Transcription de la présentation:

MP2P PROTOCOLE & SYSTÈME DE STOCKAGE REDONDANT COACHING 4 – « DRY-RUN » – 18/06/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Table des matières 1.Présentation 2.Le périmètre projet initialement défini 3.Les détails techniques 4.La plateforme technique 5.Les résultats obtenus 6.Résumé du travail réalisé durant la totalité du projet 7.Taux d’avancement par rapport aux prévisions initiales 8.Démonstration 9.Le suivi des risques 10.Les difficultés rencontrées 11.Ce que nous a apporté ce projet 12.Ce que nous prévoyons pour la suite du projet 13.Conclusion Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

1 - Présentation MP2P, QU’EST-CE QUE C’EST ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

L’équipe Trois étudiants en ING1 surmotivés : Julien DUBIEL Mathieu CORRE Francis VIS OIU MISTRIH Équipe homogène par leurs connaissances et par leur rôle dans le projet Équipe avide de connaissances techniques Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Le projet : MP2P, c’est… Un système de stockage redondant Un système de stockage avec transferts améliorés pour utiliser toute la bande passante du client Un protocole Un couple d’applications Client/Server Un système adapté pour de grosses infrastructures (hébergeurs – Datacenters…) Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Le projet : MP2P, ce n’est pas… Un site web Un front-end Un système sécurisé (Intégrité & disponibilité, mais pas encore confidentialité) Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Les motivations Découvrir par nous même de nouveaux outils de programmation non vus en cours Travailler en groupe dans un projet de longue durée Travailler sur un projet très intéressant et très instructif car choisi selon nos préférences techniques Gérer son propre planning et faire un suivi des risques et des difficultés Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

2 - Le périmètre projet initialement défini MP2P, QU’ÉTAIT-IL INITIALEMENT PRÉVU ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Rappel du périmètre Notre projet se limitait aux éléments suivants : Upload d'un fichier sans perte de données Download d'un fichier sans perte de données Download d'un fichier avec une augmentation de vitesse Upload d'un fichier avec réplication de X parties sur Y serveurs différents Suppression d'un fichier sans laisser de mémoire occupée inutilement Possibilité d'ajouter autant de serveurs que souhaité Gestion des mises à jour Gestion d'une configuration à l'aide d'un fichier Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

3 - Les détails techniques MP2P, COMMENT ÇA MARCHE ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

MP2P, comment ça marche ? Upload vers l’infrastructure MP2P Download depuis l’infrastructure MP2P Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Détails techniques et technologies utilisées Les outils utilisés: Utilisation du langage C++ Utilisation de la bibliothèque boost::asio Utilisation d’une base de données avec réplication : Couchbase Utilisation d’un build system : CMake Utilisation d’un outil d’intégration continue : TeamCity Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Structure logique des éléments du projet

Données à conserver en BDD Nous avons défini que les données suivantes sont à conserver : Storage_sizes (correspondance file_size -> nb_parts) Storage (ID, addr, port, available_space) File (ID, part[] parts, hash, redundancy, size) Part (ID, hash, size, storage[] locations) Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Suivi du bon fonctionnement du projet Utilisation d’un outil d’intégration continue : TeamCity Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

4 - La plateforme technique QUELLE PLATEFORME UTILISONS-NOUS ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

La plateforme technique Pour réaliser nos tests, nous avons utilisé : Runabove (PAAS) pour héberger nos bases de données en réplication Des Raspberry pi déjà en notre possession pour effectuer des tests de transferts Un nom de domaine déjà en notre possession pour simplifier l’accès aux serveurs. Un Kimsufi (serveur dédié) déjà en notre possession pour héberger Teamcity Seul l’hébergement Runabove aura impliqué des coûts supplémentaires non prévus. (2 * 2,88€/mois par instance sur 3 mois, - 10€ offerts, soit 7,28€ de coûts supplémentaires) Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

5 - Les résultats obtenus QU’AVONS-NOUS ACCOMPLI ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Résultats obtenus Parmi les éléments attendus du périmètre, voici ceux atteints : Upload d'un fichier sans perte de données Download d'un fichier sans perte de données Download d'un fichier avec une augmentation de vitesse Upload d'un fichier avec réplication de X parties sur Y serveurs différents Suppression d'un fichier sans laisser de mémoire occupée inutilement Possibilité d'ajouter autant de serveurs que souhaité Gestion des mises à jour Gestion d'une configuration à l'aide d'un fichier Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

6 - Résumé du travail réalisé durant la totalité du projet QUEL TRAVAIL AVONS-NOUS FOURNI ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Travail réalisé de manière globale Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH Les développements réalisés : Bibliothèque contenant les fonctionnalités suivantes : Transferts réseau multi-threadés (boost.asio) Traitement des fichiers Un logger Développement d’une application « Master » Développement d’une application « Storage » Développement d’une application « Client » Mise en place et utilisation d’un système de bases de données avec réplication : Couchbase

Travail réalisé en détails Mise en place d’un « build system » Créer la bibliothèque d’outils Définir le protocole Division, envoi multi-threadé, reconstitution et écriture d’un fichier (à optimiser) Vérifications du hash d’un fichier avec SHA-1 Lecture d’un fichier de configuration (format JSON) Créer la base de données Mettre en place une base de données Couchbase avec réplication (redondance X) Faire un wrapper au dessus de l’interface pour simplifier les échanges avec le reste du code en cours Créer l’application Serveur Lier la bibliothèque avec serveur Faire l’interface entre le C++ et la base de données Développement de l’application en cours… Créer l’application Client Lier la bibliothèque avec client Développement de l’application en cours… Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

7 - Taux d’avancement par rapport aux prévisions initiales OÙ EN SOMMES-NOUS ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Avancée du projet par rapport au planning Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

8 - Démonstration READY ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

9 – Le suivi des risques READY ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Les risques envisagés Glissement du planning Gestion des erreurs complexe Dépendance bloquante Robustesse de la plateforme Plateforme de test insuffisamment grande pour les tests Coûts directs et indirects liés au projet trop élevés Protocole inadapté Désintéressement personnel d’un ou de plusieurs membres du groupe Désertion d’un des membres du groupe pour cause personnelle Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH Le suivi des risques

Les risques rencontrés Glissement du planning à partir du 22/05/15 – toujours en cours Dépendance bloquante à partir du 21/04/15 – résolu Installation de la base de données sur Archlinux problématique -> Résolution : Installation sur des VMs Ubuntu Robustesse de la plateforme à partir du 30/04/15 – résolu Les 3 Raspberry Pi à notre disposition sont insuffisamment puissant pour Couchbase -> Résolution : Installation sur des VMs Ubuntu Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

10 – Les difficultés rencontrées QU’EST-CE QUI NOUS A POSÉ PROBLÈME LORS DU DÉVELOPPEMENT ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Difficultés rencontrées et résolues Modification du planning La prise en main de boost::asio pour tout ce qui est réseau. Le transfert d’un fichier en plusieurs parties avec reconstitution. La mise en place de la BDD Couchbase. La plateforme de test insuffisante. Séparation de la base de données et du Master. Avoir un protocole valide est plus compliqué que prévu. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

11 – Ce que nous a apporté ce projet QU’EST-CE QUE NOUS A APPORTÉ CE PROJET ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Ce que nous avons appris… …du côté technique Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH Conception d’une application scalable. Conception d’un protocole applicatif au dessus de TCP. Des concepts avancés de c++ : threads intégrés dans des objets le modèle producteur/consommateur, la gestion des accès concurrents aux données. L’utilisation de boost::asio : Serveur multi-threadé écoutant sur le même port Réception asynchrone des données Cross-compiling Mise en place d’un cluster Couchbase avec réplication (BDD) Gestion de l’intégration continue

Ce que nous avons appris… …du côté gestion de projet Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH Dès qu'un problème émerge, il est important de discuter avec tous les membres du groupe concernés, afin de le résoudre rapidement et d'un commun accord. Il faut se réunir fréquemment pour définir la répartition des tâches afin de ne pas effectuer de travail redondant. Réfléchir techniquement au projet avant de planifier les grandes parties. Gérer des risques et des difficultés, en les prévoyant et en se concertant pour les résoudre. Gérer un planning et l’utiliser le plus fréquemment possible pour éviter les retards.

12 – Ce que nous prévoyons pour la suite du projet QUELS CHANGEMENTS ET ÉVOLUTIONS PRÉVOYONS- NOUS ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Prévisions pour la suite du projet Coroutines Sécurité (SSL, VPN) Compression (transfert, stockage) Gestion d’utilisateurs DHT Automatisation des tests fonctionnels en intégration continue Google Protocol Buffers Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

13 - Conclusion Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Conclusion Un projet qui nous a permis d’apprendre, mettre en place et maintenir des outils que nous n’aurions pas vu dans le cursus EPITA classique. Un sujet passionnant pour nous trois à réaliser sur une longue période qui nous a permis d’apprendre à nous autogérer, à la fois sur la partie gestion de projet et sur la partie technique, et plus précisément sur les décisions techniques. Un projet qui nous a tenu a cœur, et dont la réalisation fut gratifiante Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH

Des questions ? DES REMARQUES ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH