Python at Netflix: Ano ang Mangyayari Kapag Nag-stream ka ng isang Pelikula?

Alamin kung ano ang Netflix at kung paano ginagamit ng streaming na higanteng ito ang Python sa iba't ibang mga domiano tulad ng Operations, Machine learning, Informtion Security, atbp.

Ang one-stop na patutunguhan para sa bawat buff ng pelikula ay, syempre, Netflix. Ngunit paano kung nanonood ka ng iyong paboritong pelikula at ito ay patuloy na nag-iimbak bawat ngayon at pagkatapos? Isasara mo lang ang application at pumili ng ibang pagpipilian. Ngunit, paano nito pinamamahalaan ang trapiko ng milyun-milyong mga gumagamit nang mabilis? Salamat kay . Sa artikulong ito, tuklasin natin kung paano ginagamit ng Netflix ang Python.

Magsimula tayo sa pamamagitan ng mabilis na pagtingin sa mga tema na pumupuno sa artikulong ito:





Kaya't magsimula tayo. :)

Panimula sa Netflix

Logo ng Netflix-Paano ginagamit ng Netflix ang Python-EdurekaAng Netflix ay isang Amerikanong kumpanya na nagbibigay ng mga serbisyo ng Video on Demand (VOD). May punong-tanggapan sa Los Gatos, California, ang Netflix ay may tungkol sa 148 milyong mga tagasuskribi sa buong mundo at ang bilang, gayunpaman, ay patuloy na lumalaki bawat araw. Sa isang panahon ng humigit-kumulang na dalawang dekada, lumitaw ang Netflix bilang 'Hari ng angkan' para sa pinakamalaking Tv Series at Pelikula sa buong mundo. Ang pagiging pinakamabilis na lumalagong tatak ng Amerika at pagkakaroon ng kita na $ 20.5B sa 2019, ay sapat na upang ito ay maging isang 'eye-catcher', at dahil doon ay nakawiwili sa lahat ng mga teknolohikal na larangan nito.



Batay sa parehong lugar ng interes, ang Netflix ay nagsiwalat kung paano nito ginagamit ang pinaka-trending na wika, Sawa , para sa mga imprastraktura nito.

Kaya't magpatuloy tayo upang makita kung paano talaga ginagamit ng Netflix ang Python?



Paano ginagamit ng Netflix ang Python?

'Ginagamit namin ang Python sa pamamagitan ng buong buong buhay na nilalaman, mula sa pagpapasya kung aling nilalaman ang pondohan hanggang sa pagpapatakbo ng CDN na naghahatid ng huling video sa 148 milyong mga miyembro' - Mga Engineer sa Netflix

Sumusunod from Administratibong mga domain sa Kahusayan at Agham sa Data sa atbp, ang Netflix ay gumagamit ng Python para sa halos bawat gilid ng kanilang negosyo.

Ngayon tingnan natin kung paano ay ginagamit sa iba't ibang mga domain sa Netflix:

Buksan ang Connect:

Ang CDN (Network ng Paghahatid ng Nilalaman) na ginagamit ng Netflix ay, Buksan ang Connect. Karaniwang buksan ang kumonekta sa larawan kapag nag-click ka sa pindutang 'play'. Ang lahat ng nilalaman na naihatid sa end user ay inaalagaan ng CDN na ito.

