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

Le Réseau interministériel de l’État, sujet à dépendance

La Cour des comptes appelle à formaliser et à professionnaliser certains aspects du RIE, tout…

4 heures ago

Etalab en position de faiblesse au sein de la Dinum

La Cour des comptes attire l'attention sur le risque d'affaiblissement d'Etalab, privé, ces dernières années,…

6 heures ago

Une Dinum « balbutiante » sur l’open data et les logiciels libres

Missions historiques de la Dinum, l'ouverture des données publiques et la promotion des logiciels libres…

8 heures ago

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

1 jour ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

1 jour ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

1 jour ago