Protocole & Système de stockage distribué MP2P Protocole & Système de stockage distribué Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Table des matières Introduction Détails techniques et technologies utilisées L’équipe Intérêt personnel & Motivations Méthode de travail Estimation de la charge de travail Risques Acceptation Exclusions Demandes d ’équivalences Conclusion Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Introduction MP2P, qu’est-ce que c’est ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Introduction - 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
Introduction - MP2P, ce n’est pas… Un site web Un front-end Un système sécurisé (pas encore…) Un système pour le commun des mortels Une nouvelle extension de fichier MS Project Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées MP2P, comment ça marche ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Les outils et applications : Développement d’une bibliothèque C++ pour le réseau et le traitement des fichiers (boost.asio) Développement d’une application serveur (Master & Storage) en C++ Développement d’une application client en C++ Mise en place d’un système de bases de données en réplication Master-Master : Couchbase Utilisation d’un build system : CMake Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Le déroulement du développement se fait en deux étapes, voici la première : Créer la bibliothèque Mettre en place les bases de données Développement de l’application Serveur et Client en parallèle Utilisation d’un connecteur pour communications entre C++ et les Bases de données Création d’une interface en console Gestion des fichiers de configuration Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Le déroulement du développement se fait en deux étapes, voici la deuxième : Mise en place d’une redondance matérielle et logicielle Test des transferts simultanés en conditions réelles Gestion des mises à jour Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Tout au long du processus de développement nous procéderons à des tests unitaires et fonctionnels sur l’ensemble des fonctionnalités. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Tableau de partitionnement des fichiers & taille nécessaire en base de données Exemple : Avec 500GB de base de données, on peut stocker jusqu’à 8 ExaBytes, soit 8 milliards de GigaBytes. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Logigramme de l’upload d’un fichier : Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Logigramme du téléchargement d’un fichier : Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Détails techniques et technologies utilisées Logigramme de la suppression d’un fichier : Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Comment vas-t-on arriver à nos fins ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Trois étudiants d’ING1 passionnés de technique Tous les trois dans les 50 premiers en programmation au S1 Ayant déjà travaillé ensemble Grande motivation sur le sujet Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Julien, ses atouts : Chef de projet en INFOSUP & INFOSPE Expérience sur un gros projet personnel : « EpiPortal », en tant que fondateur Vision innovante Aime le travail bien fait Travailleur Julien, ses défauts : Fait trop de tâches en même temps Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Mathieu, ses atouts : Des connaissances techniques poussées Expérience en projet de S4 : « HSFTP » Assidu Vision innovante Travailleur Mathieu, ses défauts : Perds tu temps car trop minutieux Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Francis, ses atouts : Des connaissances techniques poussées Expérience sur un gros projet personnel : « EpiPortal », en tant que développeur Perfectionniste Vision innovante Travailleur Francis, ses défauts : Perds tu temps à refaire ce qui existe déjà Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
L’équipe Les forces de l’équipe : Cohésion Bonne entente Se connaissant bien Compétences complémentaires Les faiblesses de l’équipe : Tendance à rentrer trop dans les détails Tendance à trop s’éparpiller Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Intérêt personnel & Motivations Pourquoi MP2P ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Intérêt personnel & Motivations Nous avons choisi de faire MP2P car … Nous voulons travailler sur un sujet qui nous intéresse Nous voulons travailler sur un sujet en lien avec les dernières technologies Nous voulons travailler sur un sujet qui peut déboucher sur une création d'entreprise Nous voulons appliquer les connaissances acquises au S1 (C++) Nous voulons approfondir les connaissances acquises au S1. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Méthode de travail Comment s’organise-t-on ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Méthode de travail Pour ce projet nous avons retenu une méthode en cascade. En effet cette méthode est particulièrement adaptée pour notre projet car elle se réalise en plusieurs étapes : Spécification des exigences Design de l’architecture de l’application Implémentation de l’application Intégration sur les serveurs Tests unitaires et fonctionnels continus Installation Maintenance Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Estimation de la charge de travail Combien d’heures prévoyons-nous ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Estimation de la charge de travail Après estimation via Microsoft Project, nous prévoyons 300 heures de travail au total. Réparti sur 3 personnes, cela équivaut à 100h/personne en 18 semaines, soit 5 à 6 h/personne/semaine. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Estimation de la charge de travail Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Estimation de la charge de travail Nous prévoyons 1/3 du temps chacune de ces parties : Spécifications Développement Tests Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Estimation de la charge de travail Les points clés du projet sont : Lancement après GO le 17/02/2015 Partiels du 30/03/2015 au 04/04/2015 Bibliothèque fonctionnelle le 11/04/2015 Application Master fonctionnelle le 18/05/2015 Application Client fonctionnelle le 16/05/2015 (développement en parallèle avec l’application Master) Intégration code Storage à l’application Master le 18/05/2015 Partiels du 22/06/2015 au 27/06/2015 Déploiement le 30/06/2015 Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Risques Quels sont les risques ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Risques Glissement du planning Gestion des erreurs pas suffisante/trop compliquée Rencontre de problématiques bloquantes (réplication/stockage distribué/bdd) Problème de robustesse de la plateforme de test Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Acceptation Quels sont les critères d’acceptation ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Acceptation 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 en 3 parties sur 3 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
Exclusions Qu’exclus-t-on ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Exclusions Une interface graphique (front-end) Des fonctionnalités avancées de sécurisation Une gestion d’utilisateurs Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Demandes d’équivalence Que demandons-nous ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Demandes d’équivalence Julien & Francis : C++ avancé, Projet Base de données & My Photoshop Mathieu : Programmation parallèle, Projet Bases de données & My Photoshop Ces demandes se justifient par : L’utilisation de C++ L’utilisation poussée de bases de données Le développement de fonctionnalités en programmation parallèle La nécessité de dégager du temps Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Conclusion Un projet Innovant & sérieux. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Conclusion Ce projet vous l’aurez bien compris porte sur une idée innovante, et c’est pourquoi nous aimerions pouvoir travailler dessus. Il nous apportera à tous de nombreuses connaissances techniques, mais nous permettra aussi d’évoluer sur un projet personnel de façon plus professionnelle car limité dans le temps, et possédant des critères d’acceptation bien définis. C’est pourquoi nous vous demandons ne nous accompagner sur celui-ci. Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH
Des questions ? Des remarques ? Julien DUBIEL – Mathieu CORRE – Francis VISOIU MISTRIH