30
Floriana Benedetti - Diego Carniglia

Netflix: cos'è, come funziona

Embed Size (px)

Citation preview

Page 1: Netflix: cos'è, come funziona

Floriana Benedetti - Diego Carniglia

Page 2: Netflix: cos'è, come funziona

INTRODUZIONEBreve storia della piattaforma, con focus sulla crescita economica e sulla

filosofia aziendale

Page 3: Netflix: cos'è, come funziona

CHE COS’È NETFLIX• Netflix è una società statunitense fondata nel 1997

• Nata originariamente per offrire un servizio di noleggio di DVD e videogiochi via Internet

• Ora è conosciuta come provider internazionale di contenuti multimediali in streaming on-demand via Internet

• È attualmente disponibile nel Nord e Sud America, Australia, Nuova Zelanda, Giappone e parte dell’Europa (tra cui l’Italia, dal 22 ottobre 2015)

• Il cliente che vuole usufruire dei servizi deve sottoscrivere un apposito abbonamento, il cui costo è variabile a seconda della qualità del servizio erogato e del numero di dispositivi che si possono collegare al servizio.

Page 4: Netflix: cos'è, come funziona

BREVI CENNI STORICI1997: Fondazione da

parte di Marc Randolph e Reed Hastings in

Scotts Valley, California

1998: Creato il sito web

1999/2000: Introdotta la

sottoscrizione mensile e

abbandonato il modello tradizionale

di noleggio

20062009: Indetto un concorso per

migliorare le performance

dell'algoritmo di suggerimento dei film

2008: Introdotta la possibilità di

guardare video on demand tramite

Internet

2010: Inizio della migrazione dai data center proprietari ad Amazon Web

Services

2011: Scissione dei due servizi di

noleggio DVD e streaming

2013: Aggiunta all’interfaccia di

Netflix la possibilità di condividere

tramite Facebook i titoli dei film visti

Page 5: Netflix: cos'è, come funziona

LA CRESCITA DI NETFLIX

2005: 35mila diversi titoli di film disponibili, noleggio di circa 1 mln di DVD al giorno

2007: miliardesimo DVD noleggiato

2009: oltrepassata quota 10mln abbonati; oltre 100mila titoli disponibili

Aprile 2011: 26mln di abbonati (23mln in USA)

Aprile 2013: 36mln di abbonati (30 mln USA)

Ottobre 2015: 69mln (43mln in USA)

Page 6: Netflix: cos'è, come funziona

ASPETTI ECONOMICI

2003Primo profitto di Netflix: il guadagno è stato di 6.5mln $, su un fatturato totale di 272mln $

2010Il prezzo delle azioni aumenta a 176$; il fatturato annuale è di 2,16 miliardi di $ e il guadagno netto di 161mln $

Luglio 2011Picco economico: il valore delle azioni sale a 299$

Dicembre 2011La scissione dei due servizi su cui si basava Netflix comporta una notevole perdita di fatturato e il crollo del valore delle azioni (-75% rispetto ai parametri estivi)

2015Il valore di mercato ad inizio anno di Netflix è di 32.9 miliardi di $; l’attuale valore delle azioni è di circa 127$ (Dicembre 2015)

Page 7: Netflix: cos'è, come funziona

LA FILOSOFIA AZIENDALE DI NETFLIX -

1• Sono state ripensate e riorganizzate le Human Resources.

• Valutati i “valori” delle persone: capacità di giudizio, capacità di comunicazione e collaborazione, “impatto” sull’azienda, curiosità e capacità di apprendimento, spirito di iniziativa, coraggio, passione, onestà, altruismo, responsabilità

• High Personal Culture: L’azienda valuta le persone sulla base del rendimento e sul conseguente raggiungimento di risultati, a livello individuale e di gruppo.

• Mentalità vincente crescita dell’azienda complessità del sistema diminuisce la “densità di talento” il “disordine” aumenta. Soluzione: aumentare la densità di talento più velocemente di quanto cresca la business complexity!

Page 8: Netflix: cos'è, come funziona

LA FILOSOFIA AZIENDALE DI NETFLIX - 2

• Assegnando a ciascuno un ruolo ben definito• Delineando una precisa strategia• Lasciando trasparire le decisioni prese• Ponendo priorità (di tempo, di risorse) ai diversi task,

indicando il livello di precisione desiderato• Ponendo obiettivi finali

Regola chiave: non basarsi sul

controllo dei propri

dipendenti, bensì

focalizzarsi sul contesto

appropriato:

Page 9: Netflix: cos'è, come funziona

