„Python“ ir „Netflix“: kas nutinka, kai transliuojate filmą?



Žinokite, kas yra „Netflix“ ir kaip šis srautinio perdavimo gigantas naudoja „Python“ įvairiuose domanuose, tokiuose kaip „Operations“, „Machine learning“, „Informtion Security“ ir kt.

Kiekvieno kino mėgėjo vieno langelio tikslas, žinoma, yra „Netflix“. Bet kas būtų, jei žiūrėtumėte savo mėgstamą filmą ir jis kaskart palaikytų buferį? Jūs tiesiog išjungtumėte programą ir pasirinktumėte kitą parinktį. Bet kaip greitai valdyti milijonų vartotojų srautą? Ačiū . Šiame straipsnyje panagrinėkime, kaip „Netflix“ naudoja „Python“.

Pradėkime greitai pažvelgti į temas, kurios užpildo šį straipsnį:



Taigi pradėkime. :)

„Netflix“ įvadas

„Netflix“ logotipas - kaip „Netflix“ naudoja „Python-Edureka“„Netflix“ yra amerikiečių kompanija, teikianti „Video on Demand“ (VOD) paslaugas. „Netflix“ būstinė yra Los Gatos mieste, Kalifornijoje, visame pasaulyje turi apie 148 milijonus abonentų, tačiau jų skaičius kiekvieną dieną auga. Maždaug per du dešimtmečius „Netflix“ tapo didžiausių televizijos serialų ir filmų visame pasaulyje „klano karaliumi“. Pakanka būti sparčiausiai augančiu Amerikos prekės ženklu ir gauti 20,5 mlrd. USD pajamų 2019 m., Kad jis taptų „akių gaudytoju“, tuo pačiu dominantis savo technologinėmis sritimis.



Remdamasis ta pačia interesų sritimi, „Netflix“ atskleidė, kaip vartojama populiariausia kalba, „Python“ , dėl savo infrastruktūros.

Taigi dabar pereikime, kaip iš tikrųjų „Netflix“ naudoja „Python“?



Kaip „Netflix“ naudoja „Python“?

„Mes naudojame„ Python “per visą turinio gyvavimo ciklą, pradedant nuo sprendimo, kurį turinį finansuoti, iki CDN, kuris aptarnauja galutinį vaizdo įrašą, valdymo iki 148 milijonų narių“ - „Netflix“ inžinieriai

Nuo fnuo administracinių sričių iki patikimumo ir Duomenų mokslas į ir tt, „Netflix“ naudoja „Python“ beveik kiekvienam savo verslo kraštui.

Dabar pažvelkime į tai giliau yra naudojamas įvairiose „Netflix“ srityse:

Atidarykite „Connect“:

CDN („Content Delivery Network“), kurį naudoja „Netflix“, yra „Open Connect“. „Open connect“ iš esmės atsiranda paveikslėlyje spustelėjus mygtuką „paleisti“. Šis CDN prižiūri visą galutiniam vartotojui pateiktą turinį.

Norint sukurti, kurti ir valdyti „Open Connect“ reikia įvairių kitų programinės įrangos sistemų, kurios savo ruožtu yra parašytos „Python“. Negana to, šio CDN pagrindiniai tinklo įrenginiai yra „Python“ programos, nes „Python“ yra svarbi sprendžiant tinklo problemas.

Paklausos inžinerijos komanda:

„Demand Engineering“ komanda yra atsakinga už „Netflix“ debesies regioninių klaidų, eismo administravimą, pajėgumų operacijų valdymą (prižiūrint ribą, iki kurios turinį galima padaryti tinkamu) ir transporto parko efektyvumą. Šios komandos naudojami „Python“ elementai yra šie:

NumPy ir SciPy:

ir SciPy yra bibliotekos, naudojamos moksliniam skaičiavimui. „Netflix“ naudoja šias „Python“ bibliotekas skaitinei analizei atlikti, tokiu būdu leisdama valdyti regioninius failoverius.

„Boto3“:

Yra „Boto3“ programinės įrangos kūrimo rinkinys (SDK) už „Python“. Tai padeda „Python“ kūrėjams integruoti „Python“ į AWS ir taip leidžia plėtoti infrastruktūrą.

RQ („Redis“ eilė):

Tai yra „Python“ biblioteka, kuri padeda sekti užduotis, esančias eilėje, ir leidžia jas vykdyti, taip leidžiant valdyti asinchroninius darbo krūvius.

Kolba:

Galiausiai „Netflix“ naudoja „Flask“ („Python Web Development library“) API, kad sujungtų visus ankstesnius segmentus.

„Netflix“ naudoja kuri yra atviro kodo žiniatinklio programa, naudojama kartu su „Python“ nteract („Jupyter“ plėtinys) dideliu mastu. Žinoma, kad „Jupyter“ yra populiarus atliekant duomenų analizę. Tai labai gerai naudojama atliekant operatyvinių duomenų analizę ir vizualizaciją, o tai savo ruožtu padeda nustatyti pajėgumų regresijas.

Mašinų mokymosi infrastruktūra:

svyruoja nuo personalizavimo algoritmų kūrimo iki naudojimo atvejų išsiaiškinimo. Suasmeninimo algoritmai padeda mokyti mašininio mokymosi modelius pagal „Netflix“ standartus. Jame pateikiamos individualizuotos rekomendacijos, kasdien pateikiamos metmenys, etikečių kartos ir kt.

