Python och Netflix: Vad händer när du strömmar en film?

Vet vad som är Netflix och hur den här streamingjätten använder Python i sina olika domäner som Operations, Machine learning, Informtion Security, etc.

One-stop destinationen för varje filmfilm är naturligtvis Netflix. Men tänk om du tittade på din favoritfilm och den fortsätter att buffra då och då? Du skulle bara stänga av applikationen och välja ett annat alternativ. Men hur hanterar den snabbt miljontals användare? Tack vare . I den här artikeln ska vi utforska hur Netflix använder Python.

Låt oss börja med att titta snabbt på teman som fyller den här artikeln:





Så låt oss komma igång. :)

Introduktion till Netflix

Netflix-logotyp - Hur Netflix använder Python-EdurekaNetflix är ett amerikanskt företag som tillhandahåller VOD-tjänster (Video on Demand). Netflix har sitt huvudkontor i Los Gatos, Kalifornien, cirka 148 miljoner abonnenter över hela världen och antalet växer dock varje dag. Under en period av ungefär två decennier har Netflix framträtt som 'kungen av klanen' för de största tv-serierna och filmerna i hela världen. Att vara Amerikas snabbast växande varumärke och ha en intäkt på 20,5 miljarder dollar år 2019 räcker för att det ska bli en 'blickfångare' och därmed intressera allt inom sina tekniska områden.



python def __init__

Baserat på samma intresseområde har Netflix avslöjat hur det använder det mest trendiga språket, Pytonorm , för dess infrastruktur.

Så nu går vi vidare för att se hur faktiskt Netflix använder Python?



Hur Netflix använder Python?

'Vi använder Python genom hela innehållets livscykel, från att bestämma vilket innehåll som ska finansieras hela vägen till att driva CDN som serverar den slutliga videon till 148 miljoner medlemmar' - Ingenjörer på Netflix

Sträcker sig from Administrativa domäner till tillförlitlighet och Datavetenskap till etc, använder Netflix Python för nästan varje kant av sin verksamhet.

Låt oss nu ta en djupare titt på hur används i olika domäner på Netflix:

Öppna Connect:

CDN (Content Delivery Network) som Netflix använder är Open Connect. Open connect kommer i princip in i bilden när du klickar på 'play' -knappen. Allt innehåll som levereras till slutanvändaren sköts av denna CDN.

Open connect kräver olika andra mjukvarusystem för att designa, bygga och använda det som i sin tur är skrivet i Python. Inte bara detta, nätverksenheterna som ligger till grund för detta CDN är Python-applikationer eftersom Python är framträdande när det gäller att lösa nätverksproblem.

apache spark vs hadoop mapreduce

Demand Engineering Team:

Demand Engineering-teamet ansvarar för att hantera Netflix-molnets Regional Failovers, Traffic Administration, Capacity Operations Management (ser efter gränsen för vilken innehållet kan göras användbart) och Fleet Efficiency. Elementen i Python som används av detta team är:

NumPy och SciPy:

och SciPy är biblioteken som används för vetenskaplig databehandling. Netflix använder dessa Python-bibliotek för att utföra numerisk analys och därmed möjliggöra hantering av Regional Failovers.

Boto3:

Boto3 är Software Development Kit (SDK) för för Python. Detta hjälper Python-utvecklare att integrera Python i AWS, vilket möjliggör utveckling i infrastrukturen.

RQ (Redis-kö):

Detta är ett Python-bibliotek som hjälper till att hålla reda på uppgifter som finns i kön och möjliggör deras körning, vilket möjliggör hantering av asynkrona arbetsbelastningar.

Flaska:

Slutligen använder Netflix Flask (Python Web Development Library) API: er för att binda samman alla tidigare segment.

Netflix använder sig av som är en öppen källkodsapp, som används för Python-utveckling tillsammans med nterakt (tillägg för Jupyter) i stor skala. Jupyter är känt för att vara populärt för dataanalys. Det fungerar mycket bra i operativ dataanalys och visualisering som i sin tur hjälper till att upptäcka kapacitetsregressioner.

Maskininlärningsinfrastruktur:

