写点什么

聊聊 Netflix 那些大胆的技术创新

  • 2021-08-19
  • 本文字数:2479 字

    阅读完需:约 8 分钟

聊聊Netflix那些大胆的技术创新

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

Netflix 这家公司不知道你有没有听说过,《纸牌屋》这样的风靡全球的原创剧就是他们出品的。但我了解这家公司,还是从一个介绍他们公司文化的 PPT 开始的,那个 PPT 的第一句就写着,“我们只招成年人,并愿意为大家支付行业的最高薪资”,如果你想看这个 PPT,可以在视频号给我私信。


因为这周六我要和 Netflix 的资深架构师徐振中老师直播连麦,所以又开始看这家公司的故事了。不看不知道,一看吓一跳,原来这公司这么厉害。这周真的强烈推荐大家一定要看下这场直播,我们可以一起了解世界顶级的技术组织在技术、架构、组织和文化方面的创新。


下面是极客时间老师杨波总结的 Netflix 比较牛逼的点,你可以先看看。直播的话,点击下方红色按钮就可以预约了。我请这位老师废了老大功夫,估计一年就这一次了。


1、微服务很多公司(eBay、Amazon、BAT)都有,甚至比 Netflix 做得更早,但 Netflix 大概是大规模生产级微服务做得最杰出的。100s 范围的微服务,1000s 范围的每日生产变更,10,000s 范围的实例,1,000,000s 范围的活跃客户数,1,000,000,000s 范围的度量。但是只有 10s 范围的运维工程师,没有自己的数据中心 NOC,应该算微服务 DevOps 的最高境界了。


2、Netflix 微服务技术栈的核心组件基本上都是开源的。Pivotal 在 2~3 年前把 Netflix 开源的这摊东西封装一下改头换面,再拼凑一些其它东西(配置中心,调用链监控等)就变成了 Spring Cloud。现在大家耳熟能详的 Zuul 网关,Eureka 服务发现注册中心,Hystrix 熔断限流,Archaius 配置等组件,Netflix 在 2012 年左右就都开源出来了。


3、开放开源是 Netflix 的一种竞争战略。Netflix 为啥热衷于要搞开源?第一,他们想将自己的解决方案建立为行业标准和最佳实践。第二,开源可以帮助建立 Netflix 技术品牌,这有利于他们雇佣、留住和吸引顶级工程师。第三,Netflix 可以从共享生态中获得反馈输入并受益。


4、大致在 09 年左右, Netflix 就开始启动上公有云战略(当然背后也是吃了自建数据中心的苦头),应用逐步向 AWS 迁移,这个过程一共持续了将近 5 年,到 15 年的时候,迁移完毕,全部应用上到 AWS。09 年左右的 AWS 还不太成熟,别说当时,即使现在也没有几个大公司不掂量一下敢提全部迁移公有云的战略。


5、Netflix 在 AWS IaaS 的基础上封装打造了自己的 PaaS 云平台服务 (大部分组件开源),包括平台运行时服务 (Eureka、Zuul、Edda、Atlas),平台库和框架 (Karyon/Ribbon、Hystrix、RxJava、Governator、Servo、Archaius、Astyanax),平台大数据和缓存服务 (Cassandra/ES/Hadoop Platform as a Service、EVCache、S3)。平台工具和服务 (Asgard/Aminator、SimianArmy/ChaosMonkey、ICE),这些都某种意义上代表了硅谷的技术风向标。


6、业内最近开始提出云原生架构的理念,Pivotal 是这个理念的主要推动者(背后主要是要推它的 Cloud Foundry 产品)。其实 Netflix 在 2013 年就提出了 Cloud Native 理念,而且它的整个平台 (AWS IaaS + PaaS) 就是云原生的。


7、Netflix 原来用 Oracle 等传统 SQL 数据库,但是受到扩展性挑战。公司架构管理层大胆颠覆性提出使用 Cassandra NoSQL 作为主要的持久化化存储机制,Netflix 在 2012 年就做到大部分数据存放 Cassandra 和 S3 等非关系数据库上。这个架构决策也是非常大胆有魄力,一般没有几个公司敢这么干的。Cassandra 本质上是一种 KV 数据库,更像 sorted map 存储,不支持事务,不支持 join。在 CAP 理论中,Cassandra 是展现 AP 特性,无中心分散式高可用,天然支持跨数据中心数据同步,这大概是 Netflix 最看重的特性。Cassandra 是读慢写快的特性(一般数据库是读快写慢),Netflix 大量使用 Memcached 做缓存补偿。


8、近年容器技术大火,大家都在谈不可变基础设施的理念,本质就是镜像部署。Netflix 在 2012 年前就已经实现镜像部署,发布的单位是 AMI(Amazon Machine Image) 镜像,通过持续交付工具 Asgard(现在升级版叫 Spinnaker)直接将镜像推到 AWS 云中部署,支持蓝绿(需要至少两倍虚机),灰度和金丝雀等部署模式。


9、Netflix 的发布管道叫 Paved Road,就是平台团队铺好的路,由提交,构建,AMI 镜像烘焙 (Image Baking) 和发布四个阶段组成。金丝雀发布之后,系统会自动生成金丝雀健康报告和分数(背后需要统计上千个 metrics + 复杂智能算法),达到一定的分数,比如 80 分,才能继续 roll out。这个也称发布自动刹车。


