Python e Netflix: cosa succede quando trasmetti un film in streaming?



Scopri cos'è Netflix e come questo gigante dello streaming utilizza Python nei suoi vari domini come Operations, Machine learning, Informtion Security, ecc.

La destinazione unica per ogni appassionato di cinema è, ovviamente, Netflix. Ma cosa succede se guardi il tuo film preferito e continua a fare il buffering ogni tanto? Dovresti semplicemente chiudere l'applicazione e scegliere un'altra opzione. Ma come gestisce rapidamente il traffico di milioni di utenti? Grazie a . In questo articolo, esploriamo come Netflix utilizza Python.

Iniziamo dando una rapida occhiata ai temi che riempiono questo articolo:





Quindi iniziamo. :)

Introduzione a Netflix

Logo Netflix: come Netflix utilizza Python-EdurekaNetflix è una società americana che fornisce servizi di Video on Demand (VOD). Con sede a Los Gatos, in California, Netflix ha circa 148 milioni di abbonati in tutto il mondo e il numero, tuttavia, continua a crescere ogni giorno. In un periodo di circa due decenni, Netflix è emerso come il 'Re del clan' per le più grandi serie TV e film in tutto il mondo. Essendo il marchio in più rapida crescita d'America e con un fatturato di $ 20,5 miliardi nel 2019, è sufficiente per essere un 'colpo d'occhio', quindi interessante per tutti i suoi ambiti tecnologici.



Sulla base della stessa area di interesse, Netflix ha rivelato come utilizza il linguaggio più di tendenza, Pitone , per la sua infrastruttura.

Quindi ora passiamo a vedere in che modo Netflix utilizza effettivamente Python?



In che modo Netflix utilizza Python?

'Usiamo Python attraverso l'intero ciclo di vita dei contenuti, dalla decisione di quali contenuti finanziare fino al funzionamento della CDN che serve il video finale a 148 milioni di membri' - Ingegneri di Netflix

Gamma fdai domini amministrativi all'affidabilità e Scienza dei dati per ecc, Netflix utilizza Python per quasi tutti i margini della loro attività.

Ora diamo uno sguardo più approfondito a come viene utilizzato in vari domini su Netflix:

Apri Connect:

Il CDN (Content Delivery Network) di cui Netflix fa uso è Open Connect. La connessione aperta fondamentalmente entra in scena quando fai clic sul pulsante 'Riproduci'. Tutto il contenuto consegnato all'utente finale è curato da questo CDN.

Open connect richiede vari altri sistemi software per progettarlo, costruirlo e utilizzarlo, che sono a loro volta scritti in Python. Non solo, i dispositivi di rete alla base di questo CDN sono applicazioni Python poiché Python è prominente nella risoluzione dei problemi di rete.

Team di ingegneria della domanda:

Il team di Demand Engineering è responsabile della gestione dei failover regionali del cloud Netflix, dell'amministrazione del traffico, della gestione delle operazioni di capacità (controllando il limite fino al quale il contenuto può essere reso utilizzabile) e dell'efficienza della flotta. Gli elementi di Python utilizzati da questo team sono:

NumPy e SciPy:

e SciPy sono le librerie utilizzate per il calcolo scientifico. Netflix utilizza queste librerie Python per eseguire analisi numeriche consentendo così la gestione dei failover regionali.

Boto3:

Boto3 è il Software Development Kit (SDK) di per Python. Ciò aiuta gli sviluppatori Python a integrare Python in AWS consentendo così lo sviluppo nell'infrastruttura.

RQ (Redis Queue):

Si tratta di una libreria Python che aiuta a tenere traccia delle attività presenti in coda e ne consente l'esecuzione consentendo così la gestione di carichi di lavoro asincroni.

Borraccia:

Infine, Netflix utilizza le API Flask (libreria di sviluppo web Python) per unire insieme tutti i segmenti precedenti.

Netflix utilizza che è un'app Web open source, utilizzata per lo sviluppo di Python insieme a interazione (estensione per Jupyter) su larga scala. Jupyter è noto per essere popolare per l'analisi dei dati. Serve molto bene nell'analisi e visualizzazione dei dati operativi che a loro volta aiutano a rilevare regressioni di capacità.

Infrastruttura di machine learning:

va dalla creazione di algoritmi di personalizzazione alla determinazione dei casi d'uso. Gli algoritmi di personalizzazione aiutano ad addestrare i modelli di Machine Learning secondo gli standard Netflix. Fornisce consigli personalizzati, schemi quotidiani, generazioni di etichette, ecc.

