Python og Netflix: Hva skjer når du streamer en film?



Vet hva som er Netflix og hvordan denne streaminggiganten bruker Python i sine forskjellige domianer som Operasjoner, Maskinlæring, Informasjonssikkerhet, etc.

One-stop-destinasjonen for hver filmbuffer er selvfølgelig Netflix. Men hva om du så på favorittfilmen din og den fortsetter å buffere nå og da? Du ville bare slå av applikasjonen og velge et annet alternativ. Men hvordan håndterer den trafikken til millioner av brukere raskt? Takk til . I denne artikkelen, la oss utforske hvordan Netflix bruker Python.

La oss begynne med å se raskt på temaene som fyller denne artikkelen:





Så la oss komme i gang. :)

Introduksjon til Netflix

Netflix-logo - Hvordan Netflix bruker Python-EdurekaNetflix er et amerikansk selskap som tilbyr Video on Demand (VOD) -tjenester. Netflix har hovedkontor i Los Gatos, California, med rundt 148 millioner abonnenter over hele verden, og antallet vokser imidlertid hver dag. I en periode på omtrent to tiår har Netflix dukket opp som 'King of the clan' for de største TV-seriene og filmene over hele verden. Å være det raskest voksende merkevaren i Amerika og ha en inntekt på $ 20,5 milliarder dollar i 2019, er nok til at det blir en “iøynefallende”, og dermed interessant alt inn i sine teknologiske sfærer.



Basert på samme interesseområde har Netflix avslørt hvordan det bruker det mest populære språket, Python , for sin infrastruktur.

Så la oss gå videre for å se hvordan Netflix egentlig bruker Python?



Hvordan Netflix bruker Python?

'Vi bruker Python gjennom hele innholdets livssyklus, fra å bestemme hvilket innhold vi skal finansiere hele veien til å betjene CDN som serverer den endelige videoen til 148 millioner medlemmer' - Ingeniører hos Netflix

Rangering from Administrative domener til pålitelighet og Datavitenskap til osv., Netflix bruker Python for nesten alle kanter av virksomheten.

La oss nå se dypere på hvordan brukes på forskjellige domener på Netflix:

stable og haug i java

Åpne Connect:

CDN (Content Delivery Network) som Netflix bruker, er Open Connect. Open connect kommer i utgangspunktet inn i bildet når du klikker på 'spill' -knappen. Alt innholdet som leveres til sluttbrukeren blir ivaretatt av denne CDN.

Open connect krever forskjellige andre programvaresystemer for å designe, bygge og betjene den som igjen er skrevet i Python. Ikke bare dette, nettverksenhetene som ligger til grunn for dette CDN er Python-applikasjoner siden Python er fremtredende når det gjelder å løse nettverksproblemer.

Demand Engineering Team:

Demand Engineering-teamet er ansvarlig for å håndtere Netflix-skyens Regional Failovers, Traffic Administration, Capacity Operations Management (passe på grensen som innholdet kan gjøres brukervennlig for) og Fleet Efficiency. Elementene i Python som brukes av dette teamet er:

NumPy og SciPy:

og SciPy er bibliotekene som brukes til vitenskapelig databehandling. Netflix bruker disse Python-bibliotekene til å utføre numerisk analyse og derved tillate administrasjon av Regional Failovers.

Boto3:

Boto3 er Software Development Kit (SDK) for for Python. Dette hjelper Python-utviklere å integrere Python i AWS og muliggjør utvikling i infrastrukturen.

RQ (Redis-kø):

Dette er et Python-bibliotek som hjelper med å holde orden på oppgaver som er til stede i køen, og som gjør det mulig å utføre dem, slik at man kan administrere asynkrone arbeidsmengder.

Kolbe:

Til slutt bruker Netflix Flask (Python Web Development Library) API-er for å binde alle de forrige segmentene sammen.

Netflix bruker som er en åpen kildekode-webapp, brukt til Python-utvikling sammen med nterakt (utvidelse for Jupyter) i stor skala. Jupyter er kjent for å være populær for dataanalyse. Det fungerer veldig bra i operasjonell dataanalyse og visualisering som igjen hjelper til å oppdage kapasitetsregresjoner.

Maskinlæringsinfrastruktur:

varierer fra å lage personaliseringsalgoritmer til å finne ut brukssakene. Personaliseringsalgoritmer hjelper deg med å trene Machine Learning-modellene i henhold til Netflix-standardene. Det gir personlige anbefalinger, skisserer på daglig basis, merker generasjoner, etc.

Bibliotekene som kreves for å lære Deep Neural Networks er TensorFlow , Hard , og Pytorch mens XGBoost og LightGBM for Gradient Boosted Decision Trees.De har også utviklet ganske mange høyere nivåbiblioteker som hjelper til å kombinere med arbeidsområdene som faktalogging, funksjonsutvinning, publisering osv. Bortsett fra alt dette bruker Netflix også MetaFlow å lage maskinlæringsprosjekter.

'Metaflow skyver grensene for Python: Vi utnytter godt parallelliserte og optimaliserte Python-koder for å hente data på 10 Gbps, håndtere hundrevis av millioner datapunkter i minnet og orkestrere beregning over titusenvis av CPU-kjerner' - Netflix

Stor Data:

De teamet er ansvarlig for å utføre ETL (trekke ut, transformere, laste) og Adhoc-rørledninger. En stor del av denne orkestrasjonen er skrevet i Python. Dette teamet bruker en planlegger som kjører på Jupyter Notebooks med papirmølle for å produsere jobbtyper med maler, for eksempel , Snart osv.

I tillegg til dette har teamet også opprettet en hendelsesdrevet plattform som er bygget helt på Python. De har opprettet en rekke hendelser og kombinert den til en enkelt, slik at Netflix kan filtrere, reagere og rute hendelser. Pygenie er også en del av denne infrastrukturen som grensesnitt med Genie (funksjonstjeneste for utførelse av jobb).

Vitenskapelig eksperimentering:

Dette er en plattform opprettet av det vitenskapelige eksperimenteteamet for å tillate A / B-testing sammen med noen andre eksperimenter. Her kan forskere og ingeniører presentere nye innovasjoner innen data, statistikk og visualisering.

Python som er implementert her er Metrics Repo som er basert på PyPika og tillater skriving av gjenbrukbare parametrerte spørsmål. For statistikksektoren, PyArrow og RPy2 brukes for å beregne statistikk i enten Python eller R. Plottly hjelper i visualiseringer.

Video Encoding / Media Cloud Engineering:

Dette teamet er ansvarlig for koding og omkoding av oppgaver for Netflix-katalogen. Python brukes omtrent til 50 prosjekter som VMAF (Video Multi-Method Assessment Fusion) og MezzFS (Mezzanine File System), Computer Vision Solutions (tar for seg bilder) ved hjelp av Bueskytter , etc.

Netflix animasjon og NVFX:

Python danner basen for alle animasjoner og visuelle effekter (VFX) på Netflix. Alle fagforeningene Maya og Nuke er ferdige på Python.

IS (informasjonssikkerhet):

Netflix bruker Python-drevne IS-systemer for automatisk utbedring, sikkerhetsautomatisering, risikoklassifisering, etc. Dette teamets mest aktive open source-Python-prosjekt er Security Monkey . Netflix bruker også VELSIGNE (Bastion’s Lambda Ephemeral SSH Service) å beskytte SSH (Secure Shell) ressurser. RepoKid brukes til å gi ALLEREDE tillatelser og TLS-sertifikater tildeles gjennom Lemur. Begge disse oppgavene er hovedsakelig avhengige av Python.

Overvåking og autosanering:

Dette teamet er kjent som Insight Engineering-teamet. De bygger og utfører verktøyfor operativ innsikt, diagnostikk, autosanering og endring. For de fleste av sine tjenester bruker dette teamet Python, for eksempel Spectator Python-klientbiblioteket. Dette biblioteket brukes til å ta opp dimensjonale tidsserier. Sammen med disse bibliotekene er også produkter som Winston og Bolt bygget på Python-rammer som er , Gunicorn, and Flask-RestPlus.

Når man summerer det hele, kan man enkelt hevde at Python er drivkraften for Netflix. Med dette har vi nådd slutten av denne bloggen om “Hvordan Netflix bruker Python?”. Jeg håper du er klar over alt som er diskutert.

For å få grundig kunnskap om Python sammen med de forskjellige applikasjonene, kan du registrere deg for live med 24/7 support og levetidstilgang.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne 'Hvordan Python bruker Netflix' -bloggen, så kommer vi tilbake til deg så snart som mulig.