當前位置:
首頁 > 知識 > Netflix 背後的大功臣是 Python!

Netflix 背後的大功臣是 Python!

推薦 | 編程派公眾號(ID:codingpy)

Netflix 是全球最大的流媒體平台,2019年全球用戶量逼近 1.5 億。如此多人追捧的趨勢下,又是哪種強大的程序語言,支撐著Netflix的內部運行呢?

根據Netflix工程師的揭密,該平台所使用程序語言便是目前最受歡迎的程序語言Python。從跟蹤用戶使用狀況與位置等,到推薦演算法,再到內容分發網路CDN,全都在使用Python。

下面是這位工程師列舉的幾個使用場景:

加速警報和統計分析工作

用於警報和統計分析工作。當警報系統亮紅燈時,就會自動分析1000多個相關信號,找出問題。另外Netflix也另外開發系統,使用Python進行大量的分析工作,以快速交付結果。總而言之,Python通常被Netflix用來自動化任務、數據採集和清理。

Demand Engineering

用 Python 完成Netflix雲計算的區域容錯轉移、流量分配、容量運營和集群效率。編排容錯轉移的服務使用numpy和scipy來執行數值分析,boto3對AWS基礎設施進行更改,rq用於運行非同步工作負載,然後將其打包在一個Flask API中,放入bpython shell,並進行臨時製作的能力已經不止一次挽救了局面。

設計個性化演算法

Netflix在個性化機器學習基礎設施中,廣泛使用Python來訓練一些關鍵體驗的機器學習模型:先是從推薦演算法到圖片個性化,再到營銷演算法。

例如,一些演算法使用TensorFlow、Keras和PyTorch來學習深度神經網路,XGBoost和LightGBM來學習梯度提升決策樹,或者Python中更廣泛的科學堆棧(numpy、scipy、sklearn、matplotlib、pandas、cvxpy等等)。

打造信息安全防路網

信息安全方面使用Python為Netflix實現安全自動化、風險分類、自動修復和漏洞識別等目標。並擁有許多成功的Python開源項目,包括Security Monkey(Netflix最活躍的開源項目)。基礎設施安全上也利用Python幫助使用Repokid進行IAM許可權調整,和幫助Lemur生成。

預測收視率

利用Python開發機器學習模型,來預測所有內容的受眾規模、收視率和其他需求指標的核心。

Notebook

Netflix 是 Jupyter Notebook 的擁躉,使用 Python 為 Jupyter 伺服器構建自定義擴展,允許工程師代表用戶管理日誌記錄、歸檔、發布和克隆筆記本等任務。同時,通過不同的 Jupyter 內核為用戶提供了多種風格的 Python,並使用 Python 管理這些內核規範的部署。

文中提到的庫

Open Connect:https://openconnect.netflix.com/en/

bpython:https://bpython-interpreter.org/

nteract:https://nteract.io/

Spectator:https://github.com/Netflix/spectator-py

Security Monkey:https://github.com/Netflix/security_monkey

Bless:https://github.com/Netflix/bless

Repokid:https://github.com/Netflix/repokid

Lemur:https://github.com/Netflix/lemur

papermill:https://papermill.readthedocs.io/en/latest/

pygenie:https://github.com/Netflix/pygenie

scrapbook:https://nteract-scrapbook.readthedocs.io/en/latest/

PyPika:https://pypika.readthedocs.io/en/latest/

PyArrow:https://arrow.apache.org/docs/python/

RPy2:https://rpy2.readthedocs.io/en/version_2.8.x/

Plotly:https://plot.ly/

vmaf:https://github.com/Netflix/vmaf/blob/master/resource/doc/references.md

mezzfs:

https://medium.com/netflix-techblog/mezzfs-mounting-object-storage-in-netflixs-media-processing-platform-cda01c446ba

setupmeta:https://pypi.org/project/setupmeta/

pickley:https://pypi.org/project/pickley/

整理自 buzzorange

回復下方「關鍵詞」,獲取優質資源

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

點擊下面藍字關注我

TAG:編程派 |