Python și Netflix: ce se întâmplă când transmiteți un film în flux?



Aflați ce este Netflix și modul în care acest gigant de streaming folosește Python în diferitele sale domenii, cum ar fi Operațiuni, învățare automată, securitate a informațiilor etc.

Destinația unică pentru fiecare amator de filme este, desigur, Netflix. Dar dacă te-ai uita la filmul tău preferat și se păstrează din când în când? Ați închide aplicația și ați alege o altă opțiune. Dar, cum gestionează rapid traficul a milioane de utilizatori? Mulțumită . În acest articol, să analizăm modul în care Netflix folosește Python.

Să începem cu o scurtă privire asupra temelor care completează acest articol:





Asadar, haideti sa începem. :)

instalați PHP pe Windows 7

Introducere în Netflix

Sigla Netflix - Cum Netflix folosește Python-EdurekaNetflix este o companie americană care oferă servicii de Video on Demand (VOD). Cu sediul central în Los Gatos, California, Netflix are aproximativ 148 de milioane de abonați în întreaga lume și numărul, totuși, continuă să crească în fiecare zi. Într-o perioadă de aproximativ două decenii, Netflix a apărut ca „Regele clanului” pentru cele mai mari serii și filme TV din întreaga lume. Fiind cea mai rapidă creștere a mărcii din America și având un venit de 20,5 miliarde de dolari în 2019, este suficient pentru ca acesta să fie un „eye-catcher”, interesând astfel toate domeniile sale tehnologice.



Pe baza aceluiași domeniu de interes, Netflix a dezvăluit modul în care folosește cel mai popular limbaj, Piton , pentru infrastructura sa.

Deci, acum să mergem mai departe pentru a vedea cum Netflix folosește de fapt Python?



Cum Netflix folosește Python?

„Folosim Python pe parcursul întregului ciclu de viață al conținutului, de la deciderea ce conținut să finanțăm până la operarea CDN care servește videoclipul final la 148 de milioane de membri” - Ingineri la Netflix

De la from Domenii administrative la Fiabilitate și Știința datelor la etc, Netflix folosește Python pentru aproape toate marginile afacerii lor.

Acum, să aruncăm o privire mai profundă asupra modului în care este utilizat în diferite domenii la Netflix:

Deschideți Conectare:

CDN (Content Delivery Network) pe care Netflix îl folosește este Open Connect. Deschiderea conexiunii intră practic în imagine când faceți clic pe butonul „redare”. Tot conținutul livrat utilizatorului final este îngrijit de acest CDN.

Conectarea deschisă necesită diverse alte sisteme software pentru a-l proiecta, construi și opera, care sunt la rândul lor scrise în Python. Nu doar aceasta, dispozitivele de rețea care stau la baza acestui CDN sunt aplicații Python, deoarece Python este proeminent în rezolvarea problemelor de rețea.

Echipa de ingineri ai cererii:

Echipa Demand Engineering este responsabilă pentru gestionarea failover-urilor regionale ale cloud-ului Netflix, administrarea traficului, gestionarea operațiunilor de capacitate (care se ocupă de limita până la care conținutul poate fi pus la dispoziție) și eficiența flotei. Elementele Python utilizate de această echipă sunt:

NumPy și SciPy:

și SciPy sunt bibliotecile utilizate pentru calculul științific. Netflix folosește aceste biblioteci Python pentru a efectua analize numerice, permițând astfel gestionarea failover-urilor regionale.

Boto3:

Boto3 este kitul de dezvoltare software (SDK) al pentru Python. Acest lucru îi ajută pe dezvoltatorii Python să integreze Python în AWS, permițând astfel dezvoltarea în infrastructură.

RQ (Redis Queue):

Aceasta este o bibliotecă Python care ajută la urmărirea sarcinilor care sunt prezente în coadă și permite executarea acestora permițând astfel gestionarea încărcărilor de lucru asincrone.

Balon:

În cele din urmă, Netflix folosește API-urile Flask (Python Web Development Library) pentru a lega toate segmentele anterioare.

Netflix folosește care este o aplicație web open-source, utilizată pentru dezvoltarea Python împreună cu nteract (extensie pentru Jupyter) pe scară largă. Se știe că Jupyter este popular pentru analiza datelor. Acesta servește foarte bine în analiza și vizualizarea datelor operaționale care, la rândul lor, ajută la detectarea regresiilor de capacitate.

Infrastructură de învățare automată:

variază de la crearea algoritmilor de personalizare până la identificarea cazurilor de utilizare. Algoritmii de personalizare vă ajută să instruiți modelele Machine Learning conform standardelor Netflix. Oferă recomandări personalizate, schițe de zi cu zi, etichetați generațiile etc.