varierar från att skapa anpassningsalgoritmer till att räkna ut användningsfall. Anpassningsalgoritmer hjälper till att träna Machine Learning-modellerna enligt Netflix-standarderna. Den ger personliga rekommendationer, skisserar dagligen, märker generationer etc.

Biblioteken som krävs för att lära sig Deep Neural Networks är TensorFlow , Hård och Pytorch medan XGBoost och LightGBM för Gradient Boosted Decision Trees.De har också utvecklat en hel del högre nivåbibliotek som hjälper till att kombinera med arbetsområdena som faktaloggning, extrahering av funktioner, publicering, etc. Bortsett från allt detta använder Netflix också MetaFlow att skapa maskininlärningsprojekt.

'Metaflow driver gränserna för Python: Vi utnyttjar väl parallelliserad och optimerad Python-kod för att hämta data med 10 Gbps, hantera hundratals miljoner datapunkter i minnet och orkestrera beräkning över tiotusentals CPU-kärnor' - Netflix

Big Data:

De teamet ansvarar för att utföra ETL (extrahera, transformera, ladda) och Adhoc-rörledningar. En stor del av denna orkestrering är skriven i Python. Detta team använder en schemaläggare som körs på Jupyter Notebooks med pappersfabrik för att producera jobbtyper med mallar, till exempel, , Snart, etc.

Utöver detta har laget också skapat en händelsedriven plattform som är helt byggd på Python. De har skapat ett antal händelser och kombinerat det till en enda som gör det möjligt för Netflix att filtrera, reagera och dirigera händelser. Pygenie är också en del av denna infrastruktur som gränssnitt med Genie (tjänst för utförande av jobb).

Vetenskapligt experiment:

Detta är en plattform som skapats av det vetenskapliga experimentgruppen för att tillåta A / B-testning tillsammans med några andra experiment. Här kan forskare och ingenjörer presentera nya innovationer inom data, statistik och visualisering.

vad är instanser i Java

Python som implementeras här är Mätvärden Repo som bygger på PyPika och tillåter skrivning av återanvändbara parametrar. För statistiksektorn, PyArrow och RPy2 används för att beräkna statistik i antingen Python eller R. Plotly hjälper till med visualiseringar.

Videokodning / Media Cloud Engineering:

Detta team ansvarar för kodning och omkodning av uppgifter för Netflix-katalogen. Python används ungefär för 50 projekt som VMAF (Video Multi-Method Assessment Fusion) och MezzFS (Mezzanine File System), Datorvisionslösningar (hanterar bilder) med Bågskytt , etc.

Netflix Animation och NVFX:

Python utgör basen för alla animationer och visuella effekter (VFX) på Netflix. Alla Maya och Nuke fackföreningar är färdiga på Python.

IS (informationssäkerhet):

Netflix använder Python-drivna IS-system för automatisk avhjälpning, säkerhetsautomatisering, riskklassificering etc. Det här teamets mest aktiva Python-projekt med öppen källkod är Säkerhetsapa . Netflix använder också VÄLSIGNA (Bastions Lambda Ephemeral SSH Service) för att skydda SSH (Secure Shell) resurser. RepoKid används för att bevilja REDAN behörigheter och TLS-certifikat tilldelas via Lemur. Båda dessa uppgifter är huvudsakligen beroende av Python.

Övervakning och automatisk sanering:

Detta team är känt som Insight Engineering-teamet. De bygger och kör verktygför operativ insikt, diagnostik, auto-sanering och förändring. För de flesta av sina tjänster använder detta team Python, till exempel Spectator Python-klientbiblioteket. Detta bibliotek används för inspelning av dimensionella tidsserier. Tillsammans med dessa bibliotek är produkter som Winston och Bolt också byggda på Python-ramar som är , Gunicorn och Flask-RestPlus.

Sammanfattningsvis kan man enkelt hävda att Python är drivkraften för Netflix. Med detta har vi nått slutet på denna blogg om ”Hur Netflix använder Python?”. Jag hoppas att du är klar över allt som har diskuterats.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du registrera dig för live med 24/7 support och livstidsåtkomst.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna 'Hur Python använder Netflix' -bloggen så kommer vi tillbaka till dig så snart som möjligt.