les content delivery network (cdn)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie...

28
Université de Marne-la-Vallée 49/76 Laurent Wargon 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

Upload: others

Post on 23-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 2: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 3: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 51/76 Laurent Wargon

Les Content Delivery Network (CDN)

Page 4: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 5: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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/

Page 6: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 54/76 Laurent Wargon

Adresse anycast (RFC 4786)

Adresse IP Unicast Adresse IP Anycast

Page 7: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 8: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 56/76 Laurent Wargon

CDN : Métrique temps d'accès

Page 9: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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)

Page 10: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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)

Page 11: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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/

Page 12: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 13: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 14: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 62/76 Laurent Wargon

réseau pair-à-pair

Page 15: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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)

Page 16: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 17: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 65/76 Laurent Wargon

Des exemples d'architecture

Page 18: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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/

Page 19: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 20: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 68/76 Laurent Wargon

Architecture type Facebook

Page 21: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 22: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 23: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 71/76 Laurent Wargon

Sport 24

Page 24: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 72/76 Laurent Wargon

Sport 24

Page 25: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 73/76 Laurent Wargon

01 Informatique

Page 26: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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

Page 27: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

Universitéde Marne-la-Vallée 75/76 Laurent Wargon

Des questions ?

Page 28: Les Content Delivery Network (CDN)blog.wargon.org/wp-content/uploads/cours/2014-2015/... · renvoie une adresse unicast d'un serveur HTTP ... Distribution HTTP (Source) : nginx Accélération

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