71
Université de Marne-la-Vallée 1/71 Laurent Wargon Cloud computing 2012-13 Laurent Wargon [email protected]

Laurent Wargon [email protected]/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Cloud computing2012-13

Laurent Wargon

[email protected]

Page 2: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Architectures pour le Cloud

Page 3: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Architectures pour le Cloud

● Introduction● Les traitements● Les stockages de données● Les caches● Des exemples

Page 4: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Introduction

Page 5: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 5/71 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 blogwww.engadget.com

59 serveurs Web

Hits max = 20 x Hits initial

Page 6: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

La demande fonctionnelle

● Capacité d'accueil → inclue les pointes de trafic● Haute disponibilité → tolérance aux pannes● Temps de réponse → en lien avec l'architecture● Qualité de service → de façon globale● Exploitabilité → supervision & maintenance● Évolutivité → plan fonctionnels & techniques● Extensibilité → dans de bonnes conditions

Page 7: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Comment faire ?

● la capacité des serveurs est limitée :– Gandi : 16 cœurs, 24Go RAM, 8 x 1To Disque– pas de Scale-UP chez Amazon

● Concevoir en même temps

l'application,

l'architecture et

la maintenance● Augmenter la capacité d'accueil en

augmentant le nombre de serveurs

Page 8: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Capacité d'accueil en fonction du nombre de serveurs

Page 9: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les traitements

Page 10: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Objectif : élasticité

Scalabilité : capacité d'une architecture à croître sans rupture, en ajoutant du matériel● Extensibilité cellulaire (Scale Up)

→ augmenter la puissance du serveur● Extensibilité fonctionnelle (verticale)

→ répartition des fonctions par serveurs ● Extensibilité horizontale (Scale Out)

→ répartition de fonctions identiques sur différents serveurs homologues

Page 11: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Contraintes de la solution

1.Répartir la charge de façon équilibrée

2.Résister aux pannes

3.Spécialiser des serveurs

4.Faciliter l'exploitation

5.Répartition entre serveurs d'un même LAN ou entres des datacenters

6.Répartir les requêtes HTTP ou les sessions

Page 12: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Répartition de charge de niveau DNS

● DNS Round Robin (DNS RR){S1, S2, S3}, {S3, S1, S2}, {S2, S3, S1}

● pas de gestion de contexte- session non gérée par les frontaux

● pas de gestion des pannes- données erronées en cache DNS

● pas de mesures de charges serveurs- pas d'aiguillage en fonction des charges

Solution : répartir la charge au niveau TCP/IP

Page 13: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Configuration réseau

Schéma de principeidentique pour lesrépartitions desniveaux 4 et 7

Page 14: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Configuration réseau

Plusieurs Datacenter

Page 15: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Configuration réseau

Plusieurs DatacenterSingle Point of Failure

Page 16: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Tolérance de panne

Page 17: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Tolérance de panne

SPOF

Page 18: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Tolérance de panne

Page 19: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Load balancing en interne

Page 20: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Rappel sur les protocoles réseaux

● TCP : protocole de niveau 4– message TCP décomposé en paquets IP– TCP réémet les paquets perdus– TCP met de l'ordre à l'arrivée

● HTTP : protocole de niveau 5 sans état– Le besoin de gérer les sessions conduit à

construire la notion d'état au niveau applicatif

Page 21: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Répartition de charge de niveau 4

● Round-robin● Weighed round-robin● Least-connection● Weighed least-connection● Priority activation● IP source● Aléatoire● Objectif : 30% de charge par serveur

Page 22: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Répartition de charge de niveau 7

● Aiguillage suivant :– un cookie contient l'identification de session

Affinité de serveurs– l'URI (URL + paramètres)

Expression régulière Hachage

● Terminer la session SSL au niveau 4● Performances 1000 fois inférieurs / niveau 4

Page 23: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Gestion des sessions sans affinité de serveur

● Cookies– données conservées sur le navigateur

● Partage de contexte coté serveur– données conservées en base de données

● Partage de contexte en cache global– par exemple memcached, redis

Page 24: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Gestion des sessions

Session en cookie : - pas d'affinité de serveur,- un peu d'overhead réseau,- points de sécurité à traiter

Session en base :- pas d'affinité de serveur,- petit impact en perfs sur l'accès

Session en mémoire distribuée :- pas d'affinité de serveur, - bonnes performances

Session en mémoire :- requiert l'affinité de serveur,- rapide mais contraignant

Page 25: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Tolérance de panne

● Surveillance des équipements● Maintient de la priorité de la correction● Tester les équipements de remplacement● Optimiser le ratio

coût de la redondance / coût de la panne

Page 26: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Répartion de charge pour les traitements asynchrones

● MapReduce et Hadoop● Décomposition des tâches : map● Consolidation des résultats : reduce● Exemple : compter les occurrences d'un mot

dans un fichier● Autre exemple : création de l'index de Google

Page 27: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les stockages de données

Page 28: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les stockages de données

● Gestion ACID pour données critiques● Réplication pour les données en lecture seule● Consolidation des données en écriture seule● Partionnement associé à un datawarehouse

Page 29: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

La gestion données des critiques

● Transaction début – fin (commit - rollback)● Propriétés ACID

– Atomicité → une transaction en tout ou rien– Cohérence → respect des contraintes– Isolation → transactions simultanées– Durabilité → résistance aux pannes

● Pseudo transactionnel● Difficulté : combiner prop. ACID et élasticité

Page 30: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Le cluster

● Commit à deux phases

Coordinator

R1 R2