10、Netflix 大胆提出反脆弱架构的理念。为了让你的系统更加健壮,不是将它们严格保护起来,而是主动随机性地的增加一些破坏性测试,逼迫研发人员做好高可用。Netflix 从周一至周五,上午 9 点到下午 3 点,混乱猴子军团会随机杀生产实例,这个叫 Chaos Monkey,还有增加延迟的 Latency Monkey。


11、Netflix 的技术这么牛逼,但它是没有技术 CTO 职位的,只有首席产品 CPO,工程团队和产品团队的 VP 都向 CPO 汇报。这样做更多是为了产品导向,便于技术和产品沟通合作,避免两边扯,避免业务驱动还是技术驱动的悖论,大家都是产品驱动。Netflix 把它称为 BusDevOps 组织架构。


12、Netflix 也没有独立的运维团队,架构 + 中间件 + 运维 + 大数据闭环统称为云平台工程 (Cloud and Platform Engineering) 团队,一个 VP 总负责,更好地对接 DevOps 文化。Netflix 的产品导向文化非常浓厚,连平台工程团队开源出来的产品都是整整齐齐的,PaaS 云平台是整个云平台工程团队最大的产品输出。


13、无论公司兴衰,始终支付市场最高工资。不用多解释,这大概是 Netflix 最有霸气底气和牛逼的一点。据我在米国的同学讲,去 Netflix 基本是硅谷顶薪,博士毕业去给开了超过 30 万美金的年薪(这还是前几年的行情)。一般进去难,去了留下来也不容易,不胜任的被客客气气劝退的有。能留下来的一般也不跳,因为再跳也没有更高的待遇了。


怎么样,震惊不?虽然我们并不在 Netflix 工作,也没法建立 Netflix 那样的文化,但他山之石,可以攻玉,Netflix 的很多技术、架构、组织和文化思路值得我们学习和借鉴。8 月 21 日,周六,早上 9 点 30 分,我会连麦他们的资深架构师来聊聊具体的细节,记得预约



2021-08-19 09:424481
用户头像

发布了 219 篇内容, 共 136.3 次阅读, 收获喜欢 191 次。

关注

评论 3 条评论

发布
用户头像
错过直播,想看录播
2021-08-23 14:12
回复
没有了,下次的你关注视频号吧:极客时间小盖
2021-08-23 21:34
回复
用户头像
有点意思
2021-08-23 13:42
回复
没有更多了
发现更多内容

React源码分析7-state计算流程和优先级

flyzz177

React

工赋开发者社区 | 65页数字化工厂规划与建设详细方案 !

工赋开发者社区

通过假设地图进行产品待办列表排序

Bruce Talk

Agile User Story Product Owner 敏捷、

从德鲁克管理实践看服务化架构

agnostic

微服务

学习编程必须知道的三个网站

邱比特讲编程

GitHub 编程 Google Stack Overflow 编程工具

Verilog 的连续赋值

芯动大师

Verilog Verilog语法 连续赋值

设计模式之美——单一职责(Single Responsibility Principle)

GalaxyCreater

设计模式

Compose把Text组件玩出新高度

Halifax

android 前端 kotlin Compose android jetpack

啃透这500页高并发笔记薪资涨了20K,并连收天猫,京东等5个Offer

钟奕礼

Java 程序员 java面试 java 编程

流处理基础概念-窗口与时间

穿过生命散发芬芳

流处理 12月月更

架构实战营模块二作业

张Dave

从React源码分析看useEffect

flyzz177

React

HarmonyOS玩转ArkUI动效 - 水母动画

Halifax

前端 动画 HarmonyOS OpenHarmony arkui

开始用ChatGPT写作

SkyFire

ChatGPT

架构实战 - 模块 2 作业

mm

微信朋友圈 #架构实战营

浅谈如何在小红书和知乎两大平台做好引流推广

石头IT视角

2022-12-11:行程和用户。以下为输出结果,请问sql语句如何写? +------------+-------------------+ | Day | Cancellation

福大大架构师每日一题

数据库 福大大

React源码分析8-状态更新的优先级机制

flyzz177

React

关于ChatGPT的一切;CUDA入门之矩阵乘;PyTorch 2.0发布|AI系统前沿动态

OneFlow

人工智能 深度学习 AI

极客时间运维进阶训练营第七周作业

老曹

网络编程与通信原理

Java 架构

运维进阶训练营 -W07H

赤色闪电

运维

微信朋友圈高性能复杂度

闲人Eric

架构实战营

云与开源,共植数字世界的根

Apache Flink

大数据 flink 实时计算

灵魂拷问,你真的了解DNS吗?

蔡农曰

互联网 前端 后端 计算机网络

记一次Mysql大数据分页优化问题

石臻臻的杂货铺

MySQL 数据库

小令案例 | 互联网消费分期产品引入令牌云服务,大幅提升进件转化

令牌云数字身份

身份认证 分布式数字身份 成功案例

分布式锁主动续期的入门级实现-自省 | 简约而不简单

小小怪下士

Java 程序员 分布式 分布式锁

工赋开发者社区 | 架构瓶颈原则:用注意力probe估计神经网络组件提供多少句法信息

工赋开发者社区

架构训练营作业-模块2

张建闯

架构实战营

react源码中的fiber架构

flyzz177

React

聊聊Netflix那些大胆的技术创新_云原生_小盖_InfoQ精选文章