Introduction au Big Data et Cloud Computing
Baccouche Ahlem
[Link]@[Link]
Big Data and Cloud Computing
Chapitre 1 Cloud Computing Chapitre 2 Emergence du Big Data
Section I : L'ère de l'information et le big data.
Section I : Informatique à grande échelle
Section II : Big Data Pourquoi?
Section II : Informatique utilitaire et Cloud computing
Section III : Les outils du big data.
Section III : Etude de cas d’un cloud commercial : Amazon Web
Services (AWS) ▶ Stockage des big data dans le cloud
▶ Calculs des big data dans le cloud
▶ Elastic Compute Cloud (EC2)
▶ Elastic Block Storage (EBS) Section IV : Exposés
▶ Other services: Mechanical Turk, CloudFront, ...
▶ S3 and SimpleDB.
Section IV : Développement pour le Cloud
Cloud Computing and Big Data 2
▶ Section I : Informatique à grande Echelle
▶ Le besoin de scalabilité des services actuels
▶ Scalabilité Verticale: De PCs aux centres de données
▶ Problèmes avec les techniques de scalabilité 'classiques'
▶ Section II : Informatique utilitaire et cloud computing
▶ Que signifient « Computing utility » et "cloud computing"?
▶ Quels types de clouds aujourd’hui?
▶ Quels types d'applications s'exécutent sur le cloud ?
▶ Virtualisation: Comment les clouds fonctionnent ?
▶ Quelques challenges du cloud computing
3
Combien d’utilisateurs et d’objets?
▶ Facebook a 2,7 milliards utilisateurs actifs
(2020)
▶ Google sert >6.9 milliards requêtes/jour
(2021)
▶ >82 000 vidéos/sec vues sur YouTube
4
Combien de données?
▶ Applications modernes utilisent les données massives :
▶ 'Avatar' film nécessite >1 pétaoctet de stockage
▶ eBay a >6.5 pétaoctets de données utilisateurs
▶ CERN's LHC produira environ 15 pétaoctets de données par an
▶ En 2008, Google traite 20 pétaoctets par jour
km
25,400
▶ Le Centre de calcul climatique allemand est dimensionné pour 60
pétaoctets de données climatiques
▶ Google aujourd’hui permet 1 exaoctet de stockage
▶ Le centre de données NSA Utah peut atteindre 5 zettaoctets (!)
▶ Combien coûte un zettaoctet?
▶ 1,000,000,000,000,000,000,000 octets
▶ Une pile de disques durs de 1 To d'une hauteur de
25 400 km
5
Combien de calcul?
▶ Aucun ordinateur ne peut traiter autant de
données
▶ Besoin de plusieurs!
▶ Les services modernes ont besoin de combien
d’ordinateurs?
▶ Facebook compte plus de 60,000 serveurs
▶ 1&1 Internet a plus de 70,000 serveurs (hébergement web)
▶ Akamai a 95,000 serveurs dans 71 pays
▶ Intel a ~100,000 serveurs dans 97 centres de données
▶ Microsoft aurait au moins 200,000 serveurs en 2008
▶ Google est censé avoir plus de 1 million de serveurs, prévoit 10 millions
(selon Jeff Dean)
6
Pourquoi dois-je me soucier?
▶ Supposons que vous vouliez créer le prochain Google
▶ Comment...
▶ ... télécharger et stocker des milliards de pages Web et d'images ?
▶ ... trouver rapidement les pages contenant un ensemble de termes donné ?
▶ ... trouver les pages les plus pertinentes pour une recherche donnée?
▶ ... répondre à 1,2 milliard de requêtes de ce type chaque jour?
▶ Supposons que vous vouliez créer le prochain Facebook
▶ Comment...
▶ ... stocker les profils de plus de 500 millions d'utilisateurs ?
▶ ... éviter de perdre l'un d'entre eux ?
▶ ... découvrir quels utilisateurs pourraient être des amis ?
▶ Restez à l’écoute !! 7
▶ Section I : Informatique à grande échelle
▶ Le besoin de scalabilité des services actuels
▶ Scalabilité verticale: De PCs aux centres de données NEXT
▶ Problèmes avec les techniques de scalabilité 'classiques'
▶ Section II : Informatique utilitaire et cloud computing
▶ Que signifient Informatique utile et cloud computing?
▶ Quels types de clouds aujourd’hui?
▶ Quels types d'applications s'exécutent sur le cloud ?
▶ Virtualisation: Comment les clouds fonctionnent
▶ Quelques challenges du cloud computing
8
Scalabilité verticale
PC Server Cluster
▶ Et si un seul PC non suffisant?
▶ Acheter plus grand
▶ Et si ce dernier pas encore suffisant?
▶ Acheter plusieurs
9
Clusters
Commutateur
réseau (connecte
les nœuds entre eux
et avec d'autres
étagères)
Etagère De nombreux
nœuds/lames
(souvent identiques)
Périphériques de
stockage
▶ Charactéristiques d’un cluster:
▶ Plusieurs machines similaires, interconnection étroite (même lieu?)
▶ Matériel souvent spécial et standardisé (étagères, lames)
▶ Détenu et utilisé par une seule organisation
9
Performance et rafraichissement
▶ Clusters ont besoin de performance
▶ Exemple: 140 Watts par serveur
▶ Etagère avec 32 serveurs: 4.5kW (nécessite une alimentation
spéciale!)
▶ La majeure partie de cette puissance est convertie en chaleur
▶Les grands clusters ont besoin d'un rafraichissement
massif
▶ 4.5kW est d'environ 3 radiateurs
▶ Et ce n’est qu’une étagère!
10
Scalabilité verticale
PC Server Cluster Data center
▶ Que se passe-t-il si votre cluster est trop gros (chaud, gourmand en énergie) pour
tenir dans votre immeuble de bureaux ?
▶ Construire un bâtiment séparé pour le cluster
▶ Le bâtiment nécessite beaucoup de rafraichissement et de puissance
▶ Résultat : Centre de données
12
À quoi ressemble un centre de
données ? Cooling
plant
Data centers
(size of a
football field)
Google data center in The Dalles, Oregon
▶ Un ordinateur de la taille d’un entrepôt
▶ Un seul centre de données peut facilement contenir 10 000 étagères
avec 100 cœurs dans chaque étagère (1 000 000 cœurs au total)
13
Un centre de données?
Source: 1&1
▶ Des centaines ou des milliers d’étagères
14
Un centre de données?
Source:
1&1
▶ Mise en réseau massive
15
Un centre de données?
Source: 1&1
▶ Alimentations de secours
16
Centre de données?
Source:
1&1
▶ Rafraichissement massif
17
L’énergie Compte!
Company Servers Electricity Cost
eBay 16K ~0.6*105 MWh ~$3.7M/yr
Akamai 40K ~1.7*105 MWh ~$10M/yr
Rackspace 50K ~2*105 MWh ~$12M/yr
Microsoft >200K >6*105 MWh >$36M/yr
Google >500K >6.3*105 MWh >$38M/yr
USA (2006) 10.9M 610*105 MWh $4.5B/yr
Source: Qureshi et al., SIGCOMM 2009
▶ Les centres de données consomment beaucoup d’énergie
▶ Il est logique de les construire à proximité de sources d'électricité bon marché
▶ Exemple : Le prix par kWh est de 3,6 ct en Idaho (En USA, proche de l'énergie
hydroélectrique), de 10 ct en Californie (transmission longue distance), de 18 ct à Hawaï (le
carburant doit être expédié)
▶ La majeure partie est convertie en chaleur → Le rafraichissement est un gros problème !
18
Scalabilité verticale
PC Server Cluster Data center Network of data centers
▶ Et si même un centre de données n'était pas
assez grand?
▶ Construire des centres de données supplémentaires
▶ Où? Combien? 19
Distribution Globale
▶ Les centres de données sont souvent répartis dans le monde entier
▶ Exemple ci-dessus : emplacements des centres de données Google
▶ Pourquoi?
▶ Besoin d'être proche des utilisateurs (physique ment!)
▶ Des ressources moins chères
▶ Protection contre les pannes
20
Tendance : centre de données modulaire
▶ Besoin de plus de capacité ?
Déployez simplement un autre
conteneur !
21
▶ Section I : Informatique à grande échelle
▶ Le besoin de scalabilité des services actuels
▶ Scalabilité verticale: De PCs aux centres de données
▶ Problèmes avec les techniques de scalabilité 'classiques' NEXT
▶ Section II : Informatique utilitaire et cloud computing
▶ Que signifient Informatique utile et cloud computing?
▶ Quels types de clouds aujourd’hui?
▶ Quels types d'applications s'exécutent sur le cloud ?
▶ Virtualisation: Comment les clouds fonctionnent
▶ Quelques challenges du cloud computing
22
Problème #1: Difficile à dimensionner
Jobs cannot Dissatisfied
be completed customers
2x- leave
10x
Provisionnement pour le pic de charge Ravitaillement en dessous du pic
▶ Problème : la charge peut varier considérablement
▶ Le pic de charge peut dépasser la charge moyenne d'un facteur 2x-10x [Pourquoi ?]
▶ Mais : peu d'utilisateurs prévoient délibérément moins que le pic
▶ Résultat : l’utilisation du serveur dans les centres de données existants ~5 % à 20 % !!
▶ Dilemme : gaspiller des ressources ou perdre des clients !
23
Problème #2: Cher
▶Besoin d'investir beaucoup de $$$ dans le
matériel
▶ Même un petit cluster peut facilement coûter 100 000 $
▶ Microsoft a investi par exemple 499 millions de dollars dans un seul centre de données
▶ Besoin d'expertise
▶ La planification et la mise en place d'un grand cluster sont loin d’être simples
▶ Le cluster peut nécessiter aussi un logiciel spécial, etc.
▶ Besoin de maintenance
Quelqu'un doit remplacer le matériel défectueux, installer des mises à niveau
logicielles, gérer les comptes d'utilisateurs, ...
24
Problem #3: La scalabilité est difficile
▶ Pourquoi difficile?
▶ Besoin de commander de nouvelles machines, de les installer, de les intégrer au
cluster existant – ça peut prendre des semaines
▶ Cela nécessite une refonte majeure, par exemple, un nouveau système de
stockage, une nouvelle interconnexion, ou encore un nouveau bâtiment (!)
▶ Réduire est difficile aussi
▶ Que faire du matériel superflu ?
▶ La puissance d'inactivité du serveur est d'environ 60 % du pic → L'énergie est
consommée même lorsqu'aucun travail n'est en cours
▶ De nombreux coûts fixes, comme la construction de bâtiments
25
Récapitulatif : calcul à grande échelle
▶ Les applications modernes nécessitent d'énormes quantités de
traitements et de données
▶ Mesurées en pétaoctets, des millions d'utilisateurs, des milliards d'objets…
▶ Besoin de matériel spécial, d'algorithmes, d'outils pour travailler à cette échelle !!
▶ Les clusters et les centres de données peuvent fournir les
ressources dont nous avons besoin
▶ Différence principale : l’Échelle (taille de la pièce vs. taille du bâtiment)
▶ Matériel spécial; l'alimentation et le rafraichissement sont de grandes préoccupations
▶ Les clusters et les centres de données ne sont pas parfaits
▶ Difficile à dimensionner ; cher; difficile à mettre à l'échelle !!
26