Universitéde Marne-la-Vallée 49/76 Laurent Wargon
Les Content Delivery Network (CDN)
● Paris – Californie : + 45 msParis – 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
Universitéde Marne-la-Vallée 50/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 51/76 Laurent Wargon
Les Content Delivery Network (CDN)
Universitéde Marne-la-Vallée 52/76 Laurent Wargon
Les métriques des CDN
● Géographique → GeoDNS● Réseau → DNS Anycast● Calculée en temps réel →
utilisation de plusieurs CDN
Universitéde Marne-la-Vallée 53/76 Laurent Wargon
CDN : Métrique géographique GeoDNS
● Base de données géographiquedes adresses IP (produits de la société maxmind : GeoIP)
● Configuration particulière du DNS● Faible coût● http://phix.me/geodns/
Universitéde Marne-la-Vallée 54/76 Laurent Wargon
Adresse anycast (RFC 4786)
Adresse IP Unicast Adresse IP Anycast
Universitéde Marne-la-Vallée 55/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 56/76 Laurent Wargon
CDN : Métrique temps d'accès
Universitéde Marne-la-Vallée 57/76 Laurent Wargon
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 (cdn-tech.com)
Universitéde Marne-la-Vallée 58/76 Laurent Wargon
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)
Universitéde Marne-la-Vallée 59/76 Laurent Wargon
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/
Universitéde Marne-la-Vallée 60/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 61/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 62/76 Laurent Wargon
réseau pair-à-pair
Universitéde Marne-la-Vallée 63/76 Laurent Wargon
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)
Universitéde Marne-la-Vallée 64/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 65/76 Laurent Wargon
Des exemples d'architecture
Universitéde Marne-la-Vallée 66/76 Laurent Wargon
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/
Universitéde Marne-la-Vallée 67/76 Laurent Wargon
Une configuration CDN
http://francois.aichelbaum.com/creer-un-caching-http-facon-cdn/
User
Edge
Source
LoadBalencer
Edge
Edge
Edge
Source
Origin
Origin
Universitéde Marne-la-Vallée 68/76 Laurent Wargon
Architecture type Facebook
Universitéde Marne-la-Vallée 69/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 70/76 Laurent Wargon
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
Universitéde Marne-la-Vallée 71/76 Laurent Wargon
Sport 24
Universitéde Marne-la-Vallée 72/76 Laurent Wargon
Sport 24
Universitéde Marne-la-Vallée 73/76 Laurent Wargon
01 Informatique
Universitéde Marne-la-Vallée 74/76 Laurent Wargon
Source
● Wikipedia● Livre Blanc
Plateformes web Hautes PerformancesPrincipes d'architecture et outils open sourceSociété Smile
Universitéde Marne-la-Vallée 75/76 Laurent Wargon
Des questions ?
Universitéde Marne-la-Vallée 76/76 Laurent Wargon
Montée en charge
Hits par minutes
11h 12h 13h 14h12 septembre 2012
500K
0K
Peak Traffic – Approximately 90K concurrent visitorsPublication de l'annonce de l'iphone5 sur le blog gdgt
59 Web Server5 load balencers
Proposer unearchitecture