Python a Netflix: Co se stane, když streamujete film?

Zjistěte, co je Netflix a jak tento streamovací gigant používá Python ve svých různých doménách, jako jsou operace, strojové učení, zabezpečení informací atd.

Jediným cílem každého filmového fanouška je samozřejmě Netflix. Ale co kdybyste sledovali svůj oblíbený film a ten se každou chvíli vyrovnává? Jednoduše byste ukončili aplikaci a vybrali jinou možnost. Jak ale rychle zvládá provoz milionů uživatelů? Díky . V tomto článku se podívejme, jak Netflix používá Python.

Začněme krátkým prohlédnutím témat, která vyplňují tento článek:





Pojďme tedy začít. :)

Úvod do služby Netflix

Logo Netflix - Jak Netflix používá Python-EdurekaNetflix je americká společnost, která poskytuje služby Video on Demand (VOD). Společnost Netflix se sídlem v Los Gatos v Kalifornii má přibližně 148 milionů předplatitelů po celém světě a jejich počet však každým dnem stále roste. Během přibližně dvou desetiletí se Netflix stal „králem klanu“ největších televizních seriálů a filmů po celém světě. Jelikož je nejrychleji rostoucí značkou v Americe a má v roce 2019 tržby 20,5 miliardy USD, stačí na to, aby byla „poutačem“, a tím zajímavá ve všech jejích technologických sférách.



Na základě stejné oblasti zájmu Netflix odhalil, jak využívá nejpopulárnější jazyk, Krajta , pro jeho infrastrukturu.

Pojďme se tedy podívat, jak vlastně Netflix používá Python?



Jak Netflix používá Python?

„Python používáme během celého životního cyklu obsahu, od rozhodování o tom, který obsah budeme financovat, až po provozování sítě CDN, která slouží konečnému videu, pro 148 milionů členů.“ - Inženýři v Netflixu

V rozmezí fOd administrativních domén ke spolehlivosti a Data Science na atd., Netflix používá Python pro téměř všechny okraje jejich podnikání.

Nyní se podívejme hlouběji na to, jak se v Netflixu používá v různých doménách:

Otevřít připojení:

Síť CDN (Content Delivery Network), kterou Netflix využívá, je Open Connect. Otevřené připojení v podstatě přijde na obrázek, když kliknete na tlačítko „přehrát“. Tento obsah CDN zajišťuje veškerý obsah doručený koncovému uživateli.

Open connect vyžaduje různé další softwarové systémy, které jej navrhují, vytvářejí a provozují a které jsou zase napsány v Pythonu. Nejen to, síťová zařízení, která jsou základem této CDN, jsou aplikace Pythonu, protože Python je prominentní v řešení problémů se sítí.

Tým poptávkového inženýrství:

Tým Demand Engineering je zodpovědný za řešení regionálních převzetí služeb při selhání cloudu Netflix, správy provozu, správy kapacitních operací (hlídání limitu, do kterého lze zajistit provozuschopnost obsahu) a efektivity flotily. Prvky Pythonu používané tímto týmem jsou:

rozdíl mezi proměnlivým a neměnným

NumPy a SciPy:

a SciPy jsou knihovny používané pro vědecké výpočty. Netflix používá tyto knihovny Pythonu k provádění numerické analýzy, což umožňuje správu regionálních převzetí služeb při selhání.

Boto3:

Boto3 je Software Development Kit (SDK) společnosti pro Python. To pomáhá vývojářům Pythonu integrovat Python do AWS, což umožňuje vývoj v infrastruktuře.

RQ (fronta Redis):

Jedná se o knihovnu Pythonu, která pomáhá sledovat úkoly, které jsou ve frontě, a umožňuje jejich provádění, což umožňuje správu asynchronních úloh.

Baňka:

Nakonec Netflix používá rozhraní Flask (knihovna pro vývoj webových stránek v Pythonu) k propojení všech předchozích segmentů dohromady.

Netflix využívá což je webová aplikace s otevřeným zdrojovým kódem, která se používá pro vývoj Pythonu spolu s Interakce (rozšíření pro Jupyter) ve velkém měřítku. O Jupyteru je známo, že je populární pro analýzu dat. Slouží velmi dobře při analýze a vizualizaci provozních dat, což zase pomáhá při detekci regresí kapacity.

Infrastruktura strojového učení:

