Python og Netflix: Hvad sker der, når du streamer en film?

Ved hvad der er Netflix, og hvordan denne streaminggigant bruger Python i sine forskellige domæner som Operations, Machine learning, Informtion Security osv.

One-stop destinationen for enhver filmbuffer er selvfølgelig Netflix. Men hvad hvis du så din yndlingsfilm, og den fortsætter med at buffere nu og da? Du ville bare lukke applikationen og vælge en anden mulighed. Men hvordan styrer den hurtigt trafikken for millioner af brugere? Tak til . I denne artikel skal vi undersøge, hvordan Netflix bruger Python.



Lad os begynde med at kigge hurtigt på de temaer, der udfylder denne artikel:



Så lad os komme i gang. :)

Introduktion til Netflix

Netflix-logo - Hvordan Netflix bruger Python-EdurekaNetflix er et amerikansk firma, der leverer VOD-tjenester (Video on Demand). Netflix har hovedkvarter i Los Gatos, Californien, omkring 148 millioner abonnenter over hele verden, og antallet vokser dog fortsat hver dag. I en periode på cirka to årtier har Netflix vist sig at være 'King of the clan' for de største tv-serier og film i hele verden. At være det hurtigst voksende mærke i Amerika og have en omsætning på 20,5 mia. Dollar i 2019 er nok til, at det bliver en 'iøjnefaldende' og derved interessant alt inden for dets teknologiske områder.



Baseret på det samme interesseområde har Netflix afsløret, hvordan det bruger det mest populære sprog, Python , for sin infrastruktur.

Så nu går vi videre for at se, hvordan Netflix faktisk bruger Python?



Hvordan Netflix bruger Python?

'Vi bruger Python gennem hele indholdets livscyklus, fra at beslutte hvilket indhold der skal finansieres hele vejen til drift af CDN, der betjener den endelige video til 148 millioner medlemmer' - Ingeniører hos Netflix

Fra from Administrative domæner til pålidelighed og Datalogi til osv., Netflix bruger Python til næsten alle kanter af deres forretning.

Lad os nu se nærmere på hvordan bruges i forskellige domæner på Netflix:

Åbn Connect:

CDN (Content Delivery Network), som Netflix bruger, er Open Connect. Åbn forbindelse kommer dybest set ind i billedet, når du klikker på knappen 'Afspil'. Alt indholdet, der leveres til slutbrugeren, er passet af denne CDN.

mutable klasse i java eksempel

Open connect kræver forskellige andre softwaresystemer for at designe, bygge og betjene det, som igen er skrevet i Python. Ikke kun dette, de netværksenheder, der ligger til grund for dette CDN, er Python-applikationer, da Python er fremtrædende i løsningen af ​​netværksproblemer.

Team for efterspørgselsteknik:

Demand Engineering-teamet er ansvarlig for håndtering af Netflix-skyens Regional Failovers, Traffic Administration, Capacity Operations Management (pas på den grænse, op til hvilken indholdet kan gøres serviceret) og Fleet Efficiency. Elementerne i Python brugt af dette hold er:

NumPy og SciPy:

og SciPy er de biblioteker, der bruges til videnskabelig databehandling. Netflix bruger disse Python-biblioteker til at udføre numerisk analyse og derved muliggøre styring af Regional Failovers.

Boto3:

Boto3 er softwareudviklingssættet (SDK) fra til Python. Dette hjælper Python-udviklere med at integrere Python i AWS og derved tillade udvikling i infrastrukturen.

RQ (Redis-kø):

Dette er et Python-bibliotek, der hjælper med at holde styr på opgaver, der er til stede i køen og tillader udførelse af dem, hvilket muliggør styring af asynkrone arbejdsbelastninger.

Kolbe:

Endelig bruger Netflix Flask (Python Web Development Library) API'er til at binde alle de tidligere segmenter sammen.

Netflix gør brug af som er en open source webapp, der bruges til Python-udvikling sammen med nterakt (udvidelse til Jupyter) i stor skala. Jupyter er kendt for at være populær til dataanalyse. Det fungerer meget godt i operationel dataanalyse og visualisering, som igen hjælper med at opdage kapacitetsregressioner.

Machine Learning Infrastructure:

