网飞公司(Netflix)是怎么用Python的?
本文译自网飞科技博客,原文:
https://netflixtechblog.com/python-at-netflix-bba45dae649e?gi=83b411a8aff
Netflix(网飞)是全球最大的视频流媒体平台,在除中国大陆地区之外的所有国家和地区都提供视频点播服务。Netflix是经营在线业务公司中的一个亮点。它成功地把传统的影像租赁业务和现代化的市场营销手段、先进的IT网络技术结合起来,从而开创了在线影像租赁的新局面。Netflix通过整合其自身的营销手段和最近的IT网络技术,成功地改变了消费习惯和打造了自己的品牌优势。
Netflix的技术本质上就是回答两个问题:
1. 如何提升用户观看体验?
2. 如何在内容上让用户喜欢?
而这两个问题,在Python的帮助之下,交了一份令人满意的答卷,让我们一起来看看 Python 在 Netflix 是如何应用的。
1.加快视频分发速度
为了加快视频的分发速度,网飞开发了一个名为 Open Connect 的内容分发网络(content delivery network,CDN),尽可能靠近用户,为客户改善流媒体体验,加快视频的下载速度。
而设计、构建和运营这个 CDN 基础设置所需的各种软件系统,其中很多都是用 Python 编写的。其有一个配置信息管理系统,里面跟踪网飞的网络设备库存:有哪些设备、哪些型号,用什么硬件组件,都位于什么位置。这些设备的配置由几个其他系统控制,包括数据源、设备配置的应用和备份。用于收集运行状况和其他运营数据的设备交互是另一个 Python 应用程序。
2.快速解决运营需求
网飞还用Python负责处理Netflix云的区域故障转移,流量管理,容量运营管理(管理内容可以维修的限制)等内容,使用的Python模块大致如下:
NumPy和SciPy
NumPy和SciPy是用于科学计算的库。Netflix使用这些Python库来执行数值分析,从而允许管理区域故障转移。
Boto3
Boto3是适用于Python的AWS(Amazon Web Services)的软件开发工具包(SDK)。这有助于Python开发人员将Python集成到AWS中,从而允许在基础架构中进行开发。
RQ(Redis队列)
这是一个Python库,可帮助跟踪队列中存在的任务并允许其执行,从而允许管理异步工作负载。
Flask
最后,Netflix使用Flask(Python Web开发库)API将所有先前的功能绑定在一起。
他们的工具主要是由 Python 构建的。编排故障转移的服务使用 numpy 和 scipy 来执行数值分析,boto3 对 AWS 基础设施进行更改,rq 用于运行异步工作负载,将其打包在一个 Flask API 的简单接口层中。放入 bpython shell 并进行临时制作的能力已经不止一次挽救了局面。
( bpython是一个不错的Python解释器的界面,开发者的目的是提供给用户所有的内置功能,很像现在的IDE(集成开发环境),但是将这些功能封装在在一个简单,轻量级的包里,可以在终端窗口里面运行,弥补原始解释器的不足。)
3.警报与统计、 自动修复
他们还用警报和统计分析工作中使用 Python。警报系统显示问题时,他们使用Python的许多统计和数学库(如 numpy、scipy、ruptures、pandas)来帮助自动分析 1000 多个相关信号。并开发了一个用于团队内外的时间序列相关系统 Spectator Python,以及分布式工作系统,用于并行处理大量的分析工作,以快速交付结果。
除此之外,他们也经常用Python来自动化任务、数据挖掘和清理的工具,也是可视化工作的方便工具。
4.信息安全
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXRiS50H-1593097095124)(https://github.com/Netflix/security_monkey/raw/develop/docs/images/Security_Monkey.png)]
网飞信息安全团队使用 Python 为 Netflix 实现了许多高层次目标:安全自动化、风险分类、自动修复和漏洞识别等等。利用 Python 来保护使用 Bless 的 SSH 资源、利用 Python 帮助使用 Repokid 进行 IAM 权限调整、使用 Python 来帮助Lemur 生成 TLS 证书等等。
5.个性化推荐
说起个性化算法,当然少不了机器学习和深度学习。他们使用 Python 来训练一些 Netflix 影响用户体验关键方面的机器学习模型,如决策树、XGBoost等,而且在开发过程中,实现了一套自动化流程。
6.优化Python极限
为了使得生产效率提高,他们还利用机器学习开发了一个叫Metafolw的Python框架。这个框架提升了 Python 的极限,通过良好的设计和对Python代码的部分改造,成功实现了使用Python来获取几十G数据的可能性,大大提升了计算能力。
7.大数据编排
为了更好地编排大数据,他们还构建了一个用Python编写的事件驱动型平台,将许多个系统统一到该工具中,转化成事件流的形式进行调度,并具有模板化的作业类型。
因此,他们能够随时解耦微服务,而且通过这个平台,他们能够了解数据的流动状况,以及发生的所有事情。当然,Netflix 的系统之所以能够如此稳定,还有更多的技术因素在里面,这里就不能够再赘述了。有兴趣可以看看下面这本书。
《 混沌工程:Netflix系统稳定性之道 [Chaos Engineering]》
文中涉及到的部分项目、库的官方地址:
Open Connect: https://openconnect.netflix.com/en/
bpython: https://bpython-interpreter.org/
nteract: https://nteract.io/
visualization tools: https://github.com/nteract/nteract/tree/master/packages/data-explorer
Spectator: https://github.com/Netflix/spectator-py
Security Monkey: https://github.com/Netflix/security_monkey
Bless: https://github.com/Netflix/bless
我们的文章到此就结束啦,如果你喜欢我们今天的Python 实战教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦,有任何问题都可以在下方留言区留言,我们都会耐心解答的!
Python实用宝典
不只是一个宝典
欢迎关注公众号:Python实用宝典
原文来自Python实用宝典:网飞公司(Netflix)是怎么用Python的?
网飞公司(Netflix)是怎么用Python的?相关推荐
- 不拘一格-网飞的自由与责任工作法 No Rules Rules - Netflix Culture of Reinvention
本文是<不拘一格--网飞的自由与责任工作法>(No Rules Rules - Netflix and the Culture of Reinvention)的书摘. 一.网飞文化飞轮的三 ...
- 不拘一格-网飞的自由与责任工作法
本文是<不拘一格--网飞的自由与责任工作法>(No Rules Rules - Netflix and the Culture of Reinvention)的书摘. 一.网飞文化飞轮的三 ...
- 定价的艺术:苹果和网飞对最优订阅价格的理解
全文共3408字,预计学习时长9分钟 图源:unsplash 近期,苹果宣布推出Apple One--这是一项新的订阅服务,它将把现有的各种数字订阅服务分为三个价格等级,从每月14.95美元到29.9 ...
- 如何与用户建立持久交易关系?解码亚马逊、网飞都在用的商业模式
什么是会员经济 究竟什么是会员经济呢?有人说是订购,有人说是组建社群和加强客户沟通,有人说是营造归属感,有人说这种模式早已存在,比如各种各样的协会.忠诚度提升计划和健身房,不都实行了会员制吗? 我认为 ...
- Python数据分析案例12——网飞影视剧数据分析及其可视化
背景介绍 Netflix是最受欢迎的媒体和视频流平台之一.他们的平台上有超过 8000 部电影或电视节目.截至 2021 年年中,他们在全球拥有超过 2 亿订阅者. 博主看美剧也较为多,像<怪奇 ...
- ChatGPT 开始摧毁在线教育公司;与苹果、迪士尼和网飞纠纷中美国编剧协会罢工;英伟达将在今年进行 IPO;深度学习之父从谷歌离职;硅谷银行破产报告……《经济学人 | 第 19周》
ChatGPT 开始摧毁在线教育公司 The disruptive potential of generative artificial intelligence came into sharp fo ...
- 为什么 Netflix 这么强?网飞 CEO 哈斯廷斯跟陆奇摊牌了
作者 | 何苗 责编 | 张红月 出品 | CSDN(ID:CSDNnews) 说到网飞,就不能不提网飞自制的很多神剧,最近大热的<后翼弃兵>,之前刷屏的<爱,死亡,机器 ...
- netflix为什么叫网飞_没有商业中断:为什么世界杯比Netflix时代的NFL感觉更现代...
netflix为什么叫网飞 Soccer isn't a technologically advanced game, but in one way it feels more modern than ...
- 研究发现视频会议增加员工压力、 谷歌地球升级4D交互体验、Apple新品发布、网飞用户增长缓慢等|Decode the Week
Decode the Week ≠音视频技术周刊 Credit:Hollie Fuller Collectivism is My Biggest Enemy . /News Briefing. ...
最新文章
- 【Qt】QIcon::fromTheme:从系统主题中获取图标
- SpringBoot线程池的创建、@Async配置步骤及注意事项
- javascript php xmlhttp file,xmlHTTP实例_javascript技巧
- java integer引用传递_在java中String,对象,Integer(包装类型的)关于引用传递还是值传递...
- pythonzip是迭代器_Python迭代器和zip
- C语言开发笔记(一)自动转换和强制转换
- 人口增长(信息学奥赛一本通-T1070)
- bootstrap 辅助类
- 【ES】ES 根据数据的某个字段进行条件删除
- TCP/IP、HTTP、HTTPS
- julia的安装以及三个报错解决(包安装、dot函数无定义、定义变量无法在循环中使用)
- knn代码实现+可视化
- 数商云食品行业数字化供应链转型解决方案
- 引导(booting)
- FuntouchOS跟鸿蒙系统,FuntouchOS10.5安装包
- 企业邮箱安全防盗措施
- js字符串转换成数字
- 华为笔记本linux usb启动,华为MateBook D(2018) BIOS设置u盘启动教程
- 深入浅出地理解STM32中的中断系统——从原理到简单工程示例——保姆级教程
- 行人重识别-姿态检测