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.
Topologie du réseau
En 2008, Google exploitait 34 centres de données 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,5 millions de serveurs[2], situés dans plusieurs villes autour du monde, avec les centres importants à Mountain View (Californie), Council Bluffs (Iowa), Herndon (Virginie), Lenoir (Caroline du Nord), Comté de Mayes (Oklahoma), Atlanta (Georgie); Dublin, Irlande ; Saint-Ghislain, Belgique ; Groningen aux Pays-Bas[3]; Zurich, Suisse ; São Paulo au Brésil; Quilicura (Chili)[4]; Tokyo, Japon ; Pékin, Chine[5],[6].
Quand une tentative de se relier à Google est faite, les serveurs de DNS font pointer www.google.com à des adresses IP multiples, qui agissent 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 Mbit/s au commutateur local. Des commutateurs sont reliés au commutateur de gigabit de noyau utilisant une 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[7].
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 , Bien que les chiffres ne soient pas rendus publics, Google aurait compté deux millions de serveurs[8].
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[9] et mémoire DRAM[10].
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 [11]. 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[12] :
- 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.
Notes et références
- http://www.datacenterknowledge.com/archives/2008/03/27/google-data-center-faq/
- « Google Data Center FAQ », sur www.datacenterknowledge.com,
- « A Closer Look at Google's European Data Centers », sur www.datacenterknowledge.com,
- (en) « Discover our data center locations », sur Google Data Centers (consulté le ).
- (en) Chandler Evans, Future of Google Earth, Madison Publishing Company, (ISBN 978-1-4196-8903-1, OCLC 250515861), « Google Platform », p. 299
- "« http://www.investinwallonia.be/ofi-belgium/menu-news/Google-Saint-Ghislain-investment.php »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur www.investinwallonia.be . Retrieved on
- 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,
- « Deux analyses précieuses sur la fiabilité et la longévité des disques durs - LinuxFr.org », sur linuxfr.org
- [(fr) [http://linuxfr.org//2009/10/09/25997.html Une analyse précieuse sur la fiabilité de la mémoire vive DRAM],
- (en) Google uncloaks once-secret server, Stephen Shankland,
- (en) Overview of Infrastructure Testing, Marc Kaplan, Google Test Engineering Lead,