News Ticker

Facebook rilascerà LogDevice in Open Source

Facebook sta pianificando il rilascio del codice sorgente di LogDevice, il software sviluppato internamente dall’azienda per il collezionamento e lo stoccaggio dei log da diversi datacenter sparsi per il mondo.

E’ facile intuire quanto l’archiviazione e la gestione di questi log sia di vitale importanza per Facebook, sia perchè la quantità degli stessi è enorme, sia perchè probabilmente buona parte del business dell’azienda stessa è basato sull’analisi di questi.

Insomma, con più di 2 miliardi di utenti attivi ogni mese (fonte Wikipedia) la quantità di log possiamo solo immaginare essere epica, e probabilmente soluzioni open molto ben testate ed utilizzate (per fare un esempio, Graylog) non performano abbastanza bene per quei carichi. La soluzione -come spesso avviene nell’azienda di Zucherberg- è quella di svilupparsi “in casa” un sistema ottimizzato per le specifiche necessità.

Ed è qui che nasce LogDevice, un data store creato specificatamente per contenere i log seguendo questa logica:

  • Record-oriented: i dati vengono scritti in record indivisibili, invece che come bytes individuali, ed il record è l’unità più piccola con cui si può far riferimento a questi log; si può iniziare a leggere da un dato record, e si riceveranno i dati uno o più record alla volta. Inoltre, la numerazione di questi record potrebbe non essere continua.
  • Append-only: considerando che i log vengono scritti, ma non dovrebbero mai essere modificati, questo sistema supporta solo l’aggiunta di record, non è possibile modificare i record una volta inseriti
  • Trimming: normalmente i log devono essere mantenuti per un tempo relativamente lungo (giorni, mesi o anni) prima di essere cancellati; il metodo principale che LogDevice fornisce per lo svecchiamento dei record è il trimming ovvero la cancellazione dei record più vecchi specificando politiche di retention basate sul tempo o sulla dimensione

Se siete interessati ai dettagli dello strumento, Facebook ha rilasciato un articolo dettagliato sul funzionamento e le logiche architetturali dello stesso, ve ne consigliamo la lettura.

La buona notizia è che, durante l’annuale ScaleConf, Facebook ha annunciato che l’intero sistema LogDevice sarà rilasciato in open source entro la fine del 2017.

Facebook non è nuova a questa pratica di rilasciare pubblicamente software (ed hardware) inizialmente sviluppati internamente per sue esigenze specifiche, come ad esempio RocksDB o Open Rack.

Pronti a sporcarvi le mani di log?