Google révèle la taille de son code source et d’autres données vertigineuses
Généralement, lorsque nous parlons de Google, nous nous représentons le logo de la firme, nous imaginons peut-être tout un tas de ramifications et nous pensons gros, très gros chiffres. Google, c'est avant tout du codage…mais aussi encore et toujours des gros chiffres, la preuve.
Nous savons que la firme de Mountain View maintenant sous l'égide de l'entité appelée Alphabet, est gigantesque au niveau de sa portée mondiale, de son influence mais aussi au niveau de son infrastructure. À ce niveau, tout commence par le code source. Une fois à ses pieds, quelle taille fait le géant ?
Rachel Potvin, directrice de l'ingénierie pour Google a pu apporter une réponse à cette question. L'espace de programmation de Google (incluant le code source, les lignes de code et les modifications quotidiennes) représenterait environ 2 milliards de lignes, soit quarante fois celui du système d'exploitation Microsoft Windows, composé de 50 millions de lignes. Son code informatique pèse 86 TeraOctets.
A titre indicatif, Windows est réputé pour être l'un des logiciels les plus complexes jamais développés pour un ordinateur grand public et en développement constant depuis trente ans. En résumé, construire Google équivaut à gérer 40 Windows en même temps car les 2 milliards de lignes se trouvent en un seul et même fichier.
Un unique colossal fichier pour gérer Google Search, Drive, Maps, Google+, Gmail, YouTube et tous les autres services de l'entreprise. Un seul « repository » accessible aux 25000 ingénieurs épluchant pas moins de 9 millions de fichiers sources et un milliard de fichiers de tout autre type. 45 000 modifications sont réalisées quotidiennement dont 15000 à la main et le reste automatiquement. Depuis la création de Google, 35 millions de corrections ont été effectuées.
Un contrôleur pour 2 milliards de lignes
Ces lignes ont poussé Google au développement de son propre logiciel de contrôle de version afin de pouvoir toujours garder un œil sur le code. Baptisé Piper, le système est à l'affût du moindre problème et scrute en permanence dix data centers différents afin d'assurer le bon fonctionnement des services en ligne utilisés à chaque minute de la journée à travers le monde.
Rachel Potvin explique que tout a été plus ou moins déjà développé et se situe répertorié au sein de bibliothèques de codes. Les 25000 ingénieurs au service du code de Google ont bien évidemment accès à ces bases de données. Une simple modification pourra être déployée à tous les services par simple publication du changement du code.
Seul le Google PageRank semble être traité à part par une poignée d'ingénieurs triés sur le volet. L'algorithme de recherche développé par la firme est la potion magique de Google, voilà pourquoi seuls quelques intimes ont le droit de manipuler la recette miracle. Aussi, Android et Chrome font bande à part et ne sont donc pas géré par le même système de gestion des versions.
Une version Open Source de Piper serait en cours de développement sur un projet commun à Google et Facebook. Si ce dernier paraît minuscule avec ses 20 millions de lignes, il reste très imposant et en évolution permanente. L'élaboration de ce système de gestion des versions sera accessible à tous et se baserait sur l'actuel Mercurial. Ils veulent voir s'il serait capable de gérer un fichier de la taille du code source de Google. Car l'avenir se dessine désormais à base de ces lignes de codes et qu'il faudra une solution pour tout surveiller.
Voici en résumé l'intervention de Rachel Potvin :