Minden filmkedvelő egyablakos célja természetesen a Netflix. De mi lenne, ha kedvenc filmjét nézné, és ez hébe-hóba folyamatosan pufferol? Csak leállítaná az alkalmazást, és másik lehetőséget választana. De hogyan kezeli gyorsan a felhasználók millióinak forgalmát? Köszönet . Ebben a cikkben vizsgáljuk meg, hogyan használja a Netflix a Pythont.
Kezdjük azzal, hogy gyorsan áttekintjük a cikket kitöltő témákat:
Kezdjük tehát. :)
Bevezetés a Netflix-be
A Netflix egy amerikai vállalat, amely Video On Demand (VOD) szolgáltatásokat nyújt. A kaliforniai Los Gatosban található Netflixnek körülbelül 148 millió előfizetője van az egész világon, és ez a szám azonban minden nap növekszik. Körülbelül két évtized alatt a Netflix a világ legnagyobb TV-sorozatainak és filmjeinek „klánkirályaként” jelent meg. Amerika leggyorsabban növekvő márkája és 20,5 milliárd dolláros bevétel 2019-ben elegendő ahhoz, hogy „szemet gyönyörködtető” legyen, és ezáltal mind érdekes technológiai szférájában.
Ugyanezen érdeklődési terület alapján a Netflix feltárta, hogyan használja a legfelkapottabb nyelvet, Piton , infrastruktúrája szempontjából.
Tehát most térjünk át arra, hogy a Netflix valójában hogyan használja a Pythont?
Hogyan használja a Netflix a Pythont?
'A Pythont a teljes tartalom életciklusán keresztül használjuk, a finanszírozandó tartalom eldöntésétől kezdve a végső videót kiszolgáló CDN működtetéséig 148 millió tagig' - mérnökök a Netflixnél
Kezdve fAz adminisztratív területeken a megbízhatóság és a Adattudomány nak nek stb., a Netflix a Python-t használja üzleti tevékenységének szinte minden területén.
Most nézzük meg mélyebben, hogyan a Netflix különféle domainjein használják:
Nyissa meg a Kapcsolatot:
A CDN (Content Delivery Network), amelyet a Netflix használ, az Open Connect. A nyitott kapcsolat alapvetően képbe kerül, amikor a „lejátszás” gombra kattint. Ez a CDN gondoskodik a végfelhasználóhoz eljuttatott összes tartalomról.
A nyílt csatlakozáshoz számos más szoftverrendszerre van szükség a tervezéséhez, felépítéséhez és üzemeltetéséhez, amelyek viszont Pythonban vannak megírva. Nem csak ez, a CDN alapjául szolgáló hálózati eszközök Python-alkalmazások, mivel a Python kiemelkedő szerepet játszik a hálózati problémák megoldásában.
Igénymérnöki csapat:
A Demand Engineering csapata felelős a Netflix felhő regionális hibaelhárításainak, a forgalom-adminisztrációnak, a kapacitásüzemeltetési menedzsmentnek (annak a határnak a figyelése, amelyig a tartalom használhatóvá tehető) és a flotta hatékonyságáért. A csapat által használt Python elemei a következők:
NumPy és SciPy:
és SciPy a tudományos számításhoz használt könyvtárak. A Netflix ezeket a Python könyvtárakat használja numerikus elemzésre, ezáltal lehetővé téve a regionális feladatátvételek kezelését.
Boto3:
A Boto3 a szoftverfejlesztő készlet (SDK) a Python számára. Ez segíti a Python fejlesztőit a Python integrálásában az AWS-be, ezáltal lehetővé téve az infrastruktúra fejlesztését.
RQ (Redis Queue):
Ez egy Python könyvtár, amely segít nyomon követni a sorban lévő feladatokat, és lehetővé teszi azok végrehajtását, ezáltal lehetővé téve az aszinkron munkaterhelések kezelését.
Lombik:
Végül a Netflix a Flask (Python Web Development library) API-kat használja az összes előző szegmens összekapcsolására.
A Netflix használja amely egy nyílt forráskódú webalkalmazás, amelyet a Python fejlesztésére használnak nteract (a Jupyter kiterjesztése) nagy léptékben. A Jupyterről ismert, hogy népszerű az adatok elemzésében. Nagyon jól szolgálja az operatív adatok elemzését és vizualizálását, ami viszont segít a kapacitás regresszióinak detektálásában.
Gépi tanulási infrastruktúra:
a személyre szabási algoritmusok létrehozásától a felhasználási esetek kitalálásáig terjed. A személyre szabási algoritmusok segítenek a Netflix szabványoknak megfelelő gépi tanulási modellek betanításában. Személyre szabott ajánlásokat, napi körvonalazást, generációk címkézését stb.
A tanuláshoz szükséges könyvtárak Mély neurális hálózatok vannak TensorFlow , Kemény , és Pytorch mivel XGBoost és LightGBM a Gradient Boosted Decision Fákhoz.Emellett kifejlesztettek jó néhány magasabb szintű könyvtárat, amelyek segítenek az olyan munkaterületekkel való összekapcsolásban, mint a tények naplózása, a funkciók kibontása, a publikálás stb. Mindezek mellett a Netflix is használ MetaFlow gépi tanulási projektek létrehozására.
'A metaflow kihúzza a Python határait: A jól párhuzamos és optimalizált Python-kódot kihasználjuk az adatok 10Gbps sebességgel történő lekérésére, a memória százmillió adatpontjának kezelésére és a számítások több tízezer CPU-magra történő irányítására' - Netflix
Nagy adat:
Az a csapat felelős az ETL (kivonat, átalakítás, betöltés) és az Adhoc csővezetékek végrehajtásáért. Ennek a hangszerelésnek a nagy része Pythonban íródott. Ez a csapat egy olyan ütemezőt használ, amely a Jupyter Notebookokon fut, papírgyártóval, sablonokkal, például , Hamarosan stb.
Emellett a csapat egy eseményvezérelt platformot is létrehozott, amely teljesen Pythonra épül. Számos eseményt hoztak létre, és egyetlen eseményre egyesítették, lehetővé téve a Netflix számára az események szűrését, reagálását és irányítását. Pygenie szintén ennek az infrastruktúrának a része, amely kapcsolódik a Genie-hez (kiemelt feladat-végrehajtási szolgáltatás).
Tudományos kísérletezés:
Ezt a platformot a tudományos kísérleti csoport hozta létre A / B tesztelés néhány más kísérlettel együtt. Itt tudósok és mérnökök mutathatnak be új újdonságokat az adatok, a statisztikák és a vizualizáció terén.
A Python hogy itt valósul meg az Metrics Repo amelynek alapja a PyPika és lehetővé teszi újrafelhasználható paraméterezett lekérdezések írását. A statisztikai ágazat PyArrow és RPy2 a statisztikák kiszámításához Pythonban vagy R-ben használják. Teljességgel segít a vizualizációkban.
Videokódolás / Media Cloud Engineering:
Ez a csapat felelős a Netflix katalógus feladatok kódolásáért és újrakódolásáért. A Python hozzávetőlegesen 50 projekthez használható, mint pl VMAF (Video Multi-Method Assessment Fusion) és MezzFS (Mezzanine File System), Computer Vision Solutions (képekkel foglalkozik) felhasználásával Íjász stb.
egyesítés rendezési program Java-ban
Netflix Animation és NVFX:
A Python képezi az összes animáció és vizuális effektus (VFX) alapját a Netflixnél. A Maya és a Nuke összes szakszervezet a Pythonon készült.
IS (információbiztonság):
A Netflix Python-alapú IS-rendszereket használ az automatikus helyreállításhoz, a biztonsági automatizáláshoz, a kockázatok osztályozásához stb. A csapat legaktívabb nyílt forráskódú Python-projektje: Biztonsági majom . A Netflix is használja ÁLDJA (A Bastion Lambda efemer SSH szolgáltatása) megvédeni SSH (Secure Shell) erőforrások. RepoKid adományozására használják MÁR az engedélyeket és a TLS tanúsítványokat a Lemuron keresztül osztják ki. Mindkét feladat főként a Pythonra támaszkodik.
Monitorozás és automatikus helyreállítás:
Ez a csapat Insight Engineering csapat néven ismert. Eszközöket építenek és hajtanak végreaz operatív betekintésre, a diagnosztikára, az automatikus helyreállításra és az átalakításra. A legtöbb szolgáltatásához ez a csapat a Python-ot használja, például a Spectator Python kliens könyvtárat. Ezt a könyvtárat dimenziós idősorok rögzítésére használják. Ezekkel a könyvtárakkal együtt olyan termékek, mint a Winston és a Bolt, szintén a Python keretrendszerekre épülnek , A Gunicorn és a Flask-RestPlus.
Összefoglalva, könnyen azt állíthatjuk, hogy a Python a Netflix mozgatórugója. Ezzel elérkeztünk a blog „Hogyan használja a Netflix a Pythont?” Végéhez. Remélem tisztázza mindazt, amit megbeszéltek.
Ha mélyreható ismereteket szeretne szerezni a Pythonról és a különböző alkalmazásokról, regisztrálhat élőben 24/7 támogatással és élethosszig tartó hozzáféréssel.
Van egy kérdésünk? Kérjük, említse meg ennek a „Hogyan használja a Python a Netflix-t” blog megjegyzéseinek szakaszában, és amint lehetséges, kapcsolatba lépünk Önnel.