Pour gérer vos consentements :

Google gère 2 milliards de lignes de code

Avec Search, Maps, Gmail, Docs, YouTube et ses dizaines d’autres services, Google est un éditeur de logiciels de premier plan, gérant une base de code d’une taille inédite. Mais de combien exactement ?

Rachel Potvin, manager d’équipes de développement chez Google, a donné une réponse à cette question dans le cadre de la conférence @Scale de la semaine passée. Au premier janvier 2015, le dépôt de code de Google comprenait 1 milliard de fichiers, dont 9 millions dédiés à du code source. Le tout représentait un total de 2 milliards de lignes de code. Un véritable défi en termes d’organisation des équipes.

Mais aussi en matière de plate-forme matérielle de gestion de ce code. Le dépôt de Google pèse en effet 86 To. « Sans être en mesure de le prouver, j’estime que c’est probablement le plus grand référentiel de code en usage au monde », explique Rachel Potvin.

Un repository de plus en plus actif

Le nombre total de modifications atteignait les 35 millions au premier janvier 2015. En moyenne, 45 000 modifications sont apportées chaque jour, au travers du travail des 25 000 ingénieurs de Google. Un chiffre en rapide croissance. « Non seulement la taille du dépôt augmente, commente Rachel Potvin, mais le rythme de changement est également en augmentation et suit une courbe exponentielle. »

Chaque semaine, 15 millions de lignes de code sont modifiées (dans un total d’environ 250 000 fichiers), soit autant que le nombre total de lignes de code du noyau Linux.

86 To de données, 1 milliard de documents, 45 000 modifications par jour, mais également des demandes de lectures de fichiers pouvant atteindre des pointes de 800 000 par seconde.

Un dépôt monolithique centralisé

Pour gérer cet ensemble, Google utilise un repository monolithique centralisé, Piper, qui s’appuie sur l’infrastructure de Google et dont les données sont répliquées au travers de 10 datacenters répartis dans le monde entier.

Les ingénieurs se connectent à Piper via CitC, une offre Cloud qui permet d’accéder à l’ensemble de la base de code, et d’y superposer leurs changements (dans l’attente de leur validation, et donc de leur intégration dans l’une des branches principales du dépôt).

D’autres outils sont mis à la disposition des développeurs : CodeSearch, facilitant l’exploration de la base de code ; Critique, qui permet de gérer la phase de validation du code ; Rosie, se chargeant de gérer la gestion des changements. Le tout appuyé par des outils de test. Tricorder est la solution centrale d’analyse de code proposée par Google.

L’utilisation d’un dépôt de code monolithique est un défi en matière de taille d’infrastructure, mais permet à Google de disposer d’une base unique pour tous ses projets, favorisant ainsi la réutilisation du code, la gestion des dépendances et la collaboration entre les équipes.

L’intervention de Rachel Potvin est accessible sur YouTube.

À lire aussi :
Programmation : le Go 1.5 de Google s’émancipe du langage C
Russie : Google condamné pour avoir imposé Search sur Android
Twitter s’invite dans la recherche desktop de Google

Crédit photo : © McIek – Shutterstock

Recent Posts

USF : 7ème mandat consécutif pour Gianmaria Perancin

Le Conseil d’Administration de l’Association des Utilisateurs SAP Francophones ( USF) a réélu Gianmaria Perancin…

5 heures ago

Comment Amadeus hybride l’IA générative pour améliorer l’expérience du voyage

Le secteur du transport aérien utilise des algorithmes depuis des années. Mais cette chasse gardée…

7 heures ago

Un mode batch sur l’API OpenAI : ce qu’il faut savoir

Une option de traitement par lots est arrivée sur l'API OpenAI. Voici quelques clés de…

9 heures ago

Ce qui va changer dans l’offre VMware d’OVHcloud

De la migration vers VCD aux engagements pour les clients SecNumCloud, OVHcloud esquisse le devenir…

11 heures ago

OpenAI ouvre son premier bureau en Asie au Japon

OpenAI ouvre son premier bureau en Asie à Tokyo. Quelques jours après l'annonce d'un investissement…

11 heures ago

Les leçons d’une start-up sur l’usage de l’API OpenAI

Après 500 millions de tokens traités avec GPT-3.5 Turbo et GPT-4 via l'API OpenAI, une…

1 jour ago