Python ja Netflix: Mitä tapahtuu, kun suoratoistat elokuvaa?

Tiedä mikä on Netflix ja miten tämä suoratoistojätti käyttää Pythonia eri domineissaan, kuten Operations, Machine learning, Informtion Security jne.

Jokaisen elokuvaharrastajan yhden luukun kohde on tietysti Netflix. Mutta entä jos katselisit suosikkielokuvasi ja se puskuroituu aina silloin tällöin? Sammutat vain sovelluksen ja valitset toisen vaihtoehdon. Mutta miten se hallitsee miljoonien käyttäjien liikennettä nopeasti? Kiitokset . Tässä artikkelissa tutkitaan, miten Netflix käyttää Pythonia.

Aloitetaan katsomalla nopeasti tämän artikkelin täyttävät teemat:



Joten aloitetaan. :)

Netflixin esittely

Netflix-logo - Kuinka Netflix käyttää Python-EdurekaaNetflix on amerikkalainen yritys, joka tarjoaa Video on Demand (VOD) -palveluja. Netflixin pääkonttori sijaitsee Los Gatosissa Kaliforniassa, ja sillä on noin 148 miljoonaa tilaajaa kaikkialla maailmassa, ja määrä kasvaa kuitenkin joka päivä. Noin kahden vuosikymmenen aikana Netflix on noussut maailman suurimpien TV-sarjojen ja elokuvien ”klaanin kuninkaaksi”. Se, että olemme Amerikan nopeimmin kasvava tuotemerkki ja jonka liikevaihto on 20,5 miljardia dollaria vuonna 2019, riittää siihen, että se on 'katseenvangitsija' ja siten mielenkiintoinen kaikilla teknologiallaan.

Saman kiinnostuksen alueen perusteella Netflix on paljastanut, kuinka se käyttää trendikkäintä kieltä, Python , sen infrastruktuurin osalta.

Joten nyt siirrytään katsomaan, kuinka Netflix todella käyttää Pythonia?

kuinka nostaa luku voimaksi jaavassa

Kuinka Netflix käyttää Pythonia?

'Käytämme Pythonia koko sisällön elinkaaren ajan, rahoitettavan sisällön valitsemisesta lopullista videota palvelevan CDN: n käyttämiseen 148 miljoonalle jäsenelle' - Netflixin insinöörit

Vaihtelee from hallinnollisista aloista luotettavuuteen ja Datatiede että jne., Netflix käyttää Pythonia melkein jokaisessa liiketoiminnan reunassa.

Katsotaan nyt tarkemmin miten käytetään Netflixin eri toimialueilla:

Avaa Connect:

Netflix käyttää CDN: tä (Content Delivery Network), joka on Open Connect. Avoin yhteys tulee periaatteessa kuvaan, kun napsautat 'toista' -painiketta. Tämä CDN huolehtii kaikesta loppukäyttäjälle toimitetusta sisällöstä.

Open connect vaatii useita muita ohjelmistojärjestelmiä sen suunnitteluun, rakentamiseen ja käyttämiseen, jotka puolestaan ​​on kirjoitettu Pythonissa. Ei vain tämä, tämän CDN: n taustalla olevat verkkolaitteet ovat Python-sovelluksia, koska Python on merkittävä verkko-ongelmien ratkaisemisessa.

Demand Engineering -tiimi:

Demand Engineering -tiimi on vastuussa Netflix-pilven alueellisten vikojen, liikenteen hallinnan, kapasiteettitoimintojen hallinnan (huolehtiminen rajasta, johon saakka sisältö voidaan tehdä käyttökelpoiseksi) ja laivaston tehokkuuden käsittelystä. Tämän ryhmän käyttämät Python-elementit ovat:

NumPy ja SciPy:

ja SciPy ovat kirjastoja, joita käytetään tieteelliseen laskentaan. Netflix käyttää näitä Python-kirjastoja numeerisen analyysin suorittamiseen, mikä mahdollistaa alueellisten vianmääritysten hallinnan.

Boto3:

Boto3 on ohjelmistokehityspaketti (SDK) joukkueelle Python. Tämä auttaa Python-kehittäjiä integroimaan Pythonin AWS: ään, mikä mahdollistaa infrastruktuurin kehittämisen.

RQ (Redis Queue):

Tämä on Python-kirjasto, joka auttaa seuraamaan jonossa olevia tehtäviä ja mahdollistaa niiden suorittamisen, mikä mahdollistaa asynkronisten kuormitusten hallinnan.

Pullo:

Lopuksi Netflix käyttää Flask (Python Web Development library) -sovellusliittymiä sitomaan kaikki edelliset segmentit yhteen.

Netflix käyttää joka on avoimen lähdekoodin verkkosovellus, jota käytetään Python-kehitykseen yhdessä nteract (Jupyterin laajennus) suuressa mittakaavassa. Jupyterin tiedetään olevan suosittu tietojen analysoinnissa. Se palvelee erittäin hyvin operatiivisten tietojen analysoinnissa ja visualisoinnissa, mikä puolestaan ​​auttaa havaitsemaan kapasiteetin regressioita.

Koneoppimisinfrastruktuuri:

vaihtelee mukauttamisalgoritmien luomisesta käyttötapausten selvittämiseen. Mukauttamisalgoritmit auttavat kouluttamaan koneoppimismalleja Netflix-standardien mukaisesti. Se tarjoaa yksilöllisiä suosituksia, päivittäisiä linjauksia, merkitse sukupolvia jne.

Kirjastot vaaditaan oppimaan Syvät hermoverkot ovat TensorFlow , Kova ja Pytorch ottaa huomioon, että XGBoost ja LightGBM Gradient Boosted päätöksentekopuille.He ovat myös kehittäneet melkoisen korkeamman tason kirjastoja, jotka auttavat yhdistymään työalueisiin, kuten tiedonkeruu, ominaisuuksien poiminta, julkaiseminen jne. Kaiken tämän lisäksi Netflix käyttää myös MetaFlow luoda koneoppimisprojekteja.

'Metaflow vie Pythonin rajat: Hyödynnämme hyvin rinnakkaistettua ja optimoitua Python-koodia hakemaan tietoja 10 Gbps: llä, käsittelemään satoja miljoonia datapisteitä muistissa ja järjestämään laskennan yli kymmenien tuhansien suorittimen ytimien kanssa' - Netflix

Suuri data:

Tiimi on vastuussa ETL: n (pura, muunna, lataa) ja Adhoc-putkistojen toteuttamisesta. Suurin osa tästä orkestraatiosta on kirjoitettu Pythonissa. Tämä joukkue käyttää Jupyter-muistikirjoilla ja paperimyllyllä toimivaa ajoitinta, joka tuottaa työtyyppejä malleilla, esimerkiksi , Pian jne.

Tämän lisäksi tiimi on luonut tapahtumavetoisen alustan, joka on rakennettu kokonaan Pythonille. He ovat luoneet useita tapahtumia ja yhdistäneet sen yhdeksi, jolloin Netflix voi suodattaa, reagoida ja reitittää tapahtumia. Pygenie on myös osa tätä infrastruktuuria, joka on yhteydessä Geniin (esillä oleva työn suorittamispalvelu).

Tieteellinen kokeilu:

Tämä on tieteellisen kokeiluryhmän mahdollistama foorumi A / B-testaus yhdessä joidenkin muiden kokeiden kanssa. Täällä tutkijat ja insinöörit voivat esitellä uusia innovaatioita datassa, tilastoissa ja visualisoinnissa.

Python tässä toteutettu on Metrics Repo joka perustuu PyPika ja mahdollistaa uudelleenkäytettävien parametrisoitujen kyselyjen kirjoittamisen. Tilastosektorin osalta PyArrow ja RPy2 käytetään laskemaan tilastot joko Pythonissa tai R: ssä. Suunniteltu auttaa visualisoinneissa.

Videokoodaus / Media Cloud Engineering:

Tämä tiimi on vastuussa Netflix-luettelon tehtävien koodaamisesta ja uudelleen koodaamisesta. Pythonia käytetään noin 50 projektiin, kuten VMAF (Video Multi-Method Assessment Fusion) ja MezzFS (Mezzanine-tiedostojärjestelmä), Tietokonenäköratkaisut (käsittelee kuvia) käyttämällä Jousimies , jne.

Netflix-animaatio ja NVFX:

Python muodostaa perustan kaikille Netflixin animaatioille ja visuaalisille tehosteille (VFX). Kaikki Maya- ja Nuke-liitot tehdään Pythonilla.

IS (tietoturva):

Netflix käyttää Python-pohjaisia ​​IS-järjestelmiä automaattiseen korjaukseen, tietoturva-automaatioon, riskiluokitukseen jne. Tämän joukkueen aktiivisin avoimen lähdekoodin Python-projekti on Turva-apina . Netflix käyttää myös SIUNATA (Bastionin Lambda Ephemeral SSH -palvelu) suojella SSH (Secure Shell) -resurssit. RepoKid käytetään myöntämään JO käyttöoikeudet ja TLS-varmenteet jaetaan Lemurin kautta. Molemmat tehtävät perustuvat pääasiassa Pythoniin.

Seuranta ja automaattinen korjaus:

Tämä joukkue tunnetaan nimellä Insight Engineering -tiimi. He rakentavat ja toteuttavat työkalujaoperatiiviseen näkemykseen, diagnostiikkaan, automaattiseen korjaamiseen ja muuttamiseen. Suurin osa palveluistaan ​​tämä joukkue käyttää Pythonia, esimerkiksi Spectator Python -asiakaskirjastoa. Tätä kirjastoa käytetään ulottuvuuksien aikasarjojen tallentamiseen. Näiden kirjastojen ohella tuotteet, kuten Winston ja Bolt, rakennetaan myös Python-kehyksiin, jotka ovat , Gunicorn ja Flask-RestPlus.

Kaiken kaikkiaan voidaan helposti väittää, että Python on Netflixin liikkeellepaneva voima. Tämän avulla olemme päässeet tämän blogin loppuun 'Kuinka Netflix käyttää Pythonia?'. Toivon, että olet selvillä kaikesta, josta on keskusteltu.

Saadaksesi syvällistä tietoa Pythonista sen eri sovellusten kanssa, voit ilmoittautua livenä 24/7 -tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse se tämän 'Kuinka Python käyttää Netflixiä' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.