Python ja Netflix: mis juhtub filmi voogesituse ajal?

Tea, mis on Netflix ja kuidas see voogesituse hiiglane kasutab Pythoni oma erinevates domeenides, näiteks Operations, Machine learning, Informtion Security jne.

Iga filmihuvilise ühekordne sihtkoht on loomulikult Netflix. Aga mis oleks, kui vaataksite oma lemmikfilmi ja see puhverdaks iga natukese aja tagant? Sa lihtsalt sulgeksid rakenduse ja valiksid teise võimaluse. Kuid kuidas see miljonite kasutajate liiklust kiiresti haldab? Tänu . Selles artiklis uurime, kuidas Netflix Pythoni kasutab.



Alustuseks võtame kiire ülevaate teemadest, mis selle artikli täidavad:



Nii et alustame. :)

kuidas arv Java-s ümber pöörata

Netflixi tutvustus

Netflixi logo - kuidas Netflix kasutab Pythoni-EdurekatNetflix on Ameerika ettevõte, mis pakub videoteenuseid (VOD). Netflixi peakontor asub Californias Los Gatosis ja sellel on umbes 148 miljonit abonenti kogu maailmas ning nende arv kasvab aga iga päevaga. Ligikaudu kahe aastakümne jooksul on Netflix tõusnud maailma suurimate teleseriaalide ja -filmide ‘klanni kuningaks’. Olles Ameerika kõige kiiremini kasvav kaubamärk ja teenides 2019. aastal 20,5 miljardi dollari suurust tulu, piisab sellest, et see saaks olla pilkupüüdev ning seeläbi huvitav kogu selle tehnoloogiasfääris.



Samale huvialale tuginedes on Netflix paljastanud, kuidas ta kasutab kõige trendikamat keelt, Python infrastruktuuri osas.

Nii et nüüd läheme edasi, et näha, kuidas Netflix tegelikult Pythoni kasutab?



Kuidas Netflix Pythoni kasutab?

'Kasutame Pythoni kogu sisu elutsükli vältel, alates rahastatava sisu otsustamisest kuni viimase videot teeniva CDN-i haldamiseni kuni 148 miljoni liikmeni' - Netflixi insenerid

Vahemikus from haldusvaldkondadest usaldusväärsuseni ja Andmeteadus kuni jne, kasutab Netflix Pythoni oma äri peaaegu iga serva jaoks.

Vaatame nüüd põhjalikumalt, kuidas kasutatakse Netflixi erinevates domeenides:

Ava ühendus:

Netflix kasutab CDN-i (sisutarnevõrk), mis on Open Connect. Avatud ühendus tuleb põhimõtteliselt pildile, kui klõpsate nupul „Esita”. See CDN hoolitseb kogu lõppkasutajale edastatud sisu eest.

Avatud ühendamine nõuab selle kavandamiseks, ehitamiseks ja kasutamiseks mitmesuguseid muid tarkvarasüsteeme, mis on omakorda Pythonis kirjutatud. Vähe sellest, selle CDN-i aluseks olevad võrguseadmed on Pythoni rakendused, kuna Python on võrguprobleemide lahendamisel silmapaistev.

Nõudluse inseneride meeskond:

Nõudlustehnika meeskond vastutab Netflixi pilve piirkondlike tõrkeotsingute, liikluse halduse, võimsuseoperatsioonide haldamise (jälgides piiri, milleni sisu saab muuta kasutatavaks) ja laevastiku efektiivsuse eest. Selle meeskonna poolt kasutatavad Pythoni elemendid on:

NumPy ja SciPy:

ja Teadlane on teaduslikuks arvutamiseks kasutatavad raamatukogud. Netflix kasutab neid Pythoni teeke numbrilise analüüsi tegemiseks, võimaldades seeläbi piirkondlike tõrkeotsingute haldamist.

Boto3:

Boto3 on tarkvara arenduskomplekt (SDK) Pythoni jaoks. See aitab Pythoni arendajatel integreerida Python AWS-i, võimaldades seeläbi infrastruktuuri arendamist.

RQ (Redise järjekord):

See on Pythoni teek, mis aitab jälgida järjekorras olevaid ülesandeid ja võimaldab nende täitmist, võimaldades hallata asünkroonseid töökoormusi.

Kolb:

Lõpuks kasutab Netflix kõigi eelmiste segmentide sidumiseks Flaski (Pythoni veebiarenduse kogu) API-sid.

Netflix kasutab mis on avatud lähtekoodiga veebirakendus, mida kasutatakse koos Pythoni arendamiseks nteract (Jupyteri laiendus) suures plaanis. Jupyter on teadaolevalt populaarne andmete analüüsimiseks. Seda saab väga hästi kasutada operatiivandmete analüüsimisel ja visualiseerimisel, mis omakorda aitab tuvastada võimsuse regressioone.

Masinõppe infrastruktuur:

ulatub isikupärastamise algoritmide loomisest kasutamisjuhtumite väljamõtlemiseni. Isikupärastamise algoritmid aitavad koolitada masinõppe mudeleid vastavalt Netflixi standarditele. See pakub isikupärastatud soovitusi, igapäevaseid ülevaateid, märgistab põlvkondi jne.

