Python en Netflix: wat gebeurt er als je een film streamt?



Weet wat Netflix is ​​en hoe deze streaminggigant Python gebruikt in zijn verschillende domeinen, zoals Operations, Machine learning, Informtion Security, enz.

De one-stop-bestemming voor elke filmliefhebber is natuurlijk Netflix. Maar wat als je je favoriete film aan het kijken was en het blijft zo nu en dan bufferen? U sluit gewoon de applicatie af en kiest een andere optie. Maar hoe beheert het het verkeer van miljoenen gebruikers snel? Dankzij . Laten we in dit artikel eens kijken hoe Netflix Python gebruikt.

Laten we beginnen met een korte blik op de thema's die dit artikel vullen:





Dus laten we beginnen. :)

Introductie tot Netflix

Netflix-logo-Hoe Netflix Python-Edureka gebruiktNetflix is ​​een Amerikaans bedrijf dat Video on Demand (VOD) -diensten levert. Netflix, met hoofdkantoor in Los Gatos, Californië, heeft ongeveer 148 miljoen abonnees over de hele wereld en het aantal blijft echter elke dag groeien. In een periode van ongeveer twee decennia is Netflix uitgegroeid tot de ‘King of the clan’ voor de grootste tv-series en films over de hele wereld. Het snelst groeiende merk van Amerika zijn en een omzet van $ 20,5 miljard hebben in 2019, is genoeg om een ​​‘eye-catcher’ te zijn, en daardoor interessant voor alle technologische gebieden.



Op basis van hetzelfde interessegebied heeft Netflix onthuld hoe het gebruikmaakt van de meest trending taal, Python , voor zijn infrastructuur.

verschil tussen klasse en interface

Laten we nu eens kijken hoe Netflix Python eigenlijk gebruikt.



Hoe Netflix Python gebruikt?

'We gebruiken Python gedurende de volledige levenscyclus van de inhoud, van het beslissen welke inhoud we financieren tot het gebruik van het CDN dat de uiteindelijke video levert aan 148 miljoen leden' - Engineers bij Netflix

Variërend van from Administratieve domeinen naar Betrouwbaarheid en Data Science naar etc, Netflix gebruikt Python voor bijna elke rand van hun bedrijf.

Laten we nu eens dieper kijken naar hoe wordt bij Netflix in verschillende domeinen gebruikt:

Open Connect:

Het CDN (Content Delivery Network) waar Netflix gebruik van maakt is Open Connect. Open connect komt in principe in beeld wanneer je op de ‘play’ knop klikt. Alle inhoud die aan de eindgebruiker wordt geleverd, wordt verzorgd door dit CDN.

Open connect vereist verschillende andere softwaresystemen om het te ontwerpen, bouwen en bedienen, die op hun beurt in Python zijn geschreven. Niet alleen dit, de netwerkapparaten die aan dit CDN ten grondslag liggen, zijn Python-applicaties, aangezien Python een prominente rol speelt bij het oplossen van netwerkproblemen.

Demand Engineering Team:

Het Demand Engineering-team is verantwoordelijk voor het afhandelen van de regionale failovers, verkeersadministratie, capaciteitsbeheer van de Netflix-cloud (het bewaken van de limiet tot waar de inhoud kan worden onderhouden) en vlootefficiëntie. De elementen van Python die door dit team worden gebruikt, zijn:

NumPy en SciPy:

en SciPy zijn de bibliotheken die worden gebruikt voor wetenschappelijk computergebruik. Netflix gebruikt deze Python-bibliotheken om numerieke analyses uit te voeren, waardoor het beheer van regionale failovers mogelijk is.

Boto3:

Boto3 is de Software Development Kit (SDK) van voor Python. Dit helpt Python-ontwikkelaars Python in AWS te integreren, waardoor ontwikkeling in de infrastructuur mogelijk wordt.

RQ (Redis-wachtrij):

Dit is een Python-bibliotheek die helpt bij het bijhouden van taken die in de wachtrij staan ​​en die de uitvoering ervan mogelijk maakt, waardoor asynchrone workloads kunnen worden beheerd.

Kolf:

Ten slotte gebruikt Netflix Flask-API's (Python Web Development-bibliotheek) om alle voorgaande segmenten aan elkaar te binden.

Netflix maakt er gebruik van wat een open-source web-app is, die wordt gebruikt voor Python-ontwikkeling samen met nteract (extensie voor Jupyter) op grote schaal. Van Jupyter is bekend dat het populair is voor gegevensanalyse. Het dient zeer goed bij de analyse en visualisatie van operationele gegevens, die op hun beurt helpen bij het detecteren van capaciteitsregressies.

Machine Learning-infrastructuur:

varieert van het maken van personalisatie-algoritmen tot het uitzoeken van de use cases. Personalisatie-algoritmen helpen de Machine Learning-modellen te trainen volgens de Netflix-normen. Het biedt gepersonaliseerde aanbevelingen, overzichten van dag tot dag, labelgeneraties, enz.