Discuter l'argumentaire de la page suivante :http://blog.developpez.com/sqlpro/p10387/langage-sql-norme/le_mythe_du_commit_a_deux_phases

Page 31: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Élasticité de la lecture

● M est une base Maître● E sont des bases Esclaves, en lecture seule

Page 32: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Élasticité de la lecture

● M est une base Maître● E sont des bases Esclaves en lecture seule● Réplication en cascade

Page 33: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Écriture d'un fichier de log

Page 34: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Partitionnement des données

● Une entité partitionnée est gérée par un unique serveur

● Les entités liées sont sur le même serveur● Certaines entités de référence peuvent être

répliquées sur différents serveurs● Quelle logique de répartition ?

– Segmentation définie→ déconseillé– Arbitraire → table d'allocation (entité, serveur)

Page 35: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Requêtes transverses

● Requêtes adressées en parallèle à tous les serveurs et consolider les réponses

● Création d'une base consolidée permanente(datawarehouse)– Ne concerne qu'une partie de

l'information– Gros volume / taux d'accès faible– Lieu naturel de la table d'allocation

Page 36: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Partitionnement par user

● L'application neconnaît pas lepartitionnement

Page 37: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Partitionnement par user

● L'application connaît lepartitionnement

Page 38: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les caches

Page 39: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Le cache

● Principes : recopier les données de la source dans une zone d'accès plus rapide : le cache

● Navigateur, proxy, reverse proxy● Compression des données● multiplier par 100 à 1 000 la capacité d'accueil● Deux modes

– Pull : le cache va chercher les données (passif)– Push : la source pousse les données (actif)

Page 40: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Cache en mode pull

Page 41: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Cache en mode pull

● time to live TTL : une durée de vie est attribuée aux données

● la durée de vie peut être :– illimitée– unique– spécifiée par le fournisseur

● fonctionnement Most Recently Used (MRU)● fonctionnement Most Frequently Used (MFU)

Page 42: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Le cache HTTP

● Distribution HTTP → Accélération HTTP● la durée de vie est attribuée par

le producteur dans l'entête HTTP● pages statiques, css, javascript● images, pdf● formats d'images intermédiaires● zoom d'images● résultats de recherche● fragments de page

Page 43: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Le cache HTTP par fragment

● Durée de vie attribuée au fragment

actualité rafraîchie tous les 1/4 d'heure

pied de page toutes les 24 heures● Norme Edge Side Incluce (ESI)

définie par un groupe d'entreprise (Akamai, Oracle, …) soumise au W3C

<esi:include src='HTTP://www.site.com/fragment01'/>

● agrégation coté client : iframes, javascript, Ajax,

Page 44: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Le cache HTTP par fragment

Page 45: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Cache en mode push

Page 46: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Cache de données

● données en RAM– 1 million de membres– 50 Ko de données par membre

● Memcached– cache distribué, objet 1o à 1Mo– correspondance clé-valeur– utilisé par Facebook :

800 serveurs, 28 To, 200 000 requête/s/serveur● Redis (GitHub, Groupon, Stack Overflow, ...)

50 Go RAM

Page 47: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les Content Delivery Network (CDN)

● Paris – Californie : + 45 msParis – Sidney : + 85 ms

● Amazon a estimé que 100 millisecondes de temps de chargement supplémentaires entraînent 1% de ventes en moins

● Fabriquer des noeuds où les contenus statiques sont répliqués au plus proche de l'internaute

Page 48: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les Content Delivery Network (CDN)

Page 49: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Les métriques des CDN

● Géographique → GeoDNS● Réseau → DNS Anycast● Calculée en temps réel● Pair à pair

Page 50: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 50/71 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

Page 51: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Adresse anycast

Adresse IP Unicast Adresse IP Anycast

Page 52: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

CDN : Métrique réseau

● Le DNS possède une adresse anycast et renvoie unicast d'un serveur HTTP proche

● Le DNS possède une adresse quelconque et renvoie une adresse anycast de serveur HTTP qui répond par un redirect HTTP vers un serveur unicast proche pour les fichiers de taille imporante.

Page 53: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Système à CDN Multiples

● 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 54: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Évaluer les temps de réponse

www.cedexis.com/fr/radar/speedtest.html#cdn

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 55: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Système à CDN Multiples

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)

Page 56: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Système à CDN Multiples

● Netflix (30 % du trafic descendant aux US) : changement de CDN si débit < 100Kbps

● Utilisation de plusieurs CDN en simultané pour le streaming vidéo

● groupe de travail CDN Interconnection de l'IETF → plusieurs RFC

Page 57: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Système pair-à-pair

● Chaque client est aussi un serveur● Fichiers, Flux (streaming), calcul réparti, service

(téléphonie, bureau distant, …) …● Élasticité● Architectures

centralisée

décentralisée : recherche exponentielle

décentralisée structuré : recherche logarithmique

Page 58: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 58/71 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 59: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 59/71 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 60: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Des exemples

Page 61: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 61/71 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 62: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 62/71 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 63: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Architecture type Facebook

Page 64: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 64/71 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 65: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 65/71 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 66: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Sport 24

Page 67: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Sport 24

Page 68: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

01 Informatique

Page 69: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Source

● Livre BlancPlateformes web Hautes PerformancesPrincipes d'architecture et outils open sourceSociété Smile

Page 70: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

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

Des questions ?

Page 71: Laurent Wargon laurent@wargonblog.wargon.org/wp-content/uploads/cours/2013-2014/... · Base de données Cedexis : collecte de données (1,3 milliard de mesures / jour) des éditeurs

Universitéde Marne-la-Vallée 71/71 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