L’ARCHITETTURAL’evoluzione di Netflix verso un’applicazione completamente basata su

cloud

Page 10: Netflix: cos'è, come funziona

IL PASSATO DI NETFLIX

PC dell’utente (tramite web

browser)

Utente finale

Datacenter privato di

Netflix

CDN distribuito

Web-App Monolitica

Streaming-App Monolitica

CDN di Akamai, Limelight, Level3

Oracle

MySQL

Oracle

MySQL

Gestione ed encoding

del contenuto

Page 11: Netflix: cos'è, come funziona

COM’È NETFLIX ORA

Dispositivo dell’utente (PC,

smartphone, tablet, smart tv,

console..)

Utente finale

Amazon Web

Services

CDN distribuito

Sito Web o Discovery API

Streaming API

CDN di Netflix: OpenConnect

Dati utente

Personalizzazione

DRM (diritti d’autore)

Gestione e logging della

QoS

Gestione ed indirizzamento

Encoding del contenuto

Page 12: Netflix: cos'è, come funziona

ENTRANDO NEL VIVO DELL’ARGOMENTO….

Amazon Web Services EC2

+ S3

NoSQL database: Cassandra

OpenConnect CDN

Servizio di streaming• Infrastruttura del servizio

• Dati di visione

Algoritmi più importanti• Streaming adattivo

• Classificazione

Page 13: Netflix: cos'è, come funziona

AMAZON WEB SERVICES• Netflix si colloca in una sorta di zona grigia tra public e private cloud • La scelta di utilizzare servizi di cloud computing e di storage di Amazon è stata fatta per

questioni di scalabilità, per gestire:• Crescita degli utenti e picchi di carico• Evoluzione tecnologica

• Netflix utilizza i servizi Amazon come fornitore di piattaforme di elaborazione e storage, cioè di infrastruttura IaaS (Infrastructure as a Service)

«We want to use clouds, we don’t have time to build them»

• Amazon è un concorrente di Netflix come fornitore di servizi di streaming video (Fire TV)• Molti competitor di Amazon utilizzano i suoi servizi• Strategia trasformare i concorrenti in partners

Page 14: Netflix: cos'è, come funziona

AMAZON EC2 (ELASTIC CLOUD COMPUTING) - 1

EBS: Elastic Block Store• Storage persistente collegato alla rete

Istanze altamente configurabiliAvailability zones

• Ubicazioni separate• Connettività economica e a bassa latenza• Regioni di disponibilità: formate da una o più zone• Sistema sviluppato per proteggere dai guasti derivanti da avere istanze in una sola zona

Indirizzi IP elastici• Indirizzi IP statici pensati per il cloud computing, associati all’account e non alle istanze• In caso di guasto di istanze o di zone di disponibilità l’indirizzo IP si rimappa automaticamente ad istanze sostitutive

Page 15: Netflix: cos'è, come funziona

AMAZON EC2 (ELASTIC CLOUD COMPUTING) - 2

ASG: Auto Scaling Groups• L’auto-scaling consente di ridimensionare automaticamente le capacità di

EC2 in base a condizioni stabilite• ASG sono quindi gruppi che, senza interruzioni delle operazioni ,

aumentano e diminuiscono il numero di istanze

ELB: Elastic Load Balancing• Distribuisce automaticamente il traffico di applicazioni in ingresso su più

istanze• Rileva le istanze guaste presenti in un pool e re-instrada automaticamente

il traffico

Page 16: Netflix: cos'è, come funziona

AMAZON S3 (SIMPLE STORAGE SERVICE)

• È un servizio di storage connesso ai servizi di cloud computing

• Offre diverse caratteristiche importanti in un servizio di questo tipo• Durabilità

• Disponibilità

• Scalabilità

• Alte prestazioni

• Gli ingegneri di Netflix hanno adattato e arricchito JetS3t, un’interfaccia in Java per S3

• Hanno inoltre aggiunto il supporto per l’upload multipart di files

Page 17: Netflix: cos'è, come funziona

PERSISTENZA DEI DATI:

IL MODELLO NO-SQL – 1Inizialmente, Netflix utilizzava il modello relazionale tradizionale per la

conservazione persistente di dati e la successiva interrogazione

Con la migrazione nel cloud, si è posta un’importante problematica: come mantenere velocità e tolleranza ai guasti in una base di dati altamente

distribuita?

Teorema CAP: formulato da Eric Brewer all’inizio degli anni 2000, e dimostrato nel 2002, afferma che non è possibile avere contemporaneamente, in un sistema