Raamatukogud peavad õppima Sügavad närvivõrgud on TensorFlow , Raske ja Pytorch arvestades XGBoost ja LightGBM Gradient Boosted Decision Puude jaoks.Nad on välja töötanud ka üsna mitu kõrgema taseme teeki, mis aitavad kombineerida töövaldkondadega, nagu faktide registreerimine, funktsioonide väljavõtmine, avaldamine jne. Lisaks sellele kasutab Netflix ka MetaFlow masinõppeprojektide loomiseks.

'Metaflow nihutab Pythoni piire: kasutame hästi paralleelitud ja optimeeritud Pythoni koodi, et tuua andmeid kiirusega 10 Gbps, töödelda mälus sadu miljoneid andmepunkte ja korraldada arvutus üle kümnete tuhandete protsessori südamike' - Netflix

Suured andmed:

The meeskond vastutab ETL-i (ekstraktimine, teisendamine, laadimine) ja Adhoc-torujuhtmete käivitamise eest. Suurem osa sellest orkestratsioonist on kirjutatud Pythonis. See meeskond kasutab ajakava, mis töötab Jupyteri sülearvutites koos paberiveskiga, et luua mallidega töökohti, näiteks , Varsti jne.

Lisaks sellele on meeskond loonud ka üritustel põhineva platvormi, mis on täielikult ehitatud Pythonile. Nad on loonud hulga sündmusi ja ühendanud selle üheks, võimaldades Netflixil sündmusi filtreerida, reageerida ja marsruutida. Pygenie on samuti osa sellest infrastruktuurist, mis liidestub Genie'ga (esiletõstetud tööde teostamise teenus).

Teaduslikud katsed:

See on platvorm, mille lubas teaduslike eksperimentide meeskond A / B testimine koos mõnede muude katsetega. Siin saavad teadlased ja insenerid tutvustada uusi andmete, statistika ja visualiseerimise uuendusi.

Python mida siin rakendatakse on Mõõdikud Repo mis põhineb PyPika ja võimaldab kirjutada korduvkasutatavaid parameetrilisi päringuid. Statistikasektori jaoks PyArrow ja RPy2 kasutatakse statistika arvutamiseks Pythonis või R-s. Kavandatud aitab visualiseerimisel.

java keeled on muutumatud

Video kodeerimine / meediumipilvede väljatöötamine:

See meeskond vastutab Netflixi kataloogi ülesannete kodeerimise ja ümberkodeerimise eest. Pythoni kasutatakse umbes 50 projekti jaoks, näiteks VMAF (Video Multi-Method Assessment Fusion) ja MezzFS (Mezzanine failisüsteem), Arvutinägemislahendused (tegeleb piltidega) kasutades Vibulaskja , jne.

Netflixi animatsioon ja NVFX:

Python on kõigi Netflixi animatsioonide ja visuaalsete efektide (VFX) alus. Kõik Maya ja Nuke ametiühingud on tehtud Pythonis.

IS (infoturve):

Netflix kasutab Pythoni toega IS-süsteeme automaatse parandamise, turva automatiseerimise, riskide klassifitseerimise jms jaoks. Selle meeskonna kõige aktiivsem avatud lähtekoodiga Pythoni projekt on Turvalisusahv . Netflix kasutab ka ÕNNISTAGE (Bastioni Lambda lühiajaline SSH-teenus) kaitsma SSH (Secure Shelli) ressursid. RepoKid kasutatakse eraldamiseks JUBA load ja TLS-sertifikaadid eraldatakse Lemuri kaudu. Mõlemad ülesanded toetuvad peamiselt Pythonile.

Järelevalve ja automaatne parandus:

Seda meeskonda tuntakse Insight Engineeringu meeskonnana. Nad ehitavad ja teostavad tööriistuoperatiivse ülevaate, diagnostika, automaatse parandamise ja muutmise jaoks. Enamiku oma teenuste jaoks kasutab see meeskond Pythoni, näiteks Spectator Pythoni kliendikogu. Seda teeki kasutatakse mõõtmeliste aegridade salvestamiseks. Koos nende teekidega on sellised tooted nagu Winston ja Bolt ehitatud ka Pythoni raamistikele , Gunicorn ja Flask-RestPlus.

Selle kõige kokkuvõtteks võib kergesti väita, et Python on Netflixi liikumapanev jõud. Sellega oleme jõudnud selle ajaveebi lõppu teemal “Kuidas Netflix kasutab Pythoni?”. Loodan, et teil on kõik, millest räägitud, selge.

Põhjalike teadmiste saamiseks Pythoni ja selle erinevate rakenduste kohta saate registreeruda otseülekandeks 24/7 toe ja ligipääsuga kogu eluks.

Kas teil on meile küsimus? Palun mainige seda selle blogi „Kuidas Python Netflixit kasutab” kommentaaride osas ja võtame teiega ühendust niipea kui võimalik.