De bibliotheken die nodig zijn om te leren Diepe neurale netwerken zijn TensorFlow , Moeilijk , en Pytorch terwijl XGBoost en LightGBM voor Gradient Boosted Decision Trees.Ze hebben ook een flink aantal bibliotheken op een hoger niveau ontwikkeld die helpen bij het combineren met de werkgebieden, zoals feitenregistratie, feature-extractie, publiceren, enz. Afgezien van dit alles gebruikt Netflix ook MetaFlow om machine learning-projecten te maken.

'Metaflow verlegt de grenzen van Python: we maken gebruik van goed geparallelliseerde en geoptimaliseerde Python-code om gegevens op te halen met 10 Gbps, honderden miljoenen gegevenspunten in het geheugen te verwerken en berekeningen te orkestreren over tienduizenden CPU-kernen' - Netflix

Big data:

De team is verantwoordelijk voor het uitvoeren van ETL (extract, transform, load) en Adhoc-pijplijnen. Een groot deel van deze orkestratie is geschreven in Python. Dit team gebruikt een planner die draait op Jupyter Notebooks met papierfabriek om taaktypen met sjablonen te produceren, bijvoorbeeld , Binnenkort, etc.

Daarnaast heeft het team ook een event-driven platform gecreëerd dat volledig op Python is gebouwd. Ze hebben een aantal evenementen gecreëerd en gecombineerd tot één evenement, waardoor Netflix evenementen kan filteren, reageren en routeren. Pygenie maakt ook deel uit van deze infrastructuur die een interface heeft met Genie (aanbevolen dienst voor taakuitvoering).

Wetenschappelijk experiment:

Dit is een platform gemaakt door het team van wetenschappelijke experimenten om dit mogelijk te maken A / B-testen samen met enkele andere experimenten. Hier kunnen wetenschappers en ingenieurs nieuwe innovaties in data, statistieken en visualisatie presenteren.

De Python dat hier wordt geïmplementeerd is Metrische opslagplaats die is gebaseerd op PyPika en maakt het schrijven van herbruikbare geparametriseerde query's mogelijk. Voor de statistische sector, PyArrow en RPy2 worden gebruikt om statistieken te berekenen in Python of R. Plotly helpt bij visualisaties.

Videocodering / Media Cloud Engineering:

Dit team is verantwoordelijk voor het coderen en opnieuw coderen van taken voor de Netflix-catalogus. Python wordt voor ongeveer 50 projecten gebruikt, zoals VMAF (Video Multi-Method Assessment Fusion) en MezzFS (Mezzanine-bestandssysteem), Computer Vision-oplossingen (behandelt afbeeldingen) gebruiken Boogschutter , enzovoort.

Netflix-animatie en NVFX:

Python vormt de basis voor alle animaties en visuele effecten (VFX) bij Netflix. Alle Maya- en Nuke-vakbonden worden gedaan op Python.

IS (Informatiebeveiliging):

Netflix gebruikt door Python aangedreven IS-systemen voor auto-herstel, beveiligingsautomatisering, risicoclassificatie, enz. Het meest actieve open source Python-project van dit team is Beveiliging Monkey . Netflix gebruikt ook ZEGENEN (De Lambda Ephemeral SSH-service van Bastion) beschermen SSH (Secure Shell) bronnen. RepoKid wordt gebruikt om te verlenen NU AL machtigingen en TLS-certificaten worden toegewezen via Lemur. Beide taken zijn voornamelijk afhankelijk van Python.

Monitoring en automatische sanering:

Dit team staat bekend als het Insight Engineering-team. Ze bouwen tools en voeren ze uitvoor operationeel inzicht, diagnostiek, auto-herstel en wijziging. Dit team maakt voor de meeste van zijn diensten gebruik van Python, bijvoorbeeld de Spectator Python-clientbibliotheek. Deze bibliotheek wordt gebruikt voor het opnemen van dimensionale tijdreeksen. Naast deze bibliotheken zijn producten zoals Winston en Bolt ook gebouwd op Python-frameworks die dat wel zijn , Gunicorn en Flask-RestPlus.

hoe je een hashmap implementeert

Samenvattend kan men gemakkelijk beweren dat Python de drijvende kracht is achter Netflix. Hiermee zijn we aan het einde gekomen van deze blog over “Hoe Netflix Python gebruikt?”. Ik hoop dat je duidelijk bent wat er allemaal is besproken.

Om diepgaande kennis op te doen over Python en de verschillende applicaties, kunt u zich live inschrijven met 24/7 ondersteuning en levenslange toegang.

Heeft u een vraag voor ons? Vermeld het in de commentarensectie van deze 'Hoe Python Netflix gebruikt' -blog en we nemen zo snel mogelijk contact met je op.