MILIJARDE LINIJA KODA

Možete li pogoditi koliko je velik Google?

22.09.2015 u 09:25

Bionic
Reading

Koliko je velik Google? Odgovor na to pitanje može biti izražen financijskim pokazateljima, brojem korisnika, pa i metafizičkim utjecajem. No, tvrtka iz Mountain Viewa je ujedno i ogromno carstvo računalnog softvera

Prema procjeni Rachel Potvin, šefice Googleovih inženjera, softver potreban kako bi svi Googleovi internetski servisi radili kako treba broji oko dvije milijarde linija koda.

Usporedbe radi, Microsoftov operativni sustav Windows, jedan od najsloženijih softverskih alata ikad izrađenih za jedno računalo koji je u razvoju od '80-tih godina prošlog stoljeća, vjerojatno se sastoji od kojih pedesetak milijuna linija koda. Za izgradnju Googleovog carstva bilo je potrebno, dakle, uložiti trud kakav bi trebao za 40 razvoja OS-ova poput Windowsa.

Sav taj računalni kod nalazi se u jedinstvenom spremniku, gdje je dostupan vojsci od 25 tisuća Googleovih inženjera. Unutar tvrtke tretiraju ga kao ogroman operativni sustav. Potvin vjeruje kako je to najveći repozitorij te vrste na svijetu kojeg se redovno koristi.


Google je ekstreman slučaj, naravno, ali ipak ujedno i dobar primjer koliko je softver narastao za internetskog doba i kako su se alati za kodiranje (skupa s filozofijom upravljanja) promijenili. Sve smo bliže svijetu u kojem će suradnja na razvoju koda postati masovnom. Jedino tako možemodržati korak s munjevitom evolucijommodernih internetskih servisa.

Kako bi mogli upravljati tolikom količinom koda, u Googleu su razvili sustav nazvan Piper koji pokriva deset podatkovnih centara te kompanije, koji omogućava neuobičajen stupanj slobode korištenja i kombiniranja koda iz mnogobrojnih projekata. Drugim riječima, funkcionira kao ogromna baza znanja, gotovih rješenja i dobre prakse.

Pokriva oko 85 terabajta (to je 85 tisuća gigabajta, ako vam je tako lakše) podataka. Googleovi inženjeri svakodnevno naprave oko 45 tisuća izmjena, mijenjanjući 15 milijuna linija koda u 250 tisuća datoteka tjedno. Dodatna mu je zadaća olakšati posao inženjerima, pa stoga vodi računa o tome da izmjene koda ne štete jedna drugoj, omogućava im uklanjanje bugova i nekorištenog koda.


Piper, razumljivo, ima svojih ograničenja. Osjetljivi dijelovi koda, poput algoritma za pretraživanje, smješteni su u odvojene repozitorije, dostupne tek dijelu zaposlenika. Zasebnu pohranu dobili su i Android te Chrome.

I drugi koriste sličan pristup. Glavna Facebookova aplikacija, recimo, sadrži do 20 milijuna linija koda, a Mark Zuckerberg i društvo ju tretiraju kao jedinstveni projekt.

I Google i Facebook rade na razvoju sustava otvorenog koda koji će omogućiti upravljanje kodom u ogromnim količinama. Temelji se na postojećem sustavu Mercurial.

Više:Wired