Les Content Delivery Network (CDN) Paris Californie : + 45 ms Paris Sidney : + 85 ms Amazon : 100 ms de temps de chargement supplémentaires 1% de ventes en moins Poids moyen des pages d'accueil : 2000 : moins de 100 Ko 2012 : 1 à 4 Mo Page médiane en 2012 :77 requêtes et 6,5s http://www.cdn-tech.com/img/pdf/cdn-tech-ecritel-livreblanc-2012.pdf 49/76
Les Content Delivery Network (CDN) Fabriquer des noeuds où les contenus statiques sont répliqués au plus proche de l'internaute Pour faire un CDN, il faut : Serveurs d'origine Nœuds où les contenus sont répliqués Un mécanisme de routage 50/76
Les Content Delivery Network (CDN) 51/76
Les métriques des CDN Géographique GeoDNS Réseau DNS Anycast Calculée en temps réel utilisation de plusieurs CDN 52/76
CDN : Métrique géographique GeoDNS Base de données géographique des adresses IP (produits de la société maxmind : GeoIP) Configuration particulière du DNS Faible coût http://phix.me/geodns/ 53/76
Adresse anycast (RFC 4786) Adresse IP Unicast Adresse IP Anycast 54/76
CDN : Métrique réseau Le DNS possède une adresse anycast et renvoie une adresse unicast d'un serveur HTTP proche. Le DNS possède une adresse [uni any]cast et renvoie une adresse anycast de serveur HTTP qui répond par un redirect HTTP vers un serveur unicast proche. http://vincent.bernat.im/fr/blog/2011-dns-anycast.html 55/76
CDN : Métrique temps d'accès 56/76
CDN : Métrique temps d'accès Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs web livrent des pages qui contiennent des sondes pour faire des mesures sur les Cloud et CDN Utilisation de mesures temps réel (cdntech.com) 57/76
CDN : Métrique temps d'accès http://www.cedexis.com/fr/radar/methodology.html 1) Temps de connexion http = temps de résolution dns + temps de connexion tcp (petit objet) 2) Temps de réponse http = utilise la connexion tcp ouverte par la première mesure (petit objet) 3) Débit HTTP = utilise la connexion tcp déjà ouverte (gros objet) 58/76
CDN : Métrique temps d'accès l'url de la ressource est : cdn.mon_domaine.org c'est un CNAME vers 789456.cedexis.com Suivant les mesures collectées, ce nom de domaine sera : soit un CNAME vers 132456.akamay.com ou soit un CNAME vers 456963.cdn77.net Le TTL est paramétrable (20s) https://andrecheung.wordpress.com/2013/06/17/cdn-load-balancing-by-cedexis-openmix/ 59/76
CDN : Métrique temps d'accès Netflix (30 % du trafic descendant aux US) Utilisation de plusieurs CDN (Akamai, LimeLight et Level-3) Changement de CDN si débit < 100Kbps groupe de travail CDN Interconnexion (cdni) de l'ietf plusieurs RFC 60/76
réseau pair-à-pair Chaque client est aussi un serveur Fichiers, Flux (streaming), calcul réparti, service (téléphonie, bureau distant ) Architectures pour l'annuaire centralisées décentralisées structurées : recherche logarithmique décentralisées : recherche exponentielle 61/76
réseau pair-à-pair 62/76
WebRTC Web Real-Time Communication Communications temps réel entre navigateurs : voix sur IP, visioconférence, pair-à-pair API javascript et HTML5 58 % des navigateurs projet porté par Google, Mozilla and Opera Depuis 2011 : API (W3C), protocole (IETF) 63/76
CDN pair à pair PeerCDN (béta) Réduction de bande passante Javascript Plus de visiteurs plus d'hébergeur Utilisation de WebRTC Fonctionne avec les autres CDN Sécurisé, Fiable 64/76
Des exemples d'architecture 65/76
Une configuration CDN Plateforme HTTP : serveur PXE, syslog, déploiement, monitoring,... Distribution HTTP (Source) : nginx Accélération HTTP (Edge) : cartes 10Gbps, disques SSD, XFS, RAID0, nginx, syslog distant et centralisé (réduction des I/O locales et gestion des statistiques) http://francois.aichelbaum.com/creer-un-caching-http-facon-cdn/ 66/76
Une configuration CDN Edge Source User Load Balencer Edge Origin Edge Origin Source Edge http://francois.aichelbaum.com/creer-un-caching-http-facon-cdn/ 67/76
Architecture type Facebook 68/76
Sport 24 CMS ez Publish contexte de session en base de données pas d'affinité de serveurs media conservé en base de données agrégation coté client avec du javascript match en temps réel sont rechargés par javascript sans recharger la page coté serveur SSI Server Side Include d'apache 69/76
Sport 24 cache squid en frontal (2 000 pages/seconde) génération de pages statiques : création des articles dans le back-office script de génération des pages statiques diffusion vers les frontaux NFS ou RSync 70/76
Sport 24 71/76
Sport 24 72/76
01 Informatique 73/76
Source Wikipedia Livre Blanc Plateformes web Hautes Performances Principes d'architecture et outils open source Société Smile 74/76
Des questions? 75/76
Montée en charge Publication de l'annonce de l'iphone5 sur le blog gdgt Peak Traffic Approximately 90K concurrent visitors Hits par minutes 500K 59 Web Server 5 load balencers Proposer une architecture 0K 11h 76/76 12h 13h 12 septembre 2012 14h