spænder fra at oprette personaliseringsalgoritmer til at finde ud af brugssagerne. Tilpasningsalgoritmer hjælper med at træne Machine Learning-modellerne i henhold til Netflix-standarderne. Det giver personaliserede anbefalinger, skitserer på daglig basis, mærker generationer osv.

Bibliotekerne kræves for at lære Deep Neural Networks er TensorFlow , Hårdt og Pytorch der henviser til XGBoost og LightGBM til Gradient Boosted Decision Trees.De har også udviklet et par biblioteker på højere niveau, der hjælper med at kombinere med arbejdsområder som faktalogging, udtrækning af funktioner, udgivelse osv. Bortset fra alt dette bruger Netflix også MetaFlow at oprette maskinlæringsprojekter.

'Metaflow skubber grænserne for Python: Vi udnytter velparalleliseret og optimeret Python-kode til at hente data ved 10 Gbps, håndtere hundreder af millioner af datapunkter i hukommelsen og orkestrere beregning over titusinder af CPU-kerner' - Netflix

Big Data:

Det teamet er ansvarligt for at udføre ETL (udtræk, transformere, indlæse) og Adhoc-rørledninger. En stor del af denne orkestrering er skrevet i Python. Dette team bruger en planlægning, der kører på Jupyter Notebooks med papirmølle til at producere jobtyper med skabeloner, for eksempel , Snart osv.

Ud over dette har holdet også oprettet en begivenhedsdrevet platform, der er bygget fuldstændigt på Python. De har oprettet et antal begivenheder og kombineret det til en enkelt, der giver Netflix mulighed for at filtrere, reagere og dirigere begivenheder. Pygenie er også en del af denne infrastruktur, der grænseflade med Genie (featured job executing service).

Videnskabelig eksperimentering:

Dette er en platform oprettet af det videnskabelige eksperimenteteam, der skal tillade A / B-test sammen med nogle andre eksperimenter. Her kan forskere og ingeniører præsentere nye innovationer inden for data, statistik og visualisering.

Python der er implementeret her er Metrics Repo som er baseret på PyPika og tillader skrivning af genanvendelige parametriserede forespørgsler. For statistiksektoren PyArrow og RPy2 bruges til at beregne statistik i enten Python eller R. Plotly hjælper med visualiseringer.

Video Encoding / Media Cloud Engineering:

Dette team er ansvarlig for kodning og genkodning af opgaver til Netflix-kataloget. Python bruges cirka til 50 projekter som f.eks VMAF (Video Multi-Method Assessment Fusion) og MezzFS (Mezzanine File System), Computer Vision Solutions (beskæftiger sig med billeder) ved hjælp af Bueskytte , etc.

Netflix animation og NVFX:

Python danner basen for alle animationer og visuelle effekter (VFX) på Netflix. Alle Maya og Nuke fagforeninger er færdige på Python.

IS (informationssikkerhed):

Netflix bruger Python-drevne IS-systemer til auto-afhjælpning, sikkerhedsautomatisering, risikoklassificering osv. Dette teams mest aktive open source Python-projekt er Sikkerhedsaber . Netflix bruger også VELSIGNE (Bastions Lambda Ephemeral SSH Service) at beskytte SSH (Secure Shell) ressourcer. RepoKid bruges til at give ALLEREDE tilladelser og TLS-certifikater tildeles gennem Lemur. Begge disse opgaver er hovedsageligt afhængige af Python.

Overvågning og autosanering:

Dette hold er kendt som Insight Engineering-teamet. De bygger og udfører værktøjertil operationel indsigt, diagnostik, auto-afhjælpning og ændring. I de fleste af sine tjenester bruger dette team Python, for eksempel Spectator Python-klientbiblioteket. Dette bibliotek bruges til optagelse af dimensionelle tidsserier. Sammen med disse biblioteker er produkter som Winston og Bolt også bygget på Python-rammer, som er , Gunicorn og Flask-RestPlus.

Sammenfattende det hele kan man nemt hævde, at Python er drivkraften for Netflix. Med dette har vi nået slutningen af ​​denne blog om 'Hvordan Netflix bruger Python?'. Jeg håber, du er klar over alt, hvad der er blevet diskuteret.

xml transformation i informatica med eksempel

For at få dybtgående viden om Python sammen med dens forskellige applikationer kan du tilmelde dig live med 24/7 support og livstidsadgang.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'Hvordan Python bruger Netflix' -blog, og vi vender tilbage til dig hurtigst muligt.