p2pWeb Une boite à outils pour construire un réseau coopératif d’hébergement de site Web –Réseau coopératif réseau physique de nœuds sur l ’Internet réseau humain (aspect coopératif et communautaire) –Hébergement de sites web offrir une alternative aux solutions traditionnelles d’hébergement favoriser les échanges inter communautaires Le Projet
p2pWeb Les technologies clefs Démocratisation de l ’ADSL –chacun peut héberger un serveur Peer to Peer –une « re-démocratisation de l ’Internet » –le pouvoir aux utilisateurs Open Source –toutes les briques sont déjà là
p2pWeb Hébergement gratuit –de moins en moins (ou alors pollué par la pub) –très bridé (par ex free) Hébergement mutualisé –prix « raisonnable » –pas de maîtrise de l’environnement (pas d ’accès root) Hébergement dédié, colocation –Très coûteux (au minimum 100€ a 200€ / mois) Hébergement traditionnel
p2pWeb Hébergement traditionnel –Point de défaillance unique (Single point of failure) –Bande passante limitée
p2pWeb Architecture p2pweb.net –Architecture répartie –Agrégation de bande passante
p2pWeb Architecture (suite) Contenus servis majoritairement par les serveurs miroirs –distribution de la charge (round robin) –effet multiplicatif sur la bande passante Les Serveurs Web primaires (CMS) utilisés comme back-office –bande passante moins importante –charge moins importante
p2pWeb Architecture (suite) Résilience –si un des serveurs tombe, il n’est plus annoncé Importance cruciale de la supervision –supervision applicative (requête http) –mise à jours dynamique des DNS –de façon indépendante sur chaque DNS
p2pWeb Les Outils DNS + supervision –chaque DNS est autonome (ils sont tous primaires) –supervision des serveurs par Nagios –en cas de changement d’état d’un serveur (up ou down), un handler met dynamiquement à jours le DNS –temps de réaction / propagation : 5 à 10 mn
p2pWeb Les Outils (suite) Serveur Web primaire –Possibilité d’utiliser des outils de Portail ezpublish, spip, jahia –Export en statique des pages –Redirection vers le serveur maître pour les partie dynamiques –éventuellement séparer les fonctions exemple : mettre les forums sur un autre serveur (qui lui ne sera pas mirroré)
p2pWeb Hébergées en majorité chez des particuliers disposant d’un accès ADSL –contraintes : 256 Kb/s en upload Adresse ip fixe Serveurs –Barebones (coût entre 350€ et 400€) –Sous *BSD ou Linux Les machines
p2pWeb Architecture type CDN un serveur primaire un ensemble de caches
p2pWeb Architecture type CDN un serveur primaire un ensemble de caches => le serveur primaire est un single point of failure (SPOF)
p2pWeb Architecture type miroirs un serveur primaire –pour les contenus dynamiques un ensemble de miroirs –pour les contenus statiques
p2pWeb Architecture type miroirs un serveur primaire –pour les contenus dynamiques un ensemble de miroirs –pour les contenus statiques => le serveur primaire est un SPOF pour les contenus dynamiques
p2pWeb Architecture totalement distribuée plusieurs serveurs primaires –synchronisation des contenus entre ces serveurs
p2pWeb Architecture totalement distribuée plusieurs serveurs primaires –synchronisation des contenus entre ces serveurs => plus de SPOF Mais pas d’implémentation pour le moment
p2pWeb Statut Test en vraie grandeur avec le site -site mixant des contenus dynamique (CMS ezpublish) et statique -site multilangue (Français / Anglais) -volumétrie importante (~ fichiers, plus de 500 Mo) -bonne fréquentation (12000 visiteurs unique / mois)
p2pWeb Statut (suite) Une première version été 2003 –Un seul site maître –Utilisation de plusieurs caches (squid) en reverse proxy A permis de valider le fonctionnement DNS + monitoring Single point of failure au niveau du site maître
p2pWeb Statut (suite) Une infrastructure DNS en place Redéploiement de serveurs miroirs en cour –Automatisation des mise à jours Gestion de la réplication sur un nombre de fichier très importants (~ fichiers) –Projet crée sur SourceForge Suivi de performances en participant au projet webperf.org
p2pWeb Les évolutions Augmenter le nombre de nœuds –si possible à l’international Utiliser des DNS « intelligents » –rediriger les connections vers les miroirs les plus proches (au sens réseau) –Un outil existe : netairt voir : redirection DNS en fonction d’une métrique réseau (AS-PATH BGP)
p2pWeb Les évolutions (suite) Mise en œuvre de caches, avec construction dynamique des pages au niveau des caches –Utilisation d’Edge Side Includes (ESI) voir sera supporté dans la version 3 de squid Synchronisation de contenus entre portails –Séparation front-office / back-office –utilisation de technologies p2p : JXTA ? –Utilisation de la JSR170 ?