distribuito, Consistency (consistenza, coerenza), Availability (disponibilità) e Partition- Tolerance (tolleranza al partizionamento della rete, conseguente ad un

guasto)

Page 18: Netflix: cos'è, come funziona

PERSISTENZA DEI DATI:

IL MODELLO NO-SQL – 2Le reti e i nodi falliranno sempre: P è una costante

La scelta quindi si riduce ad AP o CP: Netflix ha scelto la availability, piuttosto che la strong-consistency (quindi modello AP)• Alta disponibilità migliore esperienza utente

Scelta obbligata: database di tipo non relazionale• NO query di join né consistenza del tipo read-after-write• Tre tipi di DB NoSQL: SimpleDB (di AWS), Hbase e Cassandra, il più usato in Netflix

Page 19: Netflix: cos'è, come funziona

APACHE CASSANDRA – 1

Database NoSQL open-source distribuito sotto licenza Apache: flessibile, scalabile e performante

A differenza di soluzioni come MySQL o SimpleDB, Cassandra può scalare orizzontalmente e dinamicamente

Scaling verticale: aggiungere più CPU e RAM a macchine esistenti: questo significa disconnettere la macchina dalla rete per poterla modificareScaling orizzontale: aggiungere macchine al pool di risorse, senza quindi disconnettere nessun nodo dalla reteIn Cassandra, tutti i nodi hanno lo stesso ruolo: questo significa che non c’è nessun “nodo master” e quindi nessun “single point of failure”

Page 20: Netflix: cos'è, come funziona

APACHE CASSANDRA – 2

• Chiave – valore: paradigma di storage che implica la memorizzazione di dati come un array associativo

• Column – oriented: immagazzina tabelle di dati come sezioni di colonne di dati

• Colonna: una tupla che consiste di un nome unico, un valore, e un timestamp

Ibrido tra database di tipo chiave – valore e uno “column – oriented”

• Consistenza “tunable”• Tabella: mappa multidimensionale distribuita• Keyspace → Famiglia di Super-Colonne→ Riga della famiglia di Super-Colonne→ Super Colonna → Colonna→ Valore

• Le tabelle possono essere create, cancellate e alterate in run-time senza bloccare updates né query

• Cassandra non supporta né join né query indentate. Anzi, enfatizza la denormalizzazione alte prestazioni (soprattutto in scrittura)

Modello a partizionamento, decentralizzato

Page 21: Netflix: cos'è, come funziona

QUALCHE NUMERO…• Decine di migliaia di nodi di elaborazione su AWS

EC2• Generalmente 4 core, 30 GByte di RAM, Java VM• Migliaia creati/rimossi ogni giorno• Diversi tipi delle istanze disponibili in EC2 utilizzati, a

seconda dell’applicazione

Business logic (core di elaborazione)

• Migliaia di nodi NoSQL Cassandra, sempre su EC2 • 8 core, 60GByte RAM, 2TByte di SSD• 65 diversi clusters, oltre 300TB di dati totali (dati del

novembre 2013), replicati in tre zone per ogni regione• Oltre 40 clusters sono multi-regione

Storage dei dati –

Cassandra

Page 22: Netflix: cos'è, come funziona

PER COSA NETFLIX NON USA AWS?

• PagerDuty: servizio di aggregazione e inoltro di allarmi per gli amministratori del sistema

• OneLogin: servizio di single-sign-on (SSO)Applicazioni

SaaS• Il servizio DNS di AWS, Route53, è carente per le esigenze di

Netflix• Strategia: utilizzo di più sistemi (Dyn, UltraDNS, parte di

Route53)• “The Denominator”: libreria open-source che fornisce

interfaccia comune a questi sistemi

Servizio DNS

• Content Delivery Network: è la distribuzione all’utente finale

• OpenConnect: box hardware, per alleggerire il lavoro dei server del cloud soprattutto nelle zone ove gli ISP hanno più traffico

Servizio CDN

Page 23: Netflix: cos'è, come funziona

NETFLIX CDN: OPEN CONNECT

Che cos’è• È un “hardware appliance” che, in piccole dimensioni fisiche, contiene l’intero

Netflix• È installato gratuitamente negli Internet Service Providers dove le richieste sono

molto elevate e le connessioni lente• Si presenta come una scatola piena di hard disk, anche più di 100 TB, che può

servire un’intera zonaCome funziona

• Mantiene replicati parte dei contenuti più visti dell’intero catalogo, tramite backup e altri sistemi di ridondanza Viene così limitato il problema del flusso di traffico, che può andare a congestionare reti e nodi

• Pensato per garantire la migliore esperienza possibile di visione in HD dei contenuti