Bibliotecile necesare pentru a învăța Rețele neuronale profunde sunt TensorFlow , Greu , și Pytorch întrucât XGBoost și LightGBM pentru arbori de decizie cu gradient sporit.De asemenea, au dezvoltat destul de multe biblioteci de nivel superior care ajută la combinarea cu domeniile de lucru cum ar fi înregistrarea faptelor, extragerea caracteristicilor, publicarea etc. În afară de toate acestea, Netflix folosește și MetaFlow pentru a crea proiecte de învățare automată.

aplicație web rubin pe șine

„Metaflow depășește limitele Python: folosim codul Python bine paralelizat și optimizat pentru a prelua date la 10 Gbps, pentru a gestiona sute de milioane de puncte de date în memorie și pentru a orchestra calculul pe zeci de mii de nuclee CPU” - Netflix

Date mare:

echipa este responsabilă pentru executarea conductelor ETL (extragere, transformare, încărcare) și Adhoc. O parte majoră a acestei orchestrații este scrisă în Python. Această echipă folosește un programator care rulează pe notebook-uri Jupyter cu moară de hârtie pentru a produce tipuri de lucrări cu șabloane, de exemplu, , În curând etc.

În plus, echipa a creat și o platformă bazată pe evenimente, care este construită complet pe Python. Au creat o serie de evenimente și le-au combinat într-unul singur, permițând Netflix să filtreze, să reacționeze și să direcționeze evenimentele. Pygenie este, de asemenea, o parte a acestei infrastructuri care se interfață cu Genie (serviciu de execuție a jobului).

Experimentare științifică:

Aceasta este o platformă creată de echipa de experimentare științifică pentru a permite Testarea A / B alături de alte experimentări. Aici, oamenii de știință și inginerii pot prezenta noi inovații în date, statistici și vizualizare.

Python care este implementat aici este Metrics Repo pe care se bazează PyPika și permite scrierea interogărilor parametrizate reutilizabile. Pentru sectorul statisticilor, PyArrow și RPy2 sunt utilizate astfel încât să se calculeze statistici fie în Python, fie în R. Complot ajută la vizualizări.

Codificare video / Inginerie cloud media:

Această echipă este responsabilă cu codificarea și recodarea sarcinilor pentru catalogul Netflix. Python este utilizat aproximativ pentru 50 de proiecte precum VMAF (Video Multi-Method Assessment Fusion) și MezzFS (Sistem de fișiere mezanin), Soluții de viziune computerizată (se ocupă de imagini) folosind Arcaş , etc.

Animație Netflix și NVFX:

Python formează baza pentru toate animațiile și efectele vizuale (VFX) de pe Netflix. Toate uniunile Maya și Nuke sunt realizate pe Python.

IS (Securitatea informațiilor):

Netflix folosește sisteme IS alimentate de Python pentru remediere automată, automatizare a securității, clasificarea riscurilor etc. Cel mai activ proiect open source Python al acestei echipe este Maimuță de securitate . Netflix folosește, de asemenea BINECUVÂNTA (Serviciul SSH efemer Lambda al Bastionului) pentru a proteja SSH (Secure Shell) resurse. RepoKid este folosit pentru a acorda DEJA permisiunile și certificatele TLS sunt alocate prin Lemur. Ambele sarcini se bazează în principal pe Python.

Monitorizare și remediere automată:

Această echipă este cunoscută sub numele de echipa Insight Engineering. Ei construiesc și execută instrumentepentru informații operaționale, diagnosticare, remediere automată și modificări. Pentru majoritatea serviciilor sale, această echipă folosește Python, de exemplu, biblioteca client Spectator Python. Această bibliotecă este utilizată pentru înregistrarea seriilor temporale dimensionale. Împreună cu aceste biblioteci, produse precum Winston și Bolt sunt, de asemenea, construite pe cadre Python care sunt , Gunicorn și Flask-RestPlus.

Rezumând totul, se poate pretinde cu ușurință că Python este forța motrice pentru Netflix. Cu aceasta, am ajuns la sfârșitul acestui blog despre „Cum folosește Netflix Python?”. Sper că ai clar toate cele discutate.

diferența dintre c c ++ și java

Pentru a obține cunoștințe aprofundate despre Python împreună cu diferitele sale aplicații, vă puteți înscrie pentru live cu suport 24/7 și acces pe viață.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Cum Python folosește Netflix” și vă vom răspunde cât mai curând posibil.