211service.com
Google et Akamai : culte du secret contre royaume de l'ouverture
Vous ne devriez jamais faire confiance à ce nombre, a déclaré Martin Farach-Colton, professeur d'informatique à l'Université Rutgers, il y a un peu plus d'un an. Les gens en font toute une histoire, et ce n'est pas vrai.
Farach-Colton donnait une conférence publique sur son travail sabbatique de deux ans chez Google. Le chiffre qu'il dénigrait était au milieu de sa diapositive PowerPoint :
- 150 millions de requêtes/jour
La diapositive suivante comportait quelques autres chiffres :
- 1 000 requêtes/s (pic)
- Plus de 10 000 serveurs
- Plus de 4 téra-ops/sec au pic quotidien
- Index : 3 milliards de pages Web
- 4 milliards de documents au total
- 4+ pétaoctets de stockage sur disque
Quelques personnes dans le public ont commencé à rire : les chiffres de Google ne correspondaient pas.
J'ai commencé à exécuter les chiffres moi-même. Voyons voir : 4 téra-ops/sec signifie 4 000 milliards d'opérations par seconde ; un serveur haut de gamme peut effectuer peut-être deux milliards d'opérations par seconde, ce qui se traduit par peut-être 2 000 serveurs, et non 10 000. Quatre pétaoctets correspondent à 4x1015 octets de stockage ; répartissez cela sur 10 000 serveurs et vous auriez 400 gigaoctets par serveur, ce qui semble encore une fois faux, puisque Farach-Colton avait précédemment déclaré que Google mettait deux disques durs de 80 gigaoctets dans chaque serveur.
Et puis il y a ce problème de 150 millions de requêtes par jour. Si le système gère une charge maximale de 1 000 requêtes par seconde, cela se traduit par un taux de pointe de 86,4 millions de requêtes par jour, ou peut-être 40 millions de requêtes par jour si vous supposez que le système ne passe que la moitié de son temps à sa capacité maximale. Peu importe comment vous faites les calculs, les statistiques de Google ne sont pas cohérentes.
Ces chiffres sont tous incroyablement bas, a poursuivi Farach-Colton. Google rapporte toujours des chiffres beaucoup, beaucoup plus bas que ce qui est vrai.
Chaque fois que quelqu'un de Google prépare une nouvelle présentation, a-t-il expliqué, le service des relations publiques examine le discours et réduit les chiffres. À l'origine, a-t-il déclaré, la diapositive avec les chiffres indiquait que 1 000 requêtes/seconde était le taux minimum, pas le pic. Nous avons plus de 10 000 serveurs. C'est plus beaucoup.
Tout comme le moteur de recherche de Google revient instantanément et apparemment sans effort avec une réponse à toute requête que vous lui lancez, cachant la véritable difficulté de la tâche aux utilisateurs, la société souhaite également que ses concurrents restent dans l'ignorance de la difficulté du problème. Après tout, si Google annonçait le nombre de pages qu'il a indexées et le nombre d'ordinateurs qu'il possède dans ses centres de données à travers le monde, les concurrents de recherche comme Yahoo!, Teoma et Mooter sauraient combien de capital ils ont dû lever pour avoir un l'espoir de déplacer le roi au sommet de la colline.
Google a parfois eu du mal à garder son histoire droite. Lorsque le vice-président de l'ingénierie Urs Hoelzle a donné une conférence sur les clusters Linux de Google à l'Université de Washington en novembre 2002, il a répété ce chiffre de 1 000 requêtes par seconde, mais il a déclaré que la mesure avait été prise à 02h00 le 25 décembre. , 2001. Son point, évident pour tout le monde dans la salle, est que même en novembre 2002, Google faisait beaucoup plus de 1 000 requêtes par seconde, mais on ne pouvait que deviner combien de plus.
Les faits peuvent suinter. Au dernier Thanksgiving, le New York Times a rapporté que Google avait franchi la barre des 100 000 serveurs. Si cela est vrai, cela signifie que Google exploite peut-être le plus grand réseau d'ordinateurs de la planète. Le simple fait qu'ils puissent construire et exploiter des centres de données de cette taille est stupéfiant, déclare Peter Christy, co-fondateur du NetsEdge Research Group, une société d'études de marché et de stratégie de la Silicon Valley. Christy, qui travaille dans l'industrie depuis plus de 30 ans, est stupéfaite par l'ampleur des systèmes de Google et la compétence de l'entreprise à les exploiter. Je ne pense pas qu'il y ait quelqu'un de proche.
C'est cette capacité à créer et à exploiter des clusters incroyablement denses qui est avant tout le secret du succès de Google. Et la raison, explique Marissa Mayer, directrice des produits Web grand public de l'entreprise, a à voir avec la façon dont Google a commencé à Stanford.
Au lieu d'obtenir quelques ordinateurs rapides et de les faire fonctionner au maximum, a expliqué Mayer lors d'un événement de recrutement au MIT, les fondateurs Sergey Brin et Larry Page ont dû se contenter de la main-d'œuvre du département informatique de Stanford. Ils allaient au quai de chargement pour voir qui achetait de nouveaux ordinateurs, puis demandaient s'ils pouvaient avoir les vieilles machines obsolètes que les nouveaux remplaçaient. Ainsi, dès le début, Brin et Page ont été contraints de développer des algorithmes distribués qui s'exécutaient sur un réseau de machines peu fiables.
Aujourd'hui, cette philosophie est inscrite dans l'ADN de l'entreprise. Google achète les ordinateurs les moins chers qu'il peut trouver et les entasse dans des racks et des racks dans ses six centres de données (ou plus). Les PC sont raisonnablement fiables, mais si vous en avez un millier, un tombera en panne chaque jour, a déclaré Hoelzle. Donc, si vous ne pouvez acheter que 10 % de plus, c'est toujours moins cher que d'acheter une machine plus fiable.
Travailler chez Google, m'a dit récemment un ingénieur, est le plus proche d'avoir une quantité illimitée de puissance de calcul à votre disposition.
Le royaume de l'ouverture
Il existe une autre entreprise qui a perfectionné l'art de faire fonctionner un grand nombre d'ordinateurs avec un personnel relativement réduit. Cette société est Akamai.
Akamai n'est plus un mot familier maintenant, mais il a fait la une des journaux lorsque la société est devenue publique en novembre 1999 avec ce qui était, à l'époque, la quatrième offre publique initiale la plus réussie de l'histoire. Les actions d'Akamai ont grimpé en flèche et ont fait de ses fondateurs des milliardaires. Dans les années qui ont suivi, cependant, Akamai a connu des moments difficiles. Ce n'est pas seulement l'accident du dot-com qui a causé d'importants licenciements et l'abandon des bureaux californiens de l'entreprise : le cofondateur et directeur de la technologie d'Akamai, Danny Lewin, était à bord du vol 11 d'American Airlines le 11 septembre et a été tué lorsque l'avion a percuté le Centre du commerce mondial. Le moral de l'entreprise était dévasté.
Le réseau d'Akamai fonctionne sur la même échelle de complexité que celui de Google. Bien qu'Akamai ne dispose que de 14 000 machines, ces serveurs sont situés dans 2 500 emplacements différents dispersés dans le monde. Les serveurs sont utilisés par des sociétés comme CNN et Microsoft pour diffuser des pages Web. Tout comme les serveurs de Google sont utilisés par pratiquement tout le monde sur Internet aujourd'hui, ceux d'Akamai le sont aussi.
En raison de leur taille, Akamai et Google ont dû développer des outils et des techniques pour gérer ces machines, déboguer les problèmes de performances et gérer les erreurs. Ce n'est pas un logiciel qu'une entreprise peut acheter dans le commerce, ils nécessitent un développement interne laborieux. C'est en fait le logiciel qui est l'un des principaux avantages concurrentiels d'Akamai.
Oui, quelques autres organisations exécutent également de grands clusters d'ordinateurs. Le centre de recherche Ames de la NASA et Virginia Tech ont tous deux de grands clusters consacrés au calcul scientifique. Mais il existe des différences essentielles entre ces systèmes et les clusters créés par Google et Akamai. Les systèmes scientifiques sont situés en un seul endroit, pas répartis dans le monde entier. Ils ne sont généralement pas directement exposés à Internet. Et peut-être plus important encore, les systèmes scientifiques ne fournissent pas un service de base à des centaines de millions d'internautes chaque jour : Google et Akamai doivent fournir une disponibilité de 100 %. Il est facile de sortir et d'acheter 10 000 ordinateurs, vous n'avez besoin que d'argent liquide. Il est beaucoup plus difficile de faire fonctionner ces ordinateurs tous ensemble en tant que service unique prenant en charge des millions d'utilisateurs simultanés.
Pour être juste, il existe des différences importantes entre Google et Akamai, qui garantissent que Google n'entrera pas dans les affaires d'Akamai de sitôt, ni qu'Akamai ne s'installera dans celles de Google. Les deux sociétés ont développé une infrastructure pour exécuter des systèmes massivement parallèles, mais les applications qu'elles exécutent sur ces systèmes sont différentes. L'application principale de Google est un moteur de recherche. Akamai, en revanche, a développé un système de diffusion de pages Web, de diffusion multimédia en continu et de divers autres protocoles Internet standard.
Une autre différence importante, dit Christy, est qu'Akamai a eu beaucoup de mal à créer un modèle commercial clair qui fonctionne, alors que Google a connu un succès incroyable. Akamai a donc commencé à rechercher de nouvelles façons de vendre des services que seul un réseau distribué massif peut fournir. Luttant pour la rentabilité, l'entreprise a été agressivement à la recherche de nouvelles opportunités pour sa technologie. C'est peut-être la raison pour laquelle Akamai, contrairement à Google, a accepté d'être interviewé pour cet article.
Nous avons commencé avec des objets de livraison de bits de base, des photos, des bannières, des publicités, explique Tom Leighton, scientifique en chef d'Akamai. Nous le faisons localement. Faites vite. Rendez-le fiable. Améliorer les sites.
Akamai développe actuellement des techniques permettant aux clients d'exécuter leurs applications directement sur les serveurs distribués de l'entreprise. Leighton affirme que 25 des plus gros clients d'Akamai l'ont fait. Le système peut gérer des surtensions soudaines, ce qui le rend idéal pour les cas où il est impossible d'anticiper la demande.
Par exemple, explique Leighton, le réseau d'Akamai a été utilisé pour gérer un concours de claviers sponsorisés par Logitech. Pensant que son concours pourrait être populaire, Logitech a créé une série de règles élaborées, garantissant que seulement un nombre limité de claviers seraient distribués à chaque état et au cours d'une période donnée. Mais Logitech a largement sous-estimé le nombre de personnes qui cliqueraient pour participer au concours. Dans le passé, de telles sous-estimations ont provoqué le plantage d'événements Internet très médiatisés comme la diffusion Web de Victoria's Secret, frustrant des millions d'internautes et embarrassant l'entreprise. Mais pas cette fois : le concours de Logitech s'est déroulé sur le réseau Akamai sans accroc.
Bien sûr, Logitech aurait pu essayer de construire le système lui-même. Il aurait pu concevoir et tester un serveur capable de gérer 100 utilisateurs simultanés. Ce serveur pourrait coûter 5 000 $. Ensuite, Logitech aurait pu acheter 20 de ces serveurs pour 100 000 $ et les mettre dans un centre de données. Mais un seul centre de données peut être encombré, il peut donc être plus logique d'en mettre 10 dans un centre de données sur la côte est et 10 dans un autre centre de données sur la côte ouest. Pourtant, ce système ne pouvait gérer que 2 000 utilisateurs simultanés : il serait peut-être préférable d'acheter 100 serveurs, pour un coût total de 500 000 $, et de les placer dans 10 centres de données différents. Mais même s'ils avaient fait cela, les ingénieurs de Logitech n'auraient eu aucun moyen de savoir si le système aurait réellement fonctionné lorsqu'il a été mis à l'essai - et ils auraient investi une énorme somme d'argent dans l'ingénierie qui n'aurait pas ont été nécessaires après l'événement.
Et les concours ne sont pas la seule chose qui peut se dérouler sur le réseau d'Akamai. Pratiquement n'importe quel programme écrit dans le langage de programmation Java peut s'exécuter sur l'infrastructure de l'entreprise. Le système peut gérer les demandes de prêt hypothécaire, les catalogues et les paniers d'achat électroniques. Akamai gère même le backend du service de musique iTunes à 99 cents d'Apple.
Peut-être parce qu'Akamai est si fière du système qu'elle a construit, l'entreprise est très ouverte sur les détails techniques du réseau. Son centre d'exploitation de réseau à Cambridge, MA, a un mur de verre permettant aux visiteurs de voir un grand écran avec des statistiques. Lorsque j'ai visité l'entreprise en janvier, l'écran indiquait qu'Akamai servait 591 763 accès par seconde, avec 14 372 processeurs en ligne, 14 563 gigahertz de puissance de traitement totale et 650 téraoctets de stockage total. Le 14 avril, le nombre avait bondi à un taux record de 900 000 visites par seconde et 43,71 milliards de demandes livrées sur une période de 24 heures. (Akamai ne divulgue pas le nombre de processeurs en ligne car ce nombre fait partie de son rapport sur les résultats trimestriels, qui sera publié le 28 avril. Mais cela n'a pas beaucoup changé, m'a dit le porte-parole de la société.)
Courrier et balance
Pour l'avenir, quelques opportunités commerciales ont un attrait évident pour Google et Akamai. Par exemple, les deux sociétés pourraient mettre à profit leur expérience dans la création de clusters distribués à grande échelle pour créer un système de sauvegarde massif pour les petites entreprises et les utilisateurs de PC à domicile. Ou ils pourraient prendre en charge la gestion des PC domestiques, les transformant en terminaux intelligents exécutant des applications sur des serveurs distants. Cela permettrait aux utilisateurs de PC d'échapper à la corvée de l'administration de leurs propres machines, de l'installation de nouvelles applications et de la mise à jour des programmes antivirus.
Et puis il y a le courrier électronique. Le 1er avril, Google a annoncé qu'il allait entrer dans le secteur des e-mails grand public avec un communiqué de presse peu orthodoxe : La recherche est le numéro deux de l'activité en ligne - L'e-mail est le numéro un : 'Bon sang, oui', disent les fondateurs de Google.
Depuis, Google a reçu une publicité considérable pour le design annoncé de son offre Gmail (Google Mail). Le service gratuit promet aux consommateurs un gigaoctet de stockage de courrier (plus de cent fois le stockage offert par d'autres fournisseurs de messagerie Web), une recherche étonnante dans les archives de courrier et la promesse que les consommateurs n'auront plus jamais besoin de supprimer un message électronique. Au début, beaucoup de gens pensaient que l'annonce était une blague du poisson d'avril - un gigaoctet par utilisateur semblait être trop de stockage. Mais comme la grande majorité des utilisateurs n'utiliseront pas autant de stockage, la promesse de Google dit vraiment que Google peut acheter de nouveaux disques durs plus rapidement que les utilisateurs d'Internet ne peuvent les remplir. [ Note de l'éditeur: La proposition de Google de financer Gmail en affichant des publicités basées sur le contenu des e-mails des utilisateurs a reçu de nombreuses critiques de la part de divers défenseurs de la vie privée. Plus tôt ce mois-ci, un certain nombre de militants de la protection de la vie privée ont fait circuler une lettre demandant à Google de ne pas lancer Gmail tant que ces problèmes de confidentialité n'auront pas été résolus. Simson Garfinkel a signé cette lettre en tant que partisan après la rédaction de cet article mais avant sa publication.]
L'infrastructure de Google semble bien adaptée au déploiement d'un service comme Gmail. L'été dernier, Google a publié un document technique intitulé The Google File System (GFS), qui est apparemment la technologie sous-jacente développée par Google pour permettre la réplication et l'accès à haute vitesse aux données dans ses clusters. Avec GFS, l'e-mail de chaque utilisateur peut être répliqué entre plusieurs clusters Google différents ; lorsque les utilisateurs se connectent à Gmail, leur navigateur Web peut être automatiquement dirigé vers le cluster le plus proche qui a une copie de leurs messages.
Il s'agit d'une technologie difficile à maîtriser, et c'est exactement le type de système qu'Akamai a développé au cours des six dernières années. En fait, il n'y a en principe aucune raison pour qu'Akamai ne puisse pas déployer assez facilement un système de messagerie similaire à grande échelle sur ses propres serveurs. Aucune raison, c'est-à-dire si ce n'est la philosophie de l'entreprise.
Leighton ne pense pas qu'Akamai se lancerait dans une activité qui obligerait l'entreprise à traiter directement avec les utilisateurs finaux. Plus probablement, dit-il, Akamai fournirait l'infrastructure à une autre entreprise qui serait en mesure de se charger de la facturation, du support client et du marketing auprès des utilisateurs finaux. Notre objectif est de vendre dans l'entreprise, dit-il.
George Hamilton, analyste au Yankee Group qui couvre l'informatique et les réseaux d'entreprise, est d'accord. Hamilton qualifie de farfelue l'idée d'une concurrence entre Google et Akamai. Mais Google pourrait embaucher Akamai pour compléter les besoins technologiques de Google, dit-il.
Pourtant, un tel partenariat semble peu probable, du moins en surface. Google pourrait acheter Akamai, de la même manière que la société a acheté Pyra Labs en février 2003 pour acquérir le système de publication Web personnel Blogger de Pyra. Mais Akamai, avec sa culture d'ouverture, ne semble pas correspondre à celle de Google. Ensuite, il y a le fait que 20 % des revenus d'Akamai proviennent désormais directement de Microsoft, selon le rapport trimestriel d'Akamai de novembre 2003. La rivalité de Google avec Microsoft dans les recherches sur Internet (et maintenant dans les e-mails) a été largement commentée dans la presse ; il est peu probable que l'entreprise veuille travailler aussi étroitement avec un partenaire Microsoft aussi proche.
Ted Schadler, vice-président de la société d'études de marché Forrester, affirme qu'il est possible d'envisager la concurrence entre les deux sociétés, car elles recherchent toutes les deux la même opportunité dans l'informatique massive et distribuée. En ce sens, ils ont la même vision. Ils doivent développer une grande partie de la même technologie parce qu'elle n'existe pas. Ils doivent apprendre beaucoup des mêmes leçons et développer beaucoup des mêmes technologies et modèles commerciaux.
Schadler dit qu'Akamai et Google sont deux exemples de ce qu'il appelle des canaux commerciaux Internet programmables. Ces canaux sont des entreprises qui offrent une grande infrastructure pouvant offrir des services de haute qualité sur Internet à des centaines de millions d'utilisateurs sur simple pression d'un commutateur. Google et Akamai sont de telles sociétés, mais aussi Amazon.com, eBay et même Yahoo !. Ce sont tous des services qui permettent des services de fondation d'activité commerciale qui [peuvent] être mis à l'échelle en toute sécurité, dit Schadler.
Si j'étais un parieur, ajoute Schadler, je dirais que Google est beaucoup plus intéressé à servir le client et Akamai est plus intéressé à fournir l'infrastructure - c'est la vente au détail que la vente en gros. Il y aura beaucoup, beaucoup de ces services axés sur la vente au détail.
Si cela est vrai, Google pourrait soudainement se retrouver en concurrence avec une entreprise qui, comme Google elle-même, semblait sortir de nulle part. Sauf que cette fois, cette entreprise n'aurait pas à découvrir les astuces pour gérer elle-même l'infrastructure massive.
Et cela explique pourquoi Google est si secret.