Page 24: Netflix: cos'è, come funziona

ARCHITETTURA DEL SERVIZIO DI

STREAMING – 1 • Ogni volta che un utente inizia a vedere un film, viene creata una “view” nei data

systems di Netflix e viene raccolta una collezione di eventi che descrivono tale view.

• Il sistema di Netflix mantiene in memoria• L’intera cronologia delle visioni di ciascun abbonato• Per quanto tempo ogni film è stato visto da ogni utente• Dove l’utente ha interrotto l’ultima volta la visione

• Attualmente• Vengono processati più di un miliardo di eventi al giorno• Vengono viste oltre 2 miliardi di ore di contenuti ogni mese• Il traffico internet degli abbonati, in alcuni paesi come gli USA, è quasi 1/3 del totale

Page 25: Netflix: cos'è, come funziona

ARCHITETTURA DEL SERVIZIO DI

STREAMING – 2Viewing service• Interfaccia primaria dell’architettura, è

segmentato in livello stateful e statelessLivello stateful• Tiene in memoria gli ultimi dati per tutte le visioni

attive, partizionandoli in N nodi• Problema: designato per favorire la consistenza

anziché la disponibilità il fallimento di un solo nodo stateful impediva agli altri di visualizzare o scrivere la viewing history

Livello stateless• Pensato per introdurre un maggiore grado di

availability fornisce dati obsoleti come meccanismo di backup quando un nodo stateful non è raggiungibile

Page 26: Netflix: cos'è, come funziona

STREAMING “MPEG-DASH”

Dynamic Adaptive Streaming over HTTP• E’ un sistema per trasmettere video sulla rete che adatta la risoluzione a

seconda della connessione• Valutata la stabilità della connessione più che la velocità massima

raggiungibile• L’algoritmo utilizzato da Netflix non è stato reso noto

Parallel Streaming• Quando si guarda un film su Netflix i contenuti arrivano da più nodi, anche tre

in parallelo.• Se c’è un intasamento su un nodo, gli altri possono intervenire senza che il

film subisca la più piccola interruzione o il minimo calo di qualità.

Page 27: Netflix: cos'è, come funziona

ALGORITMI DI CLASSIFICAZIONE

• Netflix possiede una moltitudine di algoritmi, che si occupano di

• Predire la classificazione che l’utente darà ad un certo film• Organizzare in “righe” i film nella homepage di ciascun utente • Creare raggruppamenti tematici e personalizzabili di video

• Il fine comune è quello di popolare al meglio la pagina dei contenuti, personalizzandola su misura per ciascun cliente, sulla base delle classificazioni date e predette.

• Due degli algoritmi più noti sono

• RBM (Restricted Boltzmann Machines): modello di Neural Network studiato appositamente per predire le classificazioni.

• SVD++ (Singular Value Decomposition): modello matematico che elabora diversi tipi di dati (clicks, azioni, cronologia, ... ) per indicare le preferenze dell’utente.

Page 28: Netflix: cos'è, come funziona

IL FUTURO DI NETFLIX• Netflix intende portare avanti la sua evoluzione, seguendo alcuni principi:

• Availability over Consistency• Microservices: i componenti architetturali separati tra loro per fornire servizi• Polyglot persistence: usate tecnologie di persistenza multiple per valutare e dar peso ad ogni

possibile soluzione

• L’obiettivo è quello di• Scalare verso un ordine di grandezza superiore• Porre le fondamenta per venire incontro alle esigenze di un numero sempre più vasto di utenti

• E’ un lavoro critico: molto tempo richiesto, testing, terreno di prova “difficile”• Le assunzioni, per chi fosse in grado di aiutare, sono aperte!

Page 29: Netflix: cos'è, come funziona

BIBLIOGRAFIA• https://en.wikipedia.org/wiki/Netflix• http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html• http://techblog.netflix.com/2015/01/netflixs-viewing-data-how-we-know-where.html• http://techblog.netflix.com/2010/12/four-reasons-we-choose-amazons-cloud-as.html• https://aws.amazon.com/it/ec2/details/• https://aws.amazon.com/it/s3/• http://www.slideshare.net/adrianco/global-netflix-platform• https://en.wikipedia.org/wiki/Apache_Cassandra• http://techblog.netflix.com/2011/01/nosql-at-netflix.html• http://

www.dday.it/redazione/17530/netflix-portiamo-contenuti-e-qualita-internet-lento-in-italia-non-avremo-problemi

Page 30: Netflix: cos'è, come funziona

GRAZIE PER LA VOSTRA ATTENZIONE!