Netflix_Customer-Reference_Logo@2x

Case Study di Netflix e Amazon Kinesis Data Streams

2017

Netflix è la prima rete televisiva online al mondo, con più di 100 milioni di utenti che ogni giorno possono scegliere tra 125 milioni di ore di programmi televisivi e film, inclusi i documentari, i lungometraggi e le serie originali. Gli abbonati a Netflix possono guardare tutto ciò che desiderano, in qualsiasi momento, in qualsiasi luogo, su quasi ogni tipologia di schermo che disponga di una connessione Internet.

Avvia il tutorial su Python
kr_quotemark

"Amazon Kinesis Data Streams ogni giorno elabora diversi terabyte di dati di log, eppure gli eventi vengono visualizzati nelle nostre analisi in solo pochi secondi. Siamo in grado di individuare e risolvere i problemi in tempo reale, garantendo un'elevata disponibilità e un'ottima esperienza per il cliente."

John Bennett
Ingegnere software senior di Netflix

Monitoraggio dell’Applicazione su Vasta Scala

Netflix utilizza AWS per quasi tutte le sue esigenze in fatto di di elaborazione e archiviazione, inclusi database, analisi, motori di raccomandazione, transcodifica video e altro; centinaia di funzioni che utilizzano in totale più di 100.000 istanze di server su AWS.

Tutto questo si traduce in un ambiente di rete estremamente complesso e dinamico, dove le applicazioni comunicano costantemente all’interno di AWS e attraverso Internet. Per Netflix, monitorare e ottimizzare la propria rete è essenziale per continuare a migliorare l’esperienza del cliente, aumentando allo stesso tempo il livello di efficienza e riducendo i costi. In particolare, Netflix aveva bisogno di una soluzione per l’acquisizione, l’incremento e l’analisi di diversi terabyte di dati che la sua rete genera quotidianamente sotto forma di log di flusso VPC (Virtual Private Cloud). Poter disporre di tale soluzione avrebbe permesso a Netflix di individuare eventuali opportunità di miglioramento delle prestazioni, ad esempio grazie all’identificazione delle applicazioni che comunicano nelle diverse regioni e della loro ubicazione. Con l'aiuto di tale soluzione sarebbe anche stato possibile incrementare i tempi di operatività, rilevando eventuali tempi di inattività delle applicazioni con la possibilità di reagire poi agli stessi, mitigandone la portata.

Ogni record di log veicola informazioni relative alle comunicazioni tra due indirizzi IP. Tuttavia, in un ambiente dinamico come quello di Netflix, dove gli indirizzi IP possono “fluttuare” tra le applicazioni di giorno in giorno o persino di minuto in minuto, questi record non hanno molto significato, se presi singolarmente. “Le fonti di dati che avevamo prima di lanciare questa iniziativa erano unilaterali”, sostiene John Bennett, Senior Software Engineer di Netflix. “Sapevamo che un’applicazione si connetteva con le altre, ma non eravamo a conoscenza di entrambe le parti della conversazione, né sapevamo come ottimizzare quelle comunicazioni o come collocare le applicazioni all’interno della rete”.

Netflix cominciò a sviluppare una nuova fonte di dati che avrebbe fornito maggiore chiarezza in merito alla comunicazione tra le applicazioni e le regioni abbinando i log di flusso VPC ai metadati dell’applicazione.

Come centralizzare i log di flusso che utilizzano Amazon Kinesis Data Streams

Fin da subito, AWS ha consentito a Netflix di sperimentare diversi approcci per analizzare i dati di rete. “Nelle prime fasi del processo di progettazione è stato importante avere una certa flessibilità nello sperimentare diversi modi di elaborare i dati”, aggiunge Bennett. “Abbiamo sperimentato in diversi progetti e utilizzato molti prodotti AWS per arrivare sin qui”.

La soluzione finale di Netflix, nota internamente come Dredge, centralizza i log di flusso utilizzando Amazon Kinesis Data Streams. L’applicazione legge i dati provenienti da Amazon Kinesis Data Streams in tempo reale e arricchisce gli indirizzi IP con i meta dati dell’applicazione per fornire un quadro completo dell’ambiente di rete. “Quello che solitamente faremmo è raccogliere i dati in un database per poter creare un indice utile ad autorizzare le query con maggiore rapidità”, dice Bennett. “Dredge si unisce ai log di flusso con i metadati dell’applicazione mano a mano che li trasmette e indicizza utilizzando un database, il che elimina molte delle difficoltà.”