sahá od vytváření algoritmů přizpůsobení až po zjišťování případů použití. Personalizační algoritmy pomáhají trénovat modely Machine Learning podle standardů Netflix. Poskytuje osobní doporučení, každodenní obrysy, generace štítků atd.

Knihovny, které se musí učit Hluboké neuronové sítě jsou TensorFlow , Tvrdý , a Pytorch zatímco XGBoost a LightGBM pro rozhodovací stromy zesílené přechodem.Vyvinuli také několik knihoven vyšší úrovně, které pomáhají v kombinaci s pracovními oblastmi, jako je protokolování faktů, extrakce funkcí, publikování atd. Kromě toho všeho Netflix také používá MetaFlow vytvářet projekty strojového učení.

„Metaflow posouvá hranice Pythonu: Využíváme dobře paralelizovaný a optimalizovaný kód Pythonu k načítání dat rychlostí 10 Gb / s, zpracování stovek milionů datových bodů v paměti a organizaci výpočtu přes desítky tisíc jader CPU“ - Netflix

Velká data:

The tým je odpovědný za provádění potrubí ETL (extrakce, transformace, načtení) a Adhoc. Hlavní část této orchestrace je napsána v Pythonu. Tento tým používá plánovač, který běží na notebookech Jupyter s papírnou k výrobě typů úloh pomocí šablon, například , Brzy atd.

Kromě toho tým také vytvořil platformu založenou na událostech, která je zcela postavena na Pythonu. Vytvořili řadu událostí a spojili je do jedné, což umožnilo Netflixu filtrovat, reagovat a směrovat události. Pygenie je také součástí této infrastruktury, která je propojena s Genie (služba provádění úloh).

Vědecké experimentování:

Toto je platforma vytvořená týmem vědeckých experimentů, která umožňuje A / B testování spolu s několika dalšími experimenty. Zde mohou vědci a inženýři představit nové inovace v oblasti dat, statistik a vizualizace.

Python který je zde implementován je Repozice metrik který je založen na PyPika a umožňuje zápis opakovaně použitelných parametrizovaných dotazů. Pro statistický sektor PyArrow a RPy2 se používají k výpočtu statistik v Pythonu nebo R. Spiknutí pomáhá při vizualizacích.

Kódování videa / Media Cloud Engineering:

Tento tým je zodpovědný za úlohy kódování a překódování pro katalog Netflix. Python se používá přibližně pro 50 projektů, jako je VMAF (Video Multi-Method Assessment Fusion) a MezzFS (Mezaninový souborový systém), Řešení počítačového vidění (zabývá se snímky) pomocí Lukostřelec , atd.

Animace Netflix a NVFX:

Python tvoří základ pro všechny animace a vizuální efekty (VFX) na Netflixu. Všechny odbory Mayů a Nuke jsou prováděny v Pythonu.

IS (Informační bezpečnost):

Netflix používá systémy IS napájené z Pythonu pro automatickou nápravu, automatizaci zabezpečení, klasifikaci rizik atd. Nejaktivnějším otevřeným zdrojovým projektem Pythonu tohoto týmu je Bezpečnostní opice . Netflix také používá ŽEHNAT (Bastionova dočasná služba SSH Lambda) chránit SSH Prostředky (Secure Shell). RepoKid se používá k udělení JIŽ oprávnění a certifikáty TLS jsou přidělovány prostřednictvím Lemur. Oba tyto úkoly spoléhají hlavně na Python.

Monitorování a automatická náprava:

Tento tým je známý jako tým Insight Engineering. Budují a provádějí nástrojepro provozní přehled, diagnostiku, automatickou nápravu a úpravy. U většiny svých služeb tento tým využívá Python, například klientskou knihovnu Spectator Python. Tato knihovna se používá pro záznam rozměrové časové řady. Spolu s těmito knihovnami jsou produkty jako Winston a Bolt také postaveny na rámcích Pythonu, které jsou , Gunicorn a Flask-RestPlus.

Když to shrneme, lze snadno prohlásit, že Python je hybnou silou Netflixu. Tím jsme dosáhli konce tohoto blogu o „Jak Netflix používá Python?“. Doufám, že máte jasno ve všem, o čem se diskutovalo.

Chcete-li získat podrobné znalosti o Pythonu a jeho různých aplikacích, můžete se zaregistrovat naživo s nepřetržitou podporou a doživotním přístupem.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Jak Python používá Netflix“ a my se vám ozveme co nejdříve.