Python in Netflix: Kaj se zgodi, ko pretakate film?



Vedeti, kaj je Netflix, in kako ta pretočni gigant uporablja Python v svojih različnih domenah, kot so Operacije, Strojno učenje, Informtion Security itd.

Na enem mestu za vsakega ljubitelja filma je seveda Netflix. Kaj pa, če bi gledali svoj najljubši film in se ta vsake toliko časa pušča? Preprosto bi zaprli aplikacijo in izbrali drugo možnost. Kako pa hitro upravlja promet milijonov uporabnikov? Zahvale gredo . V tem članku raziščimo, kako Netflix uporablja Python.

Začnimo s hitrim pregledom tem, ki zapolnjujejo ta članek:





Začnimo torej. :)

Uvod v Netflix

Logotip Netflix-Kako Netflix uporablja Python-EdurekaNetflix je ameriško podjetje, ki ponuja storitve Video on Demand (VOD). Netflix ima s sedežem v Los Gatosu v Kaliforniji približno 148 milijonov naročnikov po vsem svetu, vendar pa število vsak dan narašča. V približno dveh desetletjih je Netflix postal 'kralj klana' za največje televizijske serije in filme po vsem svetu. Biti najhitreje rastoča ameriška blagovna znamka in je leta 2019 ustvarila 20,5 milijarde dolarjev prihodka, je dovolj, da lahko pritegne pozornost, s čimer je zanimiva za vsa tehnološka področja.



Na podlagi istega zanimanja je Netflix razkril, kako uporablja najbolj priljubljen jezik, Python , zaradi svoje infrastrukture.

Zdaj pa pojdimo naprej, da vidimo, kako dejansko Netflix uporablja Python?



Kako Netflix uporablja Python?

'Python uporabljamo skozi celoten življenjski cikel vsebine, od odločitve, katero vsebino bomo financirali, pa vse do upravljanja CDN, ki služi končnemu videu, do 148 milijonov članov' - inženirji pri Netflixu

Razpon fod skrbniških domen do zanesljivosti in Podatkovna znanost do itd., Netflix uporablja Python za skoraj vsak rob svojega poslovanja.

Zdaj pa poglejmo globlje, kako se uporablja v različnih domenah na Netflixu:

Odpri Connect:

CDN (Network Delivery Network), ki ga Netflix uporablja, je Open Connect. Open connect se v bistvu prikaže na sliki, ko kliknete gumb »predvajaj«. Ta CDN skrbi za vso vsebino, ki je dostavljena končnemu uporabniku.

kako uporabiti iterator

Odprto povezovanje zahteva različne druge programske sisteme za njegovo načrtovanje, izdelavo in upravljanje, ki so nato napisani v Pythonu. Ne samo to, omrežne naprave, na katerih temelji ta CDN, so aplikacije Python, saj je Python pomemben pri reševanju omrežnih težav.

Ekipa za povpraševanje po povpraševanju:

Skupina Demand Engineering je odgovorna za upravljanje regionalnih odpovedi oblaka Netflix, upravljanje prometa, upravljanje operacij zmogljivosti (skrb za omejitev, do katere je mogoče uporabiti vsebino) in učinkovitost voznega parka. Elementi Pythona, ki jih uporablja ta ekipa, so:

NumPy in SciPy:

in SciPy so knjižnice, ki se uporabljajo za znanstveno računalništvo. Netflix uporablja te knjižnice Python za izvajanje numerične analize, s čimer omogoča upravljanje regionalnih odpovedi.

Boto3:

Boto3 je komplet za razvoj programske opreme (SDK) za Python. To razvijalcem Pythona pomaga integrirati Python v AWS in s tem omogočiti razvoj v infrastrukturi.

RQ (vrsta Redis):

To je knjižnica Python, ki pomaga spremljati naloge, ki so prisotne v čakalni vrsti, in omogoča njihovo izvajanje, s čimer omogoča upravljanje asinhronih delovnih obremenitev.

Bučka:

Končno Netflix uporablja API-je Flask (knjižnica spletnega razvoja Python) za povezavo vseh prejšnjih segmentov.

Netflix uporablja ki je odprtokodna spletna aplikacija, ki se uporablja za razvoj Pythona skupaj z nteract (razširitev za Jupyter) v velikem obsegu. Znano je, da je Jupyter priljubljen za analizo podatkov. Zelo dobro služi pri analizi in vizualizaciji operativnih podatkov, kar pa pomaga pri odkrivanju regresije zmogljivosti.

Infrastruktura strojnega učenja:

