编辑 | EarlGrey
推荐 | 编程派公众号(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
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「pybooks02」,立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集
回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版
印度小伙写了套深度学习教程,Github上星标已经5000+
GitHub热榜第四!这套Python机器学习课,免费获取还易吸收
《流畅的 Python》到底好在哪?
如何系统化学习 Python ?
GitHub标星2.6万!Python算法新手入门大全
使用 Vue.js 和 Flask 实现全栈单页面应用
Python 实现一个自动化翻译和替换的工具
使用 Python 制作属于自己的 PDF 电子书
12步轻松搞定Python装饰器
200 行代码实现 2048 游戏
题图:pexels,CC0 授权。