Come funziona Netflix raccontato da un ingegnere

Nei periodi di punta, Netflix genera circa un terzo del traffico internet in Nord America. Questa settimana, uno dei suoi ingegneri senior ha descritto come ottenere tutti quei film sul tuo schermo. L’azienda gestisce la propria rete di distribuzione dei contenuti (CDN), una rete globale di server di archiviazione che memorizzano i contenuti in prossimità del luogo dove verrà visualizzato. Quella cache locale riduce i costi della larghezza di banda e rende più facile scalare il servizio su una vasta area.

Netflix si basava su fornitori di terze parti come Akamai e Level 3 per il lavoro di caching, ma due anni fa ha dichiarato di aver iniziato a costruire un proprio CDN chiamato Open Connect. Ora offre tutto il suo contenuto attraverso la rete, ha dichiarato David Fullagar, direttore dell’architettura di consegna dei contenuti a Netflix, in un discorso alla conferenza dei data center dell’Istituto Uptime in Silicon Valley.

Leggi anche: cos’è Netflix e quanto costa

Netflix dispone anche di un proprio hardware di archiviazione, personalizzato per lo streaming di video. Utilizza due tipi di server, uno basato su unità disco rigido e l’altra su unità flash e entrambe sono ottimizzate per l’utilizzo ad alta densità e basso consumo.

I più diffusi sono i sistemi di azionamento duro. Coprono 36 unità da 3,5 pollici in un server di circa 6 pollici di altezza (quattro unità rack) e 2 metri di profondità. Ogni server memorizza 100TB di dati ed un flusso di 10.000 / 20.000 film contemporaneamente, ha dichiarato Fullagar. Ci sono circa 1.000 dei sistemi di storage total nella sua rete, ha detto.

Netflix aggiorna la sua progettazione hardware una volta all’anno con le ultime unità e processori Intel a bassa potenza. Carica i server con film e spettacoli televisivi prima di spedirli, perché anche su reti ad alta velocità richiede tempo per caricare 100 tB di contenuti in remoto.

I server gestiscono principalmente software open source, il sistema operativo FreeBSD, il server Web nginx e il software di routing BIRD, con uno strato di software Netflix in cima.

Netflix ha un’enorme biblioteca di contenuti, più di un petabyte, perciò durante i mesi tranquilli tra mezzanotte e mezzogiorno prepopula i server con i contenuti che pensa che le persone vogliono guardare, riducendo l’utilizzo della larghezza di banda in ore di punta.

Il contenuto deve ancora arrivare dal CDN agli utenti finali e viene trasportato da ISP locali (fornitori di servizi Internet) che si connettono al CDN in uno dei due modi: lo fanno congiuntamente a comuni scambi di rete – fondamentalmente grandi centri dati dove diversi provider di rete si connettono l’uno all’altro – o possono installare i sistemi di storage di Netflix, che li fornisce gratuitamente, in proprio.

Attualmente ha server a 20 diverse posizioni di peering e “molti decine” di ISP li hanno anche sul sito, ha dichiarato Fullagar. Per l’ISP, il contenuto in loco riduce i costi di larghezza di banda in ingresso.

Ci sono molte ragioni per cui Netflix gestisca il proprio CDN. Con il suo servizio di una percentuale così elevata di traffico ISP, è meglio avere un rapporto diretto con loro che lavorare attraverso aziende come Akamai.

Fornisce anche Netflix “controllo end-to-end” della propria rete, fornendo maggiori opportunità di ottimizzazione del sistema. I suoi server sono stati progettati per lo streaming di filmati, ad esempio, con i dischi di filatura, posizionati con cura per ridurre al minimo “punti di calore” o aree di surriscaldamento.

Inoltre fa un sacco di mappature intelligenti nella rete, per capire la posizione migliore per far passare ogni filmato. Netflix ha quasi 50 milioni di clienti in streaming, in Nord America, Sud America e parti dell’Europa occidentale ed è probabile che si espanderà ulteriormente in futuro.

Netflix utilizza anche Amazon Web Services, per attività come l’esecuzione del suo sito web e il suo motore di raccomandazioni. Inoltre, gli studi cinematografici caricano il loro contenuto nella cloud di Amazon, dove Netflix lo codifica al suo formato prima di distribuirlo alla sua rete.

“Mentre con Amazon siamo un cliente relativamente piccolo di calcolo, sul lato di CDN siamo un grande giocatore”, ha dichiarato Fullagar.

Solo circa 40 persone lavorano sul CDN, ha detto, con metà di lavoro su software, 10 ingegneri di rete e 10 in operazioni.

Costruire il CDN non è stato facile. Mentre Netflix ha iniziato a riavvolgerlo due anni fa, la Thailandia è stata colpita da inondazioni devastanti che hanno interrotto gran parte dell’offerta del disco rigido del mondo. “Non direi che ci ha deragliato, ma è stato un problema”, ha dichiarato Fullagar.