opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... ·...

65
Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines virtuelles Allocations dynamiques des ressources : RAM, CPU, Disques, Bande Passante Installation, sauvegarde, déplacement à chaud Répartition des machines virtuelles (VM) sur les machines physiques pour optimiser les charges systèmes et la consommation d’énergie Sécurité, environnement de test Livraison d'applicatif (appliance virtuelle)

Upload: others

Post on 13-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Opérations sur les machines virtuelles

● Allocations dynamiques des ressources :RAM, CPU, Disques, Bande Passante

● Installation, sauvegarde, déplacement à chaud● Répartition des machines virtuelles (VM) sur les

machines physiques pour optimiser les charges systèmes et la consommation d’énergie

● Sécurité, environnement de test● Livraison d'applicatif (appliance virtuelle)

Page 2: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Virtualisation

Société Produit

VMWare VMWare ESX

Citrix System Xen

Microsoft Microsoft Hyper-V

Contributeurs KVM

Oracle Virtualbox

Page 3: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Webservices

● Échange de données entre applications et systèmes hétérogènes

● Exemple– XML-RPC (XML - Remote Procedure Call) – SOAP (Simple Object Access Protocol)– REST (REpresentational State Transfer)

Page 4: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Webservices

RessourcesCPURAM

DisquesBande-passante

Nouvelle MachineHumain

Navigateur

MachineScript

Webservices

Cas de pilotage des machines virtuelles

Page 5: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

L'automatisme

Écrire un pseudo code d'allocation des ressources qui respecte les caractéristiques du NIST

Page 6: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Architectures pour le Cloud

Page 7: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Architectures pour le Cloud

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

Page 8: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Introduction

Page 9: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 5/83 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 10: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 6/83 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 11: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Comment faire ?

● la capacité des serveurs est limitée :– Gandi : 16 cœurs, 24Go RAM, 8 x 2To 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 12: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Capacité d'accueil en fonction du nombre de serveurs

Page 13: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Les traitements

Page 14: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 10/83 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 15: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité cellulaire

Page 16: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité cellulaire

Page 17: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité fonctionnelle

Application Web

Page 18: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité fonctionnelle

Serveur Web Base de données

Page 19: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité fonctionnelle

Accélérateur Web Base de donnéesServeur Web

Page 20: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité horizontale

AccélérateurWeb

Base de données

ApplicationWeb

Base de données

ServeurWeb

ServeurWeb

AccélérateurWeb

ApplicationWeb

Page 21: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité horizontale

AccélérateurWeb

Base de données

Accès aux données

Base de données

ApplicationWeb

ApplicationWeb

AccélérateurWeb

ApplicationWeb

Load balencer

Page 22: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Objectif : élasticité

● Extensibilité horizontale

AccélérateurWeb

Base de données

Accès aux données

Base de données

ApplicationWeb

ApplicationWeb

AccélérateurWeb

ApplicationWeb

Load balencerLoad balencer

Accès aux données

Page 23: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 19/83 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 entre des datacenters

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

Page 24: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Rappel sur les protocoles réseaux

● TCP : protocole de niveau 4– TCP possède des numéros de séquence

● 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 25: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Où sont ces sessions http ?

● Coté client

Cookie : dans le navigateur du client

Dans la page HTML● Coté serveur

Sur le serveur dans un fichier

Dans un système de gestion de mémoire cache

Dans la base de données● Sur le réseau : http ou https, visible ou pas

Page 26: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Échanger l'ID de session

● Avec la méthode GET, dans l'url : http://www.example.com/shoppingCart?sessionid=37af3ee56785acd

● Avec la méthode POST, dans un formulaire en tant que champ caché : <input type="hidden" name="sessionid" value="37af3ee56785acd">

● En utilisant un cookie (RFC 2109)dans le header HTTPhttp://igm.univ-mlv.fr/~chilowi/teaching/subjects/java/net/web/http.htmlhttp://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/

Page 27: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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 28: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Répartition de charge de niveau 7

● Affinité de serveurs

cookie sur serveur

répartition par URI (URL + param)expression régulière / Hachage

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

Page 29: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Répartition de charge de niveau 7

AccélérateurWeb

Base de données

Accès aux données

Base de données

ApplicationWeb

ApplicationWeb

AccélérateurWeb

ApplicationWeb

Loadbalencer

Loadbalencer

Fin de session SSL Fin de session SSL

Loadbalencer

Loadbalencer

Accès aux données

Page 30: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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 31: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Configuration réseau

Plusieurs Datacenter

Page 32: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Tolérance de panne

Page 33: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Tolérance de panne

SPOF

Page 34: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Tolérance de panne

Page 35: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Load balancing en interne

Page 36: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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→ sessions non gérées 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

Utilisé sur différents réseaux et prestataires

Page 37: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 33/83 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 38: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 34/83 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 39: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Les stockages de données

Page 40: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 36/83 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● Partitionnement associé à un datawarehouse

Page 41: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

La gestion des 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 42: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 38/83 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 43: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Élasticité de la lecture

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

Page 44: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 40/83 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 45: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Écriture d'un fichier de log

Page 46: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 42/83 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ée– Arbitraire → table d'allocation (entité, serveur)

Page 47: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 43/83 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 48: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Répartition Load Balencer

l'application neconnaît pas lepartitionnement

Page 49: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Répartition frontaux web

l'application connaît lepartitionnement

Page 50: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

NoSQL

● Not only SQL● Lecture fréquente / écriture non fréquente ● Performance en lecture● Répartition de charge● Peu coûteux● Pas de propriétés ACID● BigTable (google), Dynamo (Amazon), Hbase

(Facebook), MongoDB (SourceForge), Redis

Page 51: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Les caches

Page 52: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 48/83 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, serveur cache● 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 53: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Cache en mode pull

Page 54: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 50/83 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 55: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Cache en mode push

Page 56: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 52/83 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 57: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 53/83 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 58: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Le cache HTTP par fragment

Page 59: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 55/83 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ée par Facebook (2008)

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

50 Go RAM

Page 60: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 56/83 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 61: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

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

Les Content Delivery Network (CDN)

● Fabriquer des nœuds 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 62: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 58/83 Laurent Wargon

Les Content Delivery Network (CDN)

Page 63: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 59/83 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 64: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 60/83 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 65: Opérations sur les machines virtuellesblog.wargon.org/wp-content/uploads/cours/2016-2017/... · Université de Marne-la-Vallée 53/59 Laurent Wargon Opérations sur les machines

Universitéde Marne-la-Vallée 61/83 Laurent Wargon

Adresse anycast (RFC 4786)

Adresse IP Unicast Adresse IP Anycast