- Plateforme Google
-
Google exige de grandes ressources informatiques afin de fournir ses services. Cet article décrit l'infrastructure technologique derrière les sites Web de Google, comme présenté dans les annonces publiques de la compagnie.
Sommaire
Topologie du réseau
En 2008, Google exploitait 34 datacenters dans le monde, dont 19 aux États-Unis (dont 2 en construction), 11 en Europe, 3 en Asie et 1 au Brésil[1]. Bien que les chiffres ne soient pas publiés, certains estiment que Google maintient près de 2 millions de serveurs, situés dans plusieurs villes autour du monde, avec les centres importants dans les Mountain View (Californie), Council Bluffs (Iowa), Herndon (Virginie), Lenoir (Caroline du Nord), Atlanta (Georgie); Dublin, Irlande ; Saint-Ghislain, Belgique ; Groningen aux Pays-Bas[2]; Zurich, Suisse ; São Paulo au Brésil; Tokyo, Japon ; Pékin, Chine ;[3],[4]
Quand une tentative de se relier à Google est faite, les serveurs de DNS font pointer www.google.com à des adresses IP multiples, qui agit en tant que premier niveau pour un équilibrage de la charge en dirigeant les clients vers différents faisceaux de Google. Chaque faisceau de Google a des milliers de serveurs, et lors du raccordement au faisceau un autre équilibrage de la charge est exécuté afin d'envoyer les requêtes au serveur web le moins chargé. Ceci fait de Google l'un des réseaux les plus grands et plus complexes.
Les supports sont faits sur commande et contiennent 40 à 80 serveurs 1U des serveurs (20 à 40 de chaque côté), alors que les nouveaux serveurs sont les systèmes 2U Rackmount. Chaque support a un commutateur. Des serveurs sont reliés par l'intermédiaire d'un lien d'Ethernet de 100 Mbits/s au commutateur local. Des commutateurs sont reliés au commutateur de gigabit de noyau utilisant un ou deux liaisons montantes de gigabit.
Les centres de données sont implantés en priorité là où l'électricité n'est pas trop chère (par exemple à proximité de centrales hydro-électriques), en particulier sur la côte nord-ouest des États-Unis, la facture énergétique étant un des centres de coûts les plus importants: les spécialistes estiment que l'électricité consommée par un serveur sur sa durée de vie coûte plus cher que le matériel lui-même[5].
Index principal
Les requêtes étant composées de mots, un index inversé des documents est alors nécessaire. Un tel index laisse obtenir une liste de documents pour un même mot dans une question. L'index est très grand dû au nombre de documents stockés dans les serveurs.
Serveur matériel et logiciel
En octobre 2008, Google aurait compté 2 millions de serveurs[6]. De par la quantité de matériel utilisé et la nature intensive des applications exécutées par ses serveurs, Google publie des statistiques intéressantes sur les défaillances du matériel : disques durs[7] et mémoire DRAM[8].
Google est connu pour utiliser de simples PC modifiés spécialement pour exécuter ses algorithmes au lieu de serveurs onéreux spécifiquement conçus pour ce travail, notamment en termes de puissance de calcul et de fiabilité. Le détail des modifications apportées à ces machines est resté secret pendant longtemps, jusqu'au 1er avril 2009[9]. La principale particularité de ses PC est l'ajout à chacun d'eux d'une batterie de 12 volts pour fournir du courant en cas de problème avec la source principale d'électricité, ce qui d'après Google coûte moins cher qu'acheter une alimentation sans interruption couvrant les besoins de l'ensemble d'un data center et permet d'avoir une meilleure efficacité énergétique.
Une autre caractéristique intéressante est que les data centers sont composés depuis 2005 de conteneurs standard contenant 1 160 PC serveurs avec une consommation électrique pouvant atteindre 250 kilowatts. Sun Microsystems et Windows Azure sont aussi connus pour utiliser des conteneurs, mais depuis moins longtemps.
L'utilisation de nombreux PC non fiables a nécessité la création d'algorithmes et d'implémentations adaptés. Les algorithmes devaient être parallèles, distribués (ou répartis), tolérants aux pannes. Ceci inclut [10] :
- Un système de fichiers distribué : Google File System
- Une base de données répartie : BigTable
- Une infrastructure d'exécution de code répartie : MapReduce
Références
- (en) http://www.datacenterknowledge.com/archives/2008/03/27/google-data-center-faq/
- http://www.datacenterknowledge.com/archives/2008/11/25/a-closer-look-at-googles-european-data-centers/
- (en) Chandler Evans, Future of Google Earth, Madison Publishing Company, 2008 (ISBN 978-1-4196-8903-1) (OCLC 250515861), « Google Platform », p. 299
- [1]." Invest Wallonia. 27 avril 2007. Retrieved on 10 mai 2007 "
- Free! Entrez dans l'économie du gratuit, Chris Anderson, (ISBN 978-2-7440-6351-0), p. 141
- (fr) Serveurs Google : 2 millions d'unités (Economist), Didier Durand, 31 octobre 2008
- (fr) Deux analyses précieuses sur la fiabilité et la longévité des disques durs 21 février 2007
- (fr) http://linuxfr.org//2009/10/09/25997.html Une analyse précieuse sur la fiabilité de la mémoire vive DRAM], 9 octobre 2009 [
- (en) Google uncloaks once-secret server, Stephen Shankland, Avril 2009
- (en) Overview of Infrastructure Testing, Marc Kaplan, Google Test Engineering Lead, 15 octobre 2007
Compléments
Article connexe
Wikimedia Foundation. 2010.