Bibliotekos privalėjo mokytis Gilūs neuroniniai tinklai yra „TensorFlow“ , Sunku ir Pytorchas kadangi XGBoost ir „LightGBM“ dėl gradiento padidinto sprendimo medžių.Jie taip pat sukūrė nemažai aukštesnio lygio bibliotekų, kurios padeda derinti su tokiomis darbo sritimis kaip faktų registravimas, funkcijų išskyrimas, leidyba ir kt. Be viso to, „Netflix“ taip pat naudoja „MetaFlow“ kurti mašininio mokymosi projektus.

lentos duomenys, sumaišantys kairįjį sujungimą

„„ Metaflow “peržengia„ Python “ribas: mes naudojame gerai suderintą ir optimizuotą„ Python “kodą, kad gautume duomenis 10 Gbps greičiu, tvarkytume šimtus milijonų duomenų taškų atmintyje ir tvarkytume skaičiavimus per dešimtis tūkstančių procesoriaus branduolių“ - Netflix

Dideli duomenys:

komanda yra atsakinga už ETL (ištraukimas, transformavimas, apkrova) ir Adhoc vamzdynų vykdymą. Didžioji šios orkestruotės dalis parašyta „Python“. Ši komanda naudoja planuoklį, kuris veikia su „Jupyter“ užrašų knygelėmis su popieriaus malūnu, kad sukurtų užduočių tipus su šablonais, pavyzdžiui, , Netrukus ir kt.

Be to, komanda taip pat sukūrė į įvykius orientuotą platformą, visiškai sukurtą „Python“. Jie sukūrė daugybę įvykių ir sujungė juos į vieną, leidžiantį „Netflix“ filtruoti, reaguoti ir nukreipti įvykius. Pygenie taip pat yra šios infrastruktūros dalis, sąsaja su „Genie“ (siūloma darbo vykdymo paslauga).

Moksliniai eksperimentai:

Tai yra platforma, kurią mokslinių eksperimentų komanda sukūrė A / B bandymai kartu su kai kuriais kitais eksperimentais. Čia mokslininkai ir inžinieriai gali pristatyti naujas duomenų, statistikos ir vizualizacijos naujoves.

„Python“ kad čia įgyvendinama yra Metrika Repo kuri remiasi PyPika ir leidžia rašyti daugkartines parametrų užklausas. Statistikos sektoriui PyArrow ir RPy2 yra naudojami norint apskaičiuoti statistiką „Python“ arba „R“. Plotingai padeda vizualizuoti.

Vaizdo įrašų kodavimas / „Media Cloud Engineering“:

Ši komanda yra atsakinga už „Netflix“ katalogo užduočių kodavimą ir perkodavimą. „Python“ naudojamas maždaug 50 projektų, tokių kaip VMAF (Vaizdo įrašų kelių metodų vertinimo sintezė) ir „MezzFS“ (Mezzanine File System), Kompiuterinės vizijos sprendimai (nagrinėja vaizdus) naudojant Šaulys ir kt.

„Netflix Animation“ ir „NVFX“:

„Python“ sudaro visų „Netflix“ animacijų ir vaizdinių efektų (VFX) pagrindą. Visos „Maya“ ir „Nuke“ sąjungos yra daromos „Python“.

IS (informacijos saugumas):

„Netflix“ naudoja „Python“ palaikomas IS sistemas automatiniam atkūrimui, saugumo automatizavimui, rizikos klasifikavimui ir kt. Aktyviausias šios komandos atvirojo kodo „Python“ projektas yra Saugumo beždžionė . „Netflix“ taip pat naudoja PALAIMINK („Bastion“ trumpalaikė SSH tarnyba „Lambda“) apsaugoti SSH („Secure Shell“) šaltiniai. „RepoKid“ naudojama dotacijai gauti JAU leidimai ir TLS sertifikatai suteikiami per „Lemur“. Abi šios užduotys daugiausia priklauso nuo „Python“.

Stebėjimas ir automatinis gydymas:

Ši komanda yra žinoma kaip „Insight Engineering“ komanda. Jie kuria ir vykdo įrankiusoperatyvinei įžvalgai, diagnostikai, automatiniam taisymui ir keitimui. Daugeliui savo paslaugų ši komanda naudoja „Python“, pavyzdžiui, „Spectator Python“ klientų biblioteką. Ši biblioteka naudojama matmenų laiko eilutėms įrašyti. Kartu su šiomis bibliotekomis tokie produktai kaip „Winston“ ir „Bolt“ taip pat yra kuriami ant „Python“ sistemų, kurios yra , Gunicorn ir Flask-RestPlus.

Apibendrinant visa tai galima lengvai teigti, kad „Python“ yra „Netflix“ varomoji jėga. Tuo mes pasiekėme šio tinklaraščio pabaigą tema „Kaip„ Netflix “naudoja„ Python “? Tikiuosi, kad jums viskas aišku, kas aptarta.

Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite užsiregistruoti tiesiogiai su parą visą parą ir visą gyvenimą.

Turite mums klausimą? Prašau paminėti tai šio tinklaraščio „Kaip„ Python “naudoja„ Netflix ““ komentarų skyriuje, ir mes kuo greičiau susisieksime su jumis.