sega od ustvarjanja algoritmov za personalizacijo do ugotavljanja primerov uporabe. Algoritmi za personalizacijo pomagajo usposobiti modele strojnega učenja v skladu s standardi Netflix. Ponuja prilagojena priporočila, vsakodnevne orise, generacije etiket itd.

Knjižnice, ki se morajo učiti Globoke nevronske mreže so TensorFlow , Težko , in Pytorch ker XGBoost in LightGBM za pospešena gradientna drevesa odločanja.Razvili so tudi kar nekaj knjižnic na višji ravni, ki pomagajo pri kombiniranju z delovnimi področji, kot so beleženje dejstev, pridobivanje funkcij, objavljanje itd. Poleg vsega tega Netflix uporablja tudi MetaFlow za ustvarjanje projektov strojnega učenja.

'Metaflow premika meje Pythona: izkoristimo dobro paralelno in optimizirano kodo Pythona za pridobivanje podatkov s hitrostjo 10 Gbps, obdelavo stotin milijonov podatkovnih točk v pomnilniku in organiziranje izračuna na več deset tisoč CPU jeder' - Netflix

Veliki podatki:

The ekipa je odgovorna za izvajanje cevovodov ETL (ekstrakt, pretvorba, nalaganje) in Adhoc. Večji del te orkestracije je napisan v Pythonu. Ta ekipa uporablja načrtovalnik, ki deluje na Jupyter Notebooks s papirnico, da ustvari vrste opravil s predlogami, na primer, , Kmalu itd.

Poleg tega je ekipa ustvarila tudi platformo, ki temelji na dogodkih in je v celoti zgrajena na Pythonu. Ustvarili so številne dogodke in jih združili v enega, ki Netflixu omogoča filtriranje, odzivanje in usmerjanje dogodkov. Pygenie je tudi del te infrastrukture, ki je vmesnik z Genie (predstavljena storitev za izvajanje nalog).

Znanstveno eksperimentiranje:

To je platforma, ki jo je ustvarila skupina za znanstvene eksperimente A / B testiranje skupaj z nekaterimi drugimi poskusi. Tu lahko znanstveniki in inženirji predstavijo nove novosti na področju podatkov, statistik in vizualizacije.

Python ki se izvaja tukaj Metrics Repo ki temelji na PyPika in omogoča pisanje parametriziranih poizvedb za večkratno uporabo. Za statistični sektor PyArrow in RPy2 se uporabljajo za izračun statistike bodisi v Pythonu bodisi v R. Naklepno pomaga pri vizualizacijah.

Video kodiranje / Media Cloud Engineering:

Ta skupina je odgovorna za kodiranje in ponovno kodiranje nalog za katalog Netflix. Python se uporablja približno za 50 projektov, kot je VMAF (Video Multi-Method Assessment Fusion) in MezzFS (Mezzanine File System), Rešitve za računalniški vid (ukvarja se s posnetki) z uporabo Archer itd.

Netflix Animation in NVFX:

Python je osnova za vse animacije in vizualne učinke (VFX) na Netflixu. Vsi sindikati Maya in Nuke delujejo na Pythonu.

IS (informacijska varnost):

Netflix uporablja sisteme IS, ki jih poganja Python, za samodejno sanacijo, varnostno avtomatizacijo, klasifikacijo tveganj itd. Najaktivnejši odprtokodni projekt Python te ekipe je Varnostna opica . Netflix uporablja tudi BLAGOSLOV (Bastionova Lambda Ephemeral SSH Service) zaščititi SSH (Secure Shell) viri. RepoKid se uporablja za dodelitev ŽE dovoljenja in potrdila TLS se dodelijo prek Lemurja. Obe nalogi sta odvisni predvsem od Pythona.

Nadzor in samodejna sanacija:

Ta ekipa je znana kot ekipa Insight Engineering. Izdelujejo in izvajajo orodjaza operativni vpogled, diagnostiko, samodejno sanacijo in spreminjanje. Za večino svojih storitev ta skupina uporablja Python, na primer odjemalsko knjižnico Spectator Python. Ta knjižnica se uporablja za snemanje dimenzijskih časovnih vrst. Skupaj s temi knjižnicami so izdelki, kot sta Winston in Bolt, zgrajeni tudi na ogrodjih Python, ki so , Gunicorn in Flask-RestPlus.

Če povzamemo vse, lahko z lahkoto trdimo, da je Python gonilna sila Netflixa. S tem smo prišli do konca tega spletnega dnevnika na temo 'Kako Netflix uporablja Python?'. Upam, da vam je jasno vse, o čemer je bilo govora.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, se lahko prijavite v živo s 24-urno podporo in življenjskim dostopom.

razlika med html in xml

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega bloga »Kako Python uporablja Netflix« in v najkrajšem možnem času se vam bomo oglasili.