本文译自网飞科技博客,原文:
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的?相关推荐

  1. 不拘一格-网飞的自由与责任工作法 No Rules Rules - Netflix Culture of Reinvention

    本文是<不拘一格--网飞的自由与责任工作法>(No Rules Rules - Netflix and the Culture of Reinvention)的书摘. 一.网飞文化飞轮的三 ...

  2. 不拘一格-网飞的自由与责任工作法

    本文是<不拘一格--网飞的自由与责任工作法>(No Rules Rules - Netflix and the Culture of Reinvention)的书摘. 一.网飞文化飞轮的三 ...

  3. 定价的艺术:苹果和网飞对最优订阅价格的理解

    全文共3408字,预计学习时长9分钟 图源:unsplash 近期,苹果宣布推出Apple One--这是一项新的订阅服务,它将把现有的各种数字订阅服务分为三个价格等级,从每月14.95美元到29.9 ...

  4. 如何与用户建立持久交易关系?解码亚马逊、网飞都在用的商业模式

    什么是会员经济 究竟什么是会员经济呢?有人说是订购,有人说是组建社群和加强客户沟通,有人说是营造归属感,有人说这种模式早已存在,比如各种各样的协会.忠诚度提升计划和健身房,不都实行了会员制吗? 我认为 ...

  5. Python数据分析案例12——网飞影视剧数据分析及其可视化

    背景介绍 Netflix是最受欢迎的媒体和视频流平台之一.他们的平台上有超过 8000 部电影或电视节目.截至 2021 年年中,他们在全球拥有超过 2 亿订阅者. 博主看美剧也较为多,像<怪奇 ...

  6. ChatGPT 开始摧毁在线教育公司;与苹果、迪士尼和网飞纠纷中美国编剧协会罢工;英伟达将在今年进行 IPO;深度学习之父从谷歌离职;硅谷银行破产报告……《经济学人 | 第 19周》

    ChatGPT 开始摧毁在线教育公司 The disruptive potential of generative artificial intelligence came into sharp fo ...

  7. 为什么 Netflix 这么强?网飞 CEO 哈斯廷斯跟陆奇摊牌了

    作者 | 何苗       责编 | 张红月 出品 | CSDN(ID:CSDNnews) 说到网飞,就不能不提网飞自制的很多神剧,最近大热的<后翼弃兵>,之前刷屏的<爱,死亡,机器 ...

  8. netflix为什么叫网飞_没有商业中断:为什么世界杯比Netflix时代的NFL感觉更现代...

    netflix为什么叫网飞 Soccer isn't a technologically advanced game, but in one way it feels more modern than ...

  9. 研究发现视频会议增加员工压力、 谷歌地球升级4D交互体验、Apple新品发布、网飞用户增长缓慢等|Decode the Week

     Decode the Week ≠音视频技术周刊  Credit:Hollie Fuller Collectivism is My Biggest Enemy . /News Briefing.   ...

最新文章

  1. 【Qt】QIcon::fromTheme:从系统主题中获取图标
  2. SpringBoot线程池的创建、@Async配置步骤及注意事项
  3. javascript php xmlhttp file,xmlHTTP实例_javascript技巧
  4. java integer引用传递_在java中String,对象,Integer(包装类型的)关于引用传递还是值传递...
  5. pythonzip是迭代器_Python迭代器和zip
  6. C语言开发笔记(一)自动转换和强制转换
  7. 人口增长(信息学奥赛一本通-T1070)
  8. bootstrap 辅助类
  9. 【ES】ES 根据数据的某个字段进行条件删除
  10. TCP/IP、HTTP、HTTPS
  11. julia的安装以及三个报错解决(包安装、dot函数无定义、定义变量无法在循环中使用)
  12. knn代码实现+可视化
  13. 数商云食品行业数字化供应链转型解决方案
  14. 引导(booting)
  15. FuntouchOS跟鸿蒙系统,FuntouchOS10.5安装包
  16. 企业邮箱安全防盗措施
  17. js字符串转换成数字
  18. 华为笔记本linux usb启动,华为MateBook D(2018) BIOS设置u盘启动教程
  19. 深入浅出地理解STM32中的中断系统——从原理到简单工程示例——保姆级教程
  20. 行人重识别-姿态检测

热门文章

  1. Qt学习之自定义搜索框(两种方案)
  2. 兴业银行网关支付,单笔超过1万单子付款提示交易异常交易繁忙,无法成功支付
  3. Flink CDC 2.0 数据处理流程全面解析
  4. Android 开发学习笔记
  5. 第十八届全国大学生智能车竞赛东北赛区成绩与奖项
  6. windows系统入侵排查思路
  7. NR基础2-物理信道和物理信号
  8. 互联网起源之无线通信
  9. android h5 宿舍报修管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计
  10. ToString().Trim()的含义