Python i Netflix: Što se događa kada emitirate film?



Znajte što je Netflix i kako ovaj streaming gigant koristi Python u raznim domijanima kao što su Operacije, Strojno učenje, Informtion Security itd.

Jedno odredište za svakog ljubitelja filma je, naravno, Netflix. Ali što ako ste gledali svoj omiljeni film i on se svako malo puferira? Samo biste isključili aplikaciju i odabrali drugu opciju. Ali, kako brzo upravlja prometom milijuna korisnika? Zahvaljujući . U ovom članku istražimo kako Netflix koristi Python.

Počnimo s kratkim uvidom u teme koje ispunjavaju ovaj članak:





razlika između hashmape i hashtable

Pa krenimo. :)

Uvod u Netflix

Netflixov logotip - Kako Netflix koristi Python-EdurekaNetflix je američka tvrtka koja pruža usluge Video on Demand (VOD). Sa sjedištem u Los Gatosu u Kaliforniji, Netflix ima oko 148 milijuna pretplatnika po cijelom svijetu, no taj broj raste svaki dan. U razdoblju od otprilike dva desetljeća Netflix je postao 'kralj klana' za najveće Tv serije i filmove širom svijeta. Biti najbrže rastuća marka Amerike i imati prihod od 20,5 milijardi američkih dolara u 2019. godini, dovoljno je da bude „privlačan oku“, a time zanimljiv u svim svojim tehnološkim sferama.



Na temelju istog područja interesa, Netflix je otkrio kako koristi jezik u trendu, Piton , zbog svoje infrastrukture.

Pa krenimo sada da vidimo kako zapravo Netflix koristi Python?



Kako Netflix koristi Python?

'Python koristimo kroz puni životni ciklus sadržaja, od odluke koji sadržaj financirati pa sve do upravljanja CDN-om koji služi završnom videu, do 148 milijuna članova' - inženjeri na Netflixu

Domet fod administrativnih domena do pouzdanosti i Znanost o podacima do itd., Netflix koristi Python za gotovo sve rubove svog poslovanja.

Sada ćemo dublje pogledati kako koristi se u raznim domenama na Netflixu:

Otvori Connect:

CDN (mreža za isporuku sadržaja) koju Netflix koristi je Open Connect. Open connect se u osnovi pojavljuje u slici kada kliknete na gumb 'reproduciraj'. Ovaj CDN čuva sav sadržaj isporučen krajnjem korisniku.

Open connect zahtijeva razne druge softverske sustave za njegovo projektiranje, izgradnju i upravljanje, koji su pak napisani na Pythonu. I ne samo to, mrežni uređaji koji leže u osnovi ovog CDN-a su Python aplikacije jer je Python istaknut u rješavanju mrežnih problema.

Inženjerski tim za potražnju:

Tim Demand Engineering odgovoran je za upravljanje regionalnim preusmjeravanjima u oblaku Netflix, administracijom prometa, upravljanjem kapacitetima (pazeći na ograničenje do kojeg se sadržaj može učiniti uslužnim) i efikasnošću flote. Elementi Pythona koje koristi ovaj tim su:

NumPy i SciPy:

i SciPy jesu knjižnice koje se koriste za znanstveno računanje. Netflix koristi ove Python biblioteke za obavljanje numeričke analize čime omogućava upravljanje regionalnim preusmjeravanjima.

Boto3:

Boto3 je komplet za razvoj softvera (SDK) tvrtke za Python. To pomaže programerima Pythona da integriraju Python u AWS, omogućujući tako razvoj infrastrukture.

RQ (Redis Red):

Ovo je Python biblioteka koja pomaže u evidentiranju zadataka koji su prisutni u redu i omogućuje njihovo izvršavanje, omogućavajući tako upravljanje asinkronim radnim opterećenjima.

Tikvica:

Napokon, Netflix koristi API-je Flask (biblioteka Python Web Development) za povezivanje svih prethodnih segmenata.

kako izraditi Salesforce aplikaciju

Netflix koristi koja je web aplikacija otvorenog koda i koristi se za razvoj Pythona zajedno s međusobno djeluju (produžetak za Jupyter) u velikim razmjerima. Poznato je da je Jupyter popularan za analizu podataka. Vrlo dobro služi u operativnoj analizi i vizualizaciji podataka, što zauzvrat pomaže u otkrivanju regresije kapaciteta.

Infrastruktura strojnog učenja:

kreće se od stvaranja algoritama za personalizaciju do otkrivanja slučajeva korištenja. Algoritmi personalizacije pomažu u obuci modela strojnog učenja prema Netflixovim standardima. Pruža personalizirane preporuke, svakodnevne obrise, generacije etiketa itd.

