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
回復下方「關鍵詞」,獲取優質資源
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:編程派 |