Bots hjælper 25.000 Google-udviklere med at holde styr på 2 milliarder kodelinjer

Google behandler alle sine tjenester som én samlet applikation, og derfor er de fleste af de 45.000 commits om dagen automatiseret.

Google sidder formentligt på den største, samlede kodebase i it-branchen med i alt to milliarder linjers programmeringskode. Og det er mere, end mennesker kan holde styr på, skriver Wired.

Google betragter nemlig al koden til alle selskabets tjenester fra søgemaskinen over Gmail til Youtube som én applikation, og det indebærer, at 25.000 udviklere hos Google arbejder med den samme kode.

Fordelen for Google er, at det gør det muligt at genbruge komponenter på tværs af tjenester, og når en komponent opdateres, så opdateres den også for de øvrige tjenester.

Ulempen er, at to milliarder kodelinjer og 25.000 udviklere giver en enorm kompleksitet i forhold til at administrere ændringer i koden. Googles udviklere foretager i gennemsnit 45.000 commits, altså større ændringer, i koden hver dag. Det bliver til 15 millioner linjer kode, der ændres hver uge fordelt på en kvart million filer.

Derfor er Google skiftet til et nyt system til versionsstyring kaldet Piper. Det giver mulighed for at lægge en del af arbejdet med at vedligeholde kodebasen i hænderne på bots – det vil sige automatiske scripts, som eksempelvis sørger for at fjerne kode, der ikke længere skal bruges. Med det nye system administreres størstedelen af de mange tusinde commits til Google-koden i dag af bots.

De to milliarder kodelinjer hos Google skal ses i forhold til, at Windows anslås til at fylde i omegnen af 50 millioner kodelinjer, og Linux-kernen fylder cirka 15 millioner linjer.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Uli Fahrenberg

Hvorfor lyder den her artikel som en oversættelse af en lille delmængde af http://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/ ? Er det er resumering af Wired-artiklen? Hvorfor er der ikke noget link? Og hvorfor mangler I så den mest interessante vinkel på historien, at Google og Facebook sammen arbejder på at få Mercurial skaleret til deres repo-størrelse?

  • 2
  • 0
Carsten Olsen

Her er en Youtube film der viser lidt om googles monolithic codebase. De bruger static libs, for at minimere dependencies på de binære libs. De bruger vist kun piper/monolithic codebase på deres services search/gmail/docs. Det giver ingen mening at bruge det på Android/Chrome. (git)Det kører oven på Perforce, er semi centraliseret (ikke git) https://www.youtube.com/watch?t=4&v=W71BTkUbdqE

  • 0
  • 0
Log ind eller Opret konto for at kommentere