Ang Open connect ay nangangailangan ng iba`t ibang mga system ng software upang idisenyo, buuin at patakbuhin ito na nakasulat naman sa Python. Hindi lang ito, ang mga aparato ng network na pinagbabatayan ng CDN na ito ay mga application ng Python dahil kilalang-kilala ang Python sa paglutas ng mga isyu sa network.

Koponan ng Demand Engineering:

Mananagot ang koponan ng Demand Engineering para sa paghawak ng Regional Failover, ulap ng Pangangasiwa ng Trapiko, Pamamahala ng Mga Pagpapatakbo ng Kapasidad sa cloud ng Netflix cloud, (pangangalaga sa limitasyon kung saan maaaring gawin ang nilalaman), at Fleet Efficiency Ang mga elemento ng Python na ginamit ng pangkat na ito ay:

NumPy at SciPy:

at SciPy ginagamit ang mga silid-aklatan para sa computing pang-agham. Gumagamit ang Netflix ng mga libraryong Python na ito upang magsagawa ng numerical analysis sa pamamagitan nito na nagpapahintulot sa pamamahala ng mga Regional Failover.

Boto3:

Ang Boto3 ay ang Software Development Kit (SDK) ng para sa Python. Tinutulungan nito ang mga developer ng Python na isama ang Python sa AWS sa ganyang paraan pinapayagan ang pag-unlad sa imprastraktura.

kung paano gamitin ang kapangyarihan sa java

RQ (Redis Queue):

Ito ay isang silid-aklatan ng Python na makakatulong na subaybayan ang mga gawain na naroroon sa pila at pinapayagan ang kanilang pagpapatupad sa ganyang paraan na pinapayagan ang pamamahala ng hindi magkasabay na mga karga.

Prasko:

Sa wakas, ginagamit ng Netflix ang Flask (Python Web Development library) API's upang maiugnay ang lahat ng mga nakaraang segment.

Ginagamit ng Netflix ang na isang open-source web app, ginagamit para sa pag-unlad ng Python kasama nteract (extension para sa Jupyter) sa isang malaking sukat. Ang Jupyter ay kilalang sikat sa pagsusuri ng data. Naghahain ito ng napakahusay sa pagpapatakbo ng pagtatasa ng data at paggunita kung saan makakatulong naman sa pagtuklas ng mga pagbabalik ng kakayahan.

Infrastructure ng Pag-aaral ng Machine:

saklaw mula sa paglikha ng mga algorithm sa Pag-personalize hanggang sa pag-uunawa ng mga kaso ng paggamit. Tumutulong ang mga algorithm sa pag-personalize upang sanayin ang mga modelo ng Pag-aaral ng Machine ayon sa mga pamantayan ng Netflix. Nagbibigay ito ng mga naisapersonal na rekomendasyon, balangkas sa pang-araw-araw na batayan, mga henerasyon ng label, atbp.

Kailangang matuto ang mga aklatan Malalim na Neural Networks ay TensorFlow , Mahirap , at Pytorch samantalang XGBoost at LightGBM para sa Gradient Boosted Decision Trees.Bumuo din sila ng ilang mga mas mataas na antas na aklatan na makakatulong sa pagsasama sa mga lugar ng trabaho tulad ng pag-log ng katotohanan, pagkuha ng tampok, paglalathala, atbp. Bukod sa lahat ng ito, gumagamit din ang Netflix MetaFlow upang lumikha ng mga proyekto sa pag-aaral ng makina.

'Tinutulak ng Metaflow ang mga limitasyon ng Python: Nakakagamit namin ng maayos na parallelized at na-optimize ang Python code upang makuha ang data sa 10Gbps, hawakan ang daan-daang milyong mga data point sa memorya, at binubuo ng pagkalkula sa sampu-sampung libong mga CPU core' - Netflix

Malaking Data:

Ang responsable ang koponan na magpatupad ng ETL (katas, ibahin, i-load) at mga pipeline ng Adhoc. Ang isang pangunahing bahagi ng orkestra na ito ay nakasulat sa Python. Gumagamit ang pangkat na ito ng isang tagapag-iskedyul na tumatakbo sa mga Jupyter Notebook na may papermill upang makabuo ng mga uri ng trabaho na may mga template, halimbawa, , Hindi magtatagal, atbp.

Bilang karagdagan sa ito, ang koponan ay lumikha din ng isang platform na hinimok ng kaganapan na ganap na naitayo sa Python. Lumikha sila ng isang bilang ng mga kaganapan at pinagsama ito sa isang solong pinapayagan ang Netflix na salain, reaksyon at i-ruta ang mga kaganapan. Pygenie ay bahagi rin ng imprastrakturang ito na nakikipag-ugnay sa Genie (itinampok na serbisyo sa pagpapatupad ng trabaho).

Pang-eksperimentong Siyentipiko:

Ito ay isang platform na nilikha ng pangkat ng eksperimentong pang-agham upang pahintulutan Pagsubok ng A / B kasama ang ilang iba pang mga eksperimento. Dito, ang mga siyentipiko at inhinyero ay maaaring magpakita ng mga bagong makabagong ideya sa data, istatistika, at pagpapakita.

Ang Python na ipinatupad dito ay Metrics Repo na kung saan ay batay sa PyPika at pinapayagan ang pagsusulat ng magagamit muli na mga query sa parameter. Para sa sektor ng istatistika, PyArrow at RPy2 ay ginagamit upang makalkula ang mga istatistika sa alinman sa Python o R. Plotly tumutulong sa visualization.

Pag-encode ng Video / Media Cloud Engineering:

Ang koponan na ito ay responsable para sa pag-encode at muling pag-encode ng mga gawain para sa catalog ng Netflix. Ang Python ay ginagamit ng humigit-kumulang para sa 50 mga proyekto tulad ng VMAF (Video Multi-Method Assessment Fusion) at MezzFS (Mezzanine File System), Mga Solusyon sa Paningin ng Computer (pakikitungo sa koleksyon ng imahe) gamit ang Archer , atbp.

istraktura ng data ng diksyunaryo sa java

Netflix Animation at NVFX:

Ang Python ang bumubuo ng base para sa lahat ng Mga Animation at Visual Effects (VFX) sa Netflix. Ang lahat ng mga unyon ng Maya at Nuke ay tapos na sa Python.

AY (Seguridad sa Impormasyon):

Gumagamit ang Netflix ng mga system na pinapatakbo ng Python IS para sa auto-remediation, automation ng seguridad, pag-uuri ng peligro, atbp. Ang pinaka-aktibong proyekto ng open source na Python ng pangkat na ito ay Security Monkey . Gumagamit din ang Netflix MAGPALA (Serbisyo ng Lambda Ephemeral SSH ng Bastion) upang maprotektahan SSH Mga mapagkukunan (Secure Shell). RepoKid ay ginagamit upang magbigay DAHIL NA ang mga pahintulot at sertipiko ng TLS ay inilaan sa pamamagitan ng Lemur. Ang parehong mga gawaing ito ay pangunahing umaasa sa Python.

Pagsubaybay at Auto-Remediation:

Ang pangkat na ito ay kilala bilang koponan ng Insight Engineering. Bumubuo at nagsasagawa ng mga toolpara sa pananaw sa pagpapatakbo, mga diagnostic, auto-remediation, at pagbabago. Para sa karamihan ng mga serbisyo nito, ginagamit ng pangkat na ito ang Python, halimbawa, ang library ng client ng Spectator Python. Ginagamit ang library na ito para sa pagtatala ng dimensional na serye ng oras. Kasama ng mga aklatan na ito, ang mga produkto tulad ng Winston at Bolt ay itinayo din sa mga frameworks ng Python na , Gunicorn, at Flask-RestPlus.

Sa kabuuan ng lahat, madaling maangkin ng isa ang Python na maging puwersa sa pagmamaneho para sa Netflix. Sa pamamagitan nito, naabot namin ang dulo ng blog na ito sa 'Paano ginagamit ng Netflix ang Python?'. Inaasahan kong malinaw mo ang lahat ng napag-usapan.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at habambuhay na pag-access.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Paano Ginagamit ng Python ang Netflix' na blog at babalikan ka namin sa lalong madaling panahon.