I dati arricchiti sono immagazzinati in un’applicazione di analisi open-source chiamata Druid. Netflix utilizza la funzionalità di query dei dati OLAP di Druid per suddividere rapidamente i dati in regioni, zone di disponibilità e finestre temporali per visualizzarli e avere una visione completa di come la rete stia agendo ed eseguendo.

AWS è stata una logica scelta per Dredge, in parte perché i dati già risiedevano nell’AWS Cloud. “Sarebbe stato arduo pubblicare, trasmettere e consumare tutte quelle informazioni provenienti da un sistema esterno come può essere Kafka”, dice Bennett. “Sono bastate solo alcune chiamate API per centralizzare diversi terabyte di log di flusso all’interno di Amazon Kinesis Data Streams. Ora possiamo cercare di ottenere informazioni da questi dati oltre ad accedervi semplicemente.”

La scalabilità di Amazon Kinesis Data Streams era una buona misura per l’applicazione di Dredge a causa della natura ciclica ed elastica dell’uso della rete da parte di Netflix. “Quando si tratta dei nostri dati di rete, in termini di costi, è più vantaggioso saperli aumentare e ridurre, e questo non è altrettanto facile da fare con i metodi alternativi ad Amazon Kinesis Data Streams”, dice Bennett.  

Diagramma dell'architettura

netflix_arch_diagram

Migliorare l’Esperienza del Cliente con il Monitoraggio in Tempo Reale della Rete

La soluzione di Netflix basata su Amazon Kinesis Streams si è dimostrata altamente modulare, poiché elabora ogni giorno miliardi di flussi di traffico. In genere, circa 1.000 frammenti di Amazon Kinesis lavorano in parallelo per elaborare il flusso di dati. "Ogni giorno Amazon Kinesis Data Streams elabora diversi terabyte di dati di log, eppure i risultati vengono visualizzati nelle nostre analisi in pochi secondi”, dice Bennett. "Siamo in grado di individuare e risolvere i problemi in tempo reale, garantendo un'elevata disponibilità e un'ottima esperienza per il cliente".

Netflix ora è in grado di individuare nuovi modi per ottimizzare le sue applicazioni, tra i quali spostare un’applicazione da una regione all’altra o adattarla ad un protocollo di rete più idoneo per uno specifico tipo di traffico. “La nostra soluzione costruita su Amazon Kinesis ci permette di individuare modi per aumentare l’efficienza, ridurre i costi, e migliorare la resilienza per poter offrire al cliente la migliore esperienza possibile”, dice Bennett.

Sebbene una soluzione di dati in streaming non sia nuova nell’industria informatica, è una completa novità per gli spazi di networking. “Netflix è fortemente coinvolta con AWS anche grazie al fatto che virtualizza la rete sottostante, in modo che non dobbiamo occuparci di gestire commutatori e router”, dice Bennett. “Stiamo monitorando, analizzando e ottimizzando un livello sempre più alto di accumulo — in forme che non avremmo mai nemmeno pensato di raggiungere, nemmeno gestendo noi stessi i nostri data center.


Nome dell'azienda

Netflix è la prima rete televisiva online al mondo, con più di 100 milioni di utenti in più di 190 paesi che ogni giorno possono godere di 125 milioni di ore di film e programmi televisivi.

Vantaggi di AWS

  • Ogni giorno elabora e arricchisce diversi terabyte, rappresentando miliardi di eventi, con tempi di risposta quasi istantanei per le query analitiche
  • È altamente vantaggioso in termini di costi rispetto alle soluzioni concorrenti
  • La libertà di sperimentare con l’architettura di sistema per arrivare alla soluzione più efficace
  • L’acquisizione dati è avviata tramite poche semplici chiamate API
  • È una soluzione altamente elastica con quasi 1000 frammenti di Amazon Kinesis che lavorano parallelamente

Servizi AWS Utilizzati

Amazon Kinesis Data Streams

KDS (Amazon Kinesis Data Streams) è un servizio di streaming dei dati estremamente modulare e duraturo.

Ulteriori informazioni »


Nozioni di base

Aziende di tutte le taglie e di tutti i settori stanno trasformando ogni giorno la loro attività grazie ad AWS. Contatta i nostri esperti e inizia subito il tuo percorso verso il cloud con AWS.