Google: Zahlen zur Code-Basis des Suchmaschinen-Giganten
Wie groß ist Google? Anhand des Börsenwertes oder der Rechenzentren lässt sich dies leicht ausdrücken. Aber was ist mit dem Code? Auf der Entwicklermesse @Scale im Silicon Valley gab es auf diese Frage Antworten. Rachel Potvin, Wirtschaftsingenieurin bei Google, verriet Einzelheiten zu Googles Software-Imperium.
Potvin enthüllte die Zahlen in einem Vortrag zu den Vorteilen und Herausforderungen, eine so große Codebasis zu verwalten. Googles kompletter Quellcode zu allen Apps und Diensten liegt in einem einzigen Repository, das nach Angaben von Potvin rund zwei Milliarden Zeilen Code enthält und 86 TByte groß ist. Damit nichts verloren geht, wird das gesamte Repository in zehn von Googles Rechenzentren gespiegelt und aktuell gehalten.
Insgesamt teilt sich diese Menge in neun Millionen Quelldateien auf, während die Gesamtzahl an Dateien in diesem Repository bei rund einer Milliarde liegt. Bisher wurden rund 35 Millionen Commits vorgenommen und täglich kommen rund 45.000 dazu. Dieses riesige Archiv wird von rund 25.000 Entwicklern benutzt, was in etwa 95 Prozent von Googles Angestellten ausmacht.
„Ohne es beweisen zu können, vermute ich, dass dies das größte benutzte Quelltext-Archiv der Welt ist.“ Rachel Potvin
Pro Woche werden in diesem Archiv rund 15 Millionen Zeilen Code in 250.000 Dateien geändert. Das entspricht in etwa der Anzahl Zeilen, aus denen der Linux-Kernel besteht. Microsofts bereits seit 30 Jahren entwickeltes Betriebssystem Windows liegt nach Schätzungen bei etwa 50 Millionen Zeilen Code.
Dabei wächst Googles Codebasis exponentiell. Das Repository wird immer größer, während gleichzeitig auch die Wachstumsrate ständig steigt. Potvin erläutert, warum Google trotzdem die gesamte Codebasis in einem großen Archiv fast allen Mitarbeitern vollständig zugänglich macht. Potvin erklärt, dass, obwohl es nicht wie eine gute Idee klinge, die Vorteile für Google überwiegen. Wenn ein Entwickler ein neues Projekt beginnt, kann er sofort auf eine große Zahl von Bibliotheken zugreifen und sich das Passende für sein Projekt heraussuchen. Er kann zudem Code aus unzähligen anderen Projekten einsehen und weiter verwenden. Zudem kann ein Entwickler eine Änderung in einer Zeile Code in alle Dienste und Projekte ausrollen, wenn dies nötig ist.
Sam Lambert, einer der Direktoren bei GitHub, sieht die Vorteile, die ein solch riesiges Archiv mit Zugriff für alle Google-Entwickler mit sich bringt. Den Aufwand, so etwas zu pflegen, sieht er allerdings als große technische Herausforderung an. Die Zahlen, so Lambert, sind atemberaubend.