Le biblioteche necessarie per imparare Reti neurali profonde siamo TensorFlow , Difficile , e Pytorch mentre XGBoost e LightGBM per alberi decisionali con potenziamento gradiente.Hanno anche sviluppato alcune librerie di livello superiore che aiutano a combinarsi con le aree di lavoro come la registrazione dei fatti, l'estrazione delle funzionalità, la pubblicazione, ecc. Oltre a tutto questo, Netflix utilizza anche MetaFlow per creare progetti di machine learning.

'Metaflow supera i limiti di Python: sfruttiamo un codice Python ben parallelizzato e ottimizzato per recuperare dati a 10 Gbps, gestire centinaia di milioni di punti dati in memoria e orchestrare il calcolo su decine di migliaia di core CPU' - Netflix

Big Data:

Il il team è responsabile dell'esecuzione di pipeline ETL (estrazione, trasformazione, caricamento) e Adhoc. Una parte importante di questa orchestrazione è scritta in Python. Questo team utilizza uno scheduler che viene eseguito su notebook Jupyter con cartiera per produrre tipi di lavoro con modelli, ad esempio, , Presto, etc.

Oltre a questo, il team ha anche creato una piattaforma basata sugli eventi che è costruita completamente su Python. Hanno creato una serie di eventi e li hanno combinati in uno unico consentendo a Netflix di filtrare, reagire e indirizzare gli eventi. Pygenie fa anche parte di questa infrastruttura che si interfaccia con Genie (servizio di esecuzione dei lavori in primo piano).

Sperimentazione scientifica:

Questa è una piattaforma creata dal team di sperimentazione scientifica per consentire Test A / B insieme ad altre sperimentazioni. Qui, scienziati e ingegneri possono presentare nuove innovazioni nei dati, nelle statistiche e nella visualizzazione.

Il pitone che è implementato qui è Metrics Repo che si basa su PyPika e consente la scrittura di query parametrizzate riutilizzabili. Per il settore statistico, PyArrow e RPy2 vengono utilizzati in modo da calcolare le statistiche in Python o R. Plotly aiuta nelle visualizzazioni.

Codifica video / Media Cloud Engineering:

Questo team è responsabile della codifica e delle attività di ricodifica per il catalogo Netflix. Python viene utilizzato approssimativamente per 50 progetti come VMAF (Video Multi-Method Assessment Fusion) e MezzFS (Mezzanine File System), Soluzioni di visione artificiale (si occupa di immagini) utilizzando Arciere , eccetera.

Animazione Netflix e NVFX:

Python costituisce la base per tutte le animazioni e gli effetti visivi (VFX) su Netflix. Tutte le unioni Maya e Nuke vengono eseguite su Python.

ha una relazione

IS (sicurezza delle informazioni):

Netflix utilizza sistemi IS basati su Python per la riparazione automatica, l'automazione della sicurezza, la classificazione dei rischi, ecc. Il progetto Python open source più attivo di questo team è Scimmia della sicurezza . Netflix utilizza anche BENEDIZIONE (Servizio SSH effimero Lambda di Bastion) proteggere SSH (Secure Shell) risorse. RepoKid è usato per concedere GIÀ le autorizzazioni e i certificati TLS vengono assegnati tramite Lemur. Entrambe queste attività si basano principalmente su Python.

Monitoraggio e riparazione automatica:

Questo team è noto come team Insight Engineering. Costruiscono ed eseguono strumentiper informazioni operative, diagnostica, riparazione automatica e alterazione. Per la maggior parte dei suoi servizi, questo team utilizza Python, ad esempio, la libreria client Spectator Python. Questa libreria viene utilizzata per la registrazione di serie temporali dimensionali. Insieme a queste librerie, anche prodotti come Winston e Bolt sono costruiti su framework Python che sono , Gunicorn e Flask-RestPlus.

Riassumendo, si può facilmente affermare che Python sia la forza trainante di Netflix. Con questo, siamo arrivati ​​alla fine di questo blog su 'Come Netflix usa Python?'. Spero che tu abbia chiaro tutto ciò che è stato discusso.

Per ottenere una conoscenza approfondita di Python e delle sue varie applicazioni, puoi iscriverti a live con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog 'Come Python usa Netflix' e ti risponderemo il prima possibile.