Knjižnice potrebne za učenje Duboke neuronske mreže jesu TensorFlow , Teško , i Pytorch dok XGBoost i Svjetlo GBM za stabla s pojačanim gradijentom.Također su razvili nekoliko biblioteka više razine koje pomažu u kombiniranju s radnim područjima kao što su bilježenje činjenica, izdvajanje značajki, objavljivanje itd. Uz sve to, Netflix također koristi MetaFlow za stvaranje projekata strojnog učenja.

'Metaflow pomiče ograničenja Pythona: Koristimo dobro paralelizirani i optimizirani Python kôd za dohvaćanje podataka s brzinom od 10 Gbps, rukovanje stotinama milijuna podatkovnih točaka u memoriji i organiziranje izračunavanja na desetke tisuća CPU jezgri' - Netflix

Veliki podaci:

The tim je odgovoran za izvršavanje ETL (ekstrakt, transformacija, učitavanje) i Adhoc cjevovoda. Veći dio ove orkestracije napisan je na Pythonu. Ovaj tim koristi rokovnik koji radi na Jupyter bilježnicama s papirom za proizvodnju vrsta poslova s ​​predlošcima, na primjer, , Uskoro itd.

Uz to, tim je također stvorio platformu vođenu događajima koja je u potpunosti izgrađena na Pythonu. Stvorili su brojne događaje i kombinirali ih u jedan koji Netflixu omogućuje filtriranje, reagiranje i usmjeravanje događaja. Pygenie je također dio ove infrastrukture koja se povezuje s Genie (istaknuta usluga izvršenja poslova).

Znanstveno eksperimentiranje:

Ovo je platforma koju je omogućio znanstveni eksperimentalni tim A / B testiranje zajedno s nekim drugim eksperimentima. Ovdje znanstvenici i inženjeri mogu predstaviti nove inovacije u podacima, statistikama i vizualizaciji.

Python koja se ovdje provodi Metrics Repo koja se temelji na PyPika i omogućuje pisanje parametarskih upita za višekratnu upotrebu. Za sektor statistike, PyArrow i RPy2 koriste se za izračunavanje statistike bilo u Pythonu ili u R. Kompletno pomaže u vizualizacijama.

Kodiranje video zapisa / Media Cloud Engineering:

Ovaj je tim odgovoran za kodiranje i ponovno kodiranje zadataka za Netflix katalog. Python se koristi otprilike za 50 projekata poput VMAF (Video višestruka metoda procjene fuzije) i MezzFS (Mezzanine datotečni sustav), Rješenja za računalni vid (bavi se slikama) pomoću Strijelac itd.

Netflix Animation i NVFX:

Python čini bazu za sve animacije i vizualne efekte (VFX) na Netflixu. Svi sindikati Maya i Nuke rade na Pythonu.

java promijeni dvostruko u int

IS (informacijska sigurnost):

Netflix koristi Python IS sustave za automatsku sanaciju, sigurnosnu automatizaciju, klasifikaciju rizika itd. Najaktivniji Python projekt otvorenog koda ovog tima je Majmun sigurnosti . Netflix također koristi BLAGOSLOV (Bastionova Lambda Ephemeral SSH služba) zaštititi SSH Resursi (Secure Shell). RepoKid koristi se za dodjelu VEĆ dozvole i TLS certifikati dodjeljuju se putem Lemura. Oba se zadatka uglavnom oslanjaju na Python.

Nadzor i automatsko sanacija:

Ovaj je tim poznat kao Insight Engineering tim. Oni grade i izvršavaju alateza operativni uvid, dijagnostiku, auto-sanaciju i izmjene. Za većinu svojih usluga ovaj tim koristi Python, na primjer, klijentsku knjižnicu Spectator Python. Ova se knjižnica koristi za snimanje dimenzionalnih vremenskih serija. Zajedno s tim knjižnicama, proizvodi poput Winstona i Bolta također su izgrađeni na Python okvirima koji jesu , Gunicorn i Flask-RestPlus.

Sumirajući sve, lako se može tvrditi da je Python pokretačka snaga Netflixa. Ovim smo došli do kraja ovog bloga na temu „Kako Netflix koristi Python?“. Nadam se da vam je jasno sve o čemu se razgovaralo.

Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, možete se prijaviti uživo s 24/7 podrškom i doživotnim pristupom.

Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare ovog bloga 'Kako Python koristi Netflix' i javit ćemo vam se što je prije moguće.