Google, due miliardi di linee di codice per tutti i suoi servizi
Parlare di servizi Google fa pensare automaticamente all’enormità di cose che questi permettono di fare: da Gmail a Google Earth, passando per YouTube, Drive, l’advertising e l’intramontabile ricerca, sono poche le cose a cui, in rete, non si possa arrivare usufruendo di uno di questi servizi.
In molti si sono chiesti (anzi, ci siamo chiesti) quanto lavoro ed in particolare quanto codice fosse necessario per rendere reale tutto ciò, un interrogativo che fino ad oggi è rimasto irrisolto poiché il big di Mountain View si è sempre mostrato restio a divulgare tali informazioni. Eppure è successo: durante un discorso collegato alla gestione di codici enormi durante la conferenza @Scale, il capo ingegnere dell’azienda – Rachel Potvin – ha finalmente quantificato il codice necessario a mandare avanti la baracca Google. In pratica l’intero insieme dei servizi Google impiega attualmente la bellezza di 2 miliardi di righe di codice, suddivisi tra 9 milioni di file sorgenti (e 1 miliardo di file totali).
Un numero impressionante se si pensa che l’intero kernel Linux ha “soltanto” 15 milioni di righe di codice. La dimensione fisica dell’intera infrastruttura Google lascia altrettanto sorpresi: si tratta di 86 Terabytes di dati, che per ragioni di sicurezza sono replicati ed aggiornati in tempo reale in 10 datacenter sparsi per la Terra.
Non siamo in grado di provarlo, ma credo si tratti del singolo repository più grande presente sulla terra.
A proposito di repository, la Potvin sottolinea come giornalmente il codice sia a disposizione di 25.000 impiegati, che possono riusare le varie librerie (esiste praticamente una libreria per tutto) ed implementare nuove soluzioni; per quanto riguarda poi i commit, si parla di 15 milioni di righe di codice modificate per settimana su 250.000 file, con una media di 45.000 commit al giorno.
Non soltanto la dimensione del repository cresce, ma è in crescita anche la velocità delle modifiche. E’ una curva esponenziale.
Per finire, la Potvin spiega come Google utilizzi internamente un sistema di versioning fatto in casa, Piper, e di quanto esso sia particolarmente complesso proprio a causa dell’enormità dei dati trattati:
Se si hanno 25.000 sviluppatori come in Google, bisogna condividere il codice con gruppi differenti di persone che a loro volta hanno capacità differenti. Nel caso di una piccola azienda, tuttavia, si può fare la stessa cosa con una piattaforma open source come Github.
Wow.
L’articolo Google, due miliardi di linee di codice per tutti i suoi servizi appare per la prima volta su Chimera Revo – News, guide e recensioni sul Mondo della tecnologia.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.