{"id":137,"date":"2006-11-15T16:11:02","date_gmt":"2006-11-15T14:11:02","guid":{"rendered":"http:\/\/www.oezratty.net\/wordpress\/2006\/inside-google-labs\/"},"modified":"2012-08-18T18:01:34","modified_gmt":"2012-08-18T16:01:34","slug":"inside-google-labs","status":"publish","type":"post","link":"https:\/\/www.oezratty.net\/wordpress\/2006\/inside-google-labs\/","title":{"rendered":"Inside Google Labs"},"content":{"rendered":"<p>J&#8217;ai assist\u00e9 r\u00e9cemment \u00e0 une pr\u00e9sentation d&#8217;Alice Bonhomme-Biais, une ing\u00e9nieur fran\u00e7aise en d\u00e9veloppement logiciel chez Google. Elle \u00e9tait destin\u00e9e \u00e0 des \u00e9l\u00e8ves de l&#8217;option technologies de l&#8217;information de l&#8217;Ecole Centrale Paris o\u00f9 j&#8217;enseigne sur les Strat\u00e9gies de l&#8217;Innovation.<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Google-Labs-logo1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7240\" title=\"Google Labs logo\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Google-Labs-logo1.jpg\" alt=\"\" width=\"373\" height=\"164\" srcset=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/Google-Labs-logo1.jpg 373w, https:\/\/www.oezratty.net\/wordpress\/wp-content\/Google-Labs-logo1-300x131.jpg 300w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>En une heure, Alice a dress\u00e9 un portrait fort int\u00e9ressant de la mani\u00e8re dont le d\u00e9veloppement et les op\u00e9rations fonctionnent chez Google.<\/p>\n<p>En voici un apper\u00e7u, compl\u00e9t\u00e9 par un peu de lecture personnelle,\u00a0avec tout d&#8217;abord quelques remarques g\u00e9n\u00e9rales:<\/p>\n<ul>\n<li>Tout d&#8217;abord, Google a des <strong>labos de d\u00e9veloppement <\/strong>bien r\u00e9partis dans le monde. Rien qu&#8217;en Europe, ils en ont un \u00e0 Dublin o\u00f9 se trouve \u00e9galement un data center europ\u00e9en, un \u00e0 Londres, un \u00e0 Zurich et un autre\u00a0\u00e0 Trondheim, en Su\u00e8de. Alice est elle-m\u00eame bas\u00e9e \u00e0 New York dans un autre labo. Donc, Google a beau \u00eatre un classique succ\u00e8s de la Silicon Valley, bas\u00e9 \u00e0 Mountain View, ils ont rapidement \u00e9clat\u00e9 g\u00e9ographiquement leurs d\u00e9veloppements. C&#8217;est permis\u00a0par une organisation du d\u00e9veloppement logiciel en petites \u00e9quipes : de 2 \u00e0 10 personnes, et 5 en moyenne. Il y a d&#8217;un c\u00f4t\u00e9 des services qui requi\u00e8rent effectivement des \u00e9quipes de cette taille, comme le Calendrier sur lequel travaille Alice Bonhomme-Biais. Et de l&#8217;autre, le gros du d\u00e9veloppement qui est orient\u00e9 sur le search est lui-m\u00eame d\u00e9coup\u00e9 en autant de modules n\u00e9cessitant des \u00e9quipes de cette taille. L&#8217;\u00e9clatement g\u00e9ographique du d\u00e9veloppement r\u00e9pond \u00e0 une logique de recrutement assez simple consistant \u00e0 chercher les talents l\u00e0 o\u00f9 ils sont au lieu de leur proposer tous de d\u00e9m\u00e9nager \u00e0 Mountain View. Au passage, cela permet de contourner les limitations du nombre de visas pour l&#8217;entr\u00e9e de travailleurs aux USA. C&#8217;est donc bien vu! Et certains \u00e9diteurs de logiciels pourraient s&#8217;en inspirer! Donc, Google continue de recruter \u00e0 tour de bras et les ing\u00e9nieurs fran\u00e7ais les int\u00e9ressent, m\u00eame s&#8217;il n&#8217;y a pas encore de labo de R&amp;D en France m\u00eame.<\/li>\n<li>Le d\u00e9veloppement de nouveaux services est (serait?) pilot\u00e9 par les \u00e9quipes produits, <strong>ind\u00e9pendamment de toute d\u00e9marche marketing <\/strong>ou de mod\u00e8le \u00e9conomique. Le point cl\u00e9 est de cr\u00e9er des services qui ont une grande valeur d&#8217;usage pour les utilisateurs et de g\u00e9n\u00e9rer du trafic. Une fois seulement usage et trafic g\u00e9n\u00e9r\u00e9s se pose la question de la mon\u00e9tisation. Sachant qu&#8217;en plus, Google fait tr\u00e8s peu de marketing de ses offres. Elles se diffusent en mode viral et gr\u00e2ce au trafic g\u00e9n\u00e9r\u00e9 par le moteur lui-m\u00eame. Ce d\u00e9couplage produit \/ marketing est sommes toutes encore plus fort que ce que j&#8217;ai constat\u00e9 chez Microsoft Corp. Il est contre-intuitif pour ceux &#8211; comme moi &#8211; qui pensent que le marketing doit \u00eatre impliqu\u00e9 le plus en amont possible de la cr\u00e9ation d&#8217;un produit pour assurer son alignement avec un besoin march\u00e9 et avec un business qui tienne la route. Google peut \u00e9viter cette d\u00e9marche pour un certain nombre de facteurs dont peu d&#8217;entreprises b\u00e9n\u00e9ficient: une marge \u00e9norme g\u00e9n\u00e9r\u00e9e par le coeur de m\u00e9tier qui permet de financer (souvent \u00e0 perte) de nombreux tests de nouveaux produits, le trafic g\u00e9n\u00e9r\u00e9 par le site Google qui permet d&#8217;aspirer de nouveaux clients pour ces services, et un mod\u00e8le de revenu indirect bas\u00e9 sur la publicit\u00e9 et la vente de mots cl\u00e9s qui permet de fournir des services gratuits au plus grand nombre.<\/li>\n<li>Certains projets comme Gmail sont bien n\u00e9s du fameux &#8220;<strong>20% de temps libre<\/strong>&#8221; pour des projets de son choix. Mais la part relative des nouveaut\u00e9s de Google qui en proviennent et celle qui est issue d&#8217;acquisitions n&#8217;est pas claire! La derni\u00e8re \u00e9tant assez cons\u00e9quente en nombre de services mais pas forc\u00e9ment en effectifs de d\u00e9veloppement puisqu&#8217;il semble qu&#8217;une grosse part de la R&amp;D de Google soit encore focalis\u00e9e sur le coeur du m\u00e9tier: la recherche (voir &#8220;<a title=\"Post sur les acquisitions de Google\" href=\"https:\/\/www.oezratty.net\/wordpress\/2006\/innovation-ou-marketing\/\">Innovation ou marketing?<\/a>&#8221; un de mes posts du printemps dernier).<\/li>\n<\/ul>\n<p>Nous avons dans cette conf\u00e9rence surtout fait le tour du coeur de m\u00e9tier de Google, le search. Qui est d\u00e9coup\u00e9 en tranches:<\/p>\n<ul>\n<li>Le <strong>crawler<\/strong>qui scanne les sites Web pour y d\u00e9tecter tous les mots cl\u00e9s utilis\u00e9s. Il s&#8217;appuie sur des milliers de serveur qui scannent de fa\u00e7on r\u00e9cursive tous les liens de toutes les pages de tous les sites Web d\u00e9tect\u00e9s. Toutes les URL d&#8217;Internet ne peuvent \u00eatre r\u00e9cup\u00e9r\u00e9es. Google s&#8217;aide de diff\u00e9rents artifices, notamment des Sitemaps qui permettent aux sites d&#8217;informer Google de leur structure et de leur mise \u00e0 jour.<\/li>\n<li>L&#8217;<strong>index<\/strong>qui pour chaque mot liste les pages et les positions dans les pages o\u00f9 on les trouve. Il fonctionne en mode multilingue et stocke \u00e9galement les informations de lieu et de temps sur les pages index\u00e9es. Le lieu s&#8217;identifie probablement via l&#8217;adresse IP des sites. Il y plusieurs copies de l&#8217;index r\u00e9parties g\u00e9ographiquement et elles tiennent toutes en RAM sur les serveurs. En 2006, Google indexerait environ trois fois plus de pages que ses principaux concurrents (donc: Yahoo et Microsoft). Ils indexent aussi 2 milliards d&#8217;image, 35 millions de documents non HTML et un milliard de messages UseNet. L&#8217;ensemble fait des Teraoctets, bien \u00e9videmment. L&#8217;indexation d&#8217;une nouvelle page qui apparait sur Internet prend entre 15 minutes et quelques heures selon l&#8217;importance et le trafic du site.<\/li>\n<li>Le <strong>ranking <\/strong>des mots, PageRank, qui \u00e9value la pertinence des pages li\u00e9es \u00e0 la combinaison de mots cl\u00e9s d&#8217;une recherche en fonction de diff\u00e9rents crit\u00e8res, notamment le nombre des liens qui aboutissent \u00e0 cette page, et la position des mots dans les pages. Pourquoi les sites de commerce arrivent-ils presque toujours au d\u00e9but des r\u00e9sultats lorsque l&#8217;on recherche un produit? Ce ne serait pas li\u00e9 \u00e0 de la vente de placement, mais \u00e0 une bonne optimisation de ces sites qui connaissent bien le fonctionnement de PageRank. La force de PageRank, c&#8217;est d&#8217;exploiter la mine d&#8217;or g\u00e9n\u00e9r\u00e9e par l&#8217;index et par l&#8217;usage. Tout repose sur des analyses statistiques.<\/li>\n<li>L&#8217;<strong>affichage<\/strong>, tout ce qui rel\u00e8ve de la pr\u00e9sentation des r\u00e9sultats dans un navigateur Web, et l&#8217;int\u00e9gration des autres composants de nature publicitaire dans les pages. Pour tester les \u00e9volutions de son interface, Google dispose d&#8217;un &#8220;usability lab&#8221; \u00e0 l&#8217;\u00e9chelle plan\u00e9taire. Ils &#8220;servent&#8221; les nouveaut\u00e9s \u00e0 tester \u00e0 un faible pourcentage de leurs utilisateurs (genre 1%), mais qui suffit \u00e0 en avoir des millions, et ils comparent les r\u00e9sultats: temps pass\u00e9 dans la recherche, taux de clic, etc. Souvent, une modification mineure ne serait-ce que d&#8217;un seul pixel d&#8217;interlignage peut avoir des r\u00e9percussions significatives. La force du nombre leur apporte des donn\u00e9es statistiques extraordinaires. Quant au &#8220;spell check&#8221; de Google qui propose une orthographe diff\u00e9rente aux termes recherch\u00e9, il\u00a0s&#8217;appuie lui-aussi sur des statistiques et non pas sur un dictionnaire travaillant sur la distance des mots,\u00a0approche\u00a0trop limit\u00e9e pour la gestion des noms propres. Ils s&#8217;appuient donc sur des algorithmes de probabilit\u00e9 de concomittance (probabilistic co-occurrence)! Une simple recherche sur Google g\u00e9n\u00e8re c\u00f4t\u00e9 serveurs la lecture de plusieurs centaines de Mo de donn\u00e9es et le site en re\u00e7oit des milliers par seconde!<\/li>\n<\/ul>\n<p>L&#8217;<a title=\"Article des Google Labs sur leur architecture en clusters\" href=\"http:\/\/labs.google.com\/papers\/googlecluster-ieee.pdf\">architecture serveur<\/a> s&#8217;appuie sur quelques caract\u00e9ristiques originales et maison qui font des labos de Google une sorte de v\u00e9ritable laboratoire de R&amp;D de syst\u00e8me d&#8217;exploitation et de middleware r\u00e9seau et de gestion de donn\u00e9es distribu\u00e9s:<\/p>\n<ul>\n<li>Les <strong>racks de serveur <\/strong>sont b\u00e2tis sur une architecture physique optimisant leur remplacement ainsi que celui des disques durs: au lieu de vis pour les fixations, ils utilisent du Velcro ! En effet, sur\u00a05000 machines environ par data center, il y a r\u00e9guli\u00e8rement une dizaine de pannes par jour. Donc, cela fait gagner du temps. Ces serveurs sont des lames standard de type PC tournant sous Linux. Ce sont des machines &#8220;peu fiables&#8221; aux <a title=\"Voir en haut de la page 2\" href=\"http:\/\/labs.google.com\/papers\/googlecluster-ieee.pdf\">dires<\/a>de Google, mais peu importe, c&#8217;est l&#8217;architecture logicielle qui apporte la fiabilit\u00e9 \u00e0 l&#8217;ensemble. Ce ne sont pas les machines les plus puissantes du moment, mais celles qui apportent le meilleur rapport puissance\/prix du moment. Les racks ont 40 \u00e0 80 serveurs chacun, connect\u00e9s entre eux en 100 mbits\/s, le rack \u00e9tant lui-m\u00eame en liaison Gigabit avec les autres. Chaque serveur a une dur\u00e9e de vie de 2 \u00e0 3 ans. L&#8217;alimentation \u00e9lectrique et le refroidissement de ces racks sont des d\u00e9fis de taille \u00e0 eux seuls qui entrainent moutle calculs techniques et \u00e9conomiques pour optimiser l&#8217;ensemble, la facture d&#8217;\u00e9lectricit\u00e9 de Google \u00e9tant l&#8217;une de ses plus grosses charges d&#8217;exploitation!<\/li>\n<li>Il y a plusieurs <strong>clusters<\/strong>d&#8217;environ 5000 serveurs r\u00e9partis dans le monde entier, ce qui apporte une forte tol\u00e9rance aux pannes de r\u00e9seau sur Internet. La r\u00e9partition de charge s&#8217;effectue au niveau DNS pour identifier le cluster le plus proche de l&#8217;utilisateur au niveau temps de latence r\u00e9seau.<\/li>\n<li>Google s&#8217;est cr\u00e9\u00e9 son propre syst\u00e8me de gestion de fichiers distribu\u00e9, qui tourne sous Linux: le <a title=\"Article des Google Labs sur le GFS\" href=\"http:\/\/labs.google.com\/papers\/gfs-sosp2003.pdf\">Google File System<\/a>. Il distribue les recherches de fichiers sur plusieurs serveurs de fa\u00e7on extr\u00eamement efficace. C&#8217;est un peu gr\u00e2ce \u00e0 lui que le r\u00e9sultat d&#8217;une recherche aboutit dans notre navigateur en quelques millisecondes de traitement.<\/li>\n<li>GFS est compl\u00e9t\u00e9 par <a title=\"Article des Google Labs sur BigTable\" href=\"http:\/\/labs.google.com\/papers\/bigtable-osdi06.pdf\">BigTable<\/a>, une sorte de base de donn\u00e9es hi\u00e9rarchique (donc non relationnelle) scalable pour la gestion de gros volumes de donn\u00e9es qui doivent \u00eatre acc\u00e9d\u00e9s tr\u00e8s rapidement. Cela sert notamment \u00e0 Google Analytics (l&#8217;outil d&#8217;analyse du trafic sur son propre site Web o\u00f9 l&#8217;on a plac\u00e9 de la publicit\u00e9 Google AdSense, 200 teraoctets de donn\u00e9es rien que pour le stockage des clicks sur les sites abonn\u00e9s au service), Google Earth et \u00e0 Personnalize Search, une fonction m\u00e9connue qui personnalise les r\u00e9sultats de la recherche pour les utilisateurs qui sont identifi\u00e9s sur le moteur de recherche par un logon, le logon commun \u00e0 Gmail et autres services personnels de Google.<\/li>\n<li>Ils ont d\u00e9fini leur propre <strong>architecture de parall\u00e9lisation <\/strong>des traitements avec le Global Work Queue et <a title=\"Article des Google Labs sur MapReduce\" href=\"http:\/\/labs.google.com\/papers\/mapreduce-osdi04.pdf\">MapReduce<\/a> qui permet de d\u00e9couper un traitement en morceaux. MapReduce est utilis\u00e9 au travers d&#8217;un langage de programmation maison <a title=\"Article des Google Labs sur Sawzall\" href=\"http:\/\/labs.google.com\/papers\/sawzall-sciprog.pdf\">Sawzall<\/a>. Au passage, l&#8217;architecture de Google b\u00e9n\u00e9ficie donc\u00a0\u00e0 plein des nouveaux processeurs \u00e0 hyperthreading et multi-coeurs qui permettent de parall\u00e9liser les traitements sur une m\u00eame machine.<\/li>\n<\/ul>\n<p>Nombre de ces aspects sont document\u00e9s dans des publications scientifiques des Google Labs disponibles sur leur site : <a title=\"http:\/\/labs.google.com\/papers\/\" href=\"http:\/\/labs.google.com\/papers\/\">http:\/\/labs.google.com\/papers\/<\/a>. Ce domaine est passionnant et on pourrait y passer des heures pour d\u00e9cortiquer son fonctionnement. Certaines soci\u00e9t\u00e9s de\u00a0service\u00a0en ont d&#8217;ailleurs fait leur m\u00e9tier pour aider les sites Web \u00e0 bien se faire r\u00e9f\u00e9rencer sur Internet! Il sera aussi int\u00e9ressant de voir documenter la gestion des vid\u00e9os maintenant qu&#8217;il ne s&#8217;agit plus que de les indexer avec Google Video, mais \u00e9galement de les stocker et de les diffuser, via YouTube!<\/p>\n<p><a href=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/WindowsLiveWriter\/InsideGoogle_9597\/image014.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: 0px;\" src=\"https:\/\/www.oezratty.net\/wordpress\/wp-content\/WindowsLiveWriter\/InsideGoogle_9597\/image0_thumb4.png\" alt=\"\" width=\"365\" height=\"239\" border=\"0\" \/><\/a><\/p>\n<p>Comparaison in\u00e9vitable avec Microsoft. L&#8217;\u00e9diteur a \u00e9galement une grande tradition de publication de travaux scientifiques, notamment par le truchement du site de <a title=\"Site de Microsoft Research\" href=\"http:\/\/research.microsoft.com\/\">Microsoft Research<\/a>. Mais la <a title=\"MSR sur le Search\" href=\"http:\/\/research.microsoft.com\/stc\/\">partie du site<\/a> qui rel\u00e8ve du search \u00e9voque la cr\u00e9ation d&#8217;un laboratoire commun sur le search avec MSN en Chine, mais rien de plus. Et cela ne concerne pas ce qui est en exploitation comme Google. La partie est difficile pour Microsoft car rattraper le savoir faire de Google, quand on se plonge dedans, est loin d&#8217;\u00eatre \u00e9vident. Microsoft parie surtout sur des \u00e9volutions d&#8217;interface comme pour la recherche de photos pr\u00e9sent\u00e9e de fa\u00e7on sympathique avec la possibilit\u00e9 de choisir la taille des &#8220;thumbnails&#8221;. Mais c&#8217;est loin d&#8217;\u00eatre suffisant pour faire la diff\u00e9rence. C&#8217;est un sujet \u00e0 creuser car le manque d&#8217;informations de la part de Microsoft ne veut pas dire qu&#8217;ils sont inactifs en R&amp;D sur le search, loin s&#8217;en faut!<\/p>\n<p>J&#8217;\u00e9voquais au d\u00e9but cette marge \u00e9norme de Google lui permettant de financer des tests de services sans se soucier trop de logique \u00e9conomique au d\u00e9part. Google &#8220;crache&#8221; en effet aujourd&#8217;hui une profitabilit\u00e9 nette de 27%, soit celle la moyenne de celle de Microsoft ces derni\u00e8res ann\u00e9es. Soient presque\u00a0$3B pour 2006, extrapol\u00e9s des $2046m sur les 9 derniers mois. Leur bilan en octobre 2006 comprenait environ $10B de cash disponible. Mais tout ceci, c&#8217;est le profit et le cash g\u00e9n\u00e9r\u00e9s <span style=\"text-decoration: underline;\">apr\u00e8s<\/span> les d\u00e9penses en R&amp;D, en infrastructure et en acquisitions \u00e9voqu\u00e9es dans cet article! Ils ont donc un sacr\u00e9 mou pour prendre des risques. C&#8217;est\u00a0le grand privil\u00e8ge des num\u00e9ro un dont la taille critique leur permet d&#8217;absorber la valeur de leur secteur!<\/p>\n<p>Alice Bonhomme faisait cette conf\u00e9rence aux \u00e9l\u00e8ves centraliens dans le cadre de ses 20% de temps consacr\u00e9 \u00e0 des projets libres de son choix. Car Google recrute \u00e0 tour de bras pour supporter sa croissance qui n&#8217;en finit pas. Mais elle a oubli\u00e9 de citer le b\u00e9n\u00e9fice du &#8220;free lunch&#8221; \u00e0 ces recrues potentielles. Car chez Google, c&#8217;est boisson <strong>et<\/strong> repas gratuits, en plus du plaisir de pouvoir venir travailler accoutr\u00e9 comme bon vous semble! Tout du moins dans les labs&#8230; :).<\/p>\n<p>Ce post faisait lui aussi partie de mon &#8220;20% de temps libre&#8221;&#8230; pour de la veille technlologique!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&#8217;ai assist\u00e9 r\u00e9cemment \u00e0 une pr\u00e9sentation d&#8217;Alice Bonhomme-Biais, une ing\u00e9nieur fran\u00e7aise en d\u00e9veloppement logiciel chez Google. Elle \u00e9tait destin\u00e9e \u00e0 des \u00e9l\u00e8ves de l&#8217;option technologies de l&#8217;information de l&#8217;Ecole Centrale Paris o\u00f9 j&#8217;enseigne sur les Strat\u00e9gies de l&#8217;Innovation. &nbsp; &nbsp; En une heure, Alice a dress\u00e9 un portrait fort int\u00e9ressant de la mani\u00e8re dont le [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,2,3,5],"tags":[],"class_list":["post-137","post","type-post","status-publish","format-standard","hentry","category-google","category-internet","category-microsoft","category-technologie"],"views":20623,"_links":{"self":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/comments?post=137"}],"version-history":[{"count":0,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/posts\/137\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/media?parent=137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/categories?post=137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oezratty.net\/wordpress\/wp-json\/wp\/v2\/tags?post=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}