AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

    阅读完需:约 8 分钟

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

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:425402
用户头像

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

关注

评论 3 条评论

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

OpenCV--基本的线条操作

IT蜗壳-Tango

七日更 2月春节不断更

【得物技术】AB实验设计实现与分流算法

得物技术

算法 AB AB testing实战 实现 得物技术

iMove 基于 X6 + form-render 背后的思考

阿里巴巴 开源 大前端 Web框架 逻辑编排

【LeetCode】尽可能使字符串相等

Albert

算法 LeetCode 2月春节不断更

容器&服务:开篇,压力与资源

程序员架构进阶

容器 服务 七日更 28天写作 2月春节不断更

F2C能否让前端像运营配置一样开发?

阿里巴巴 开源 大前端 Web框架 逻辑编排

Kubernetes 原生 CI/CD 构建框架 Argo 详解!

字节跳动 Kubernetes 云原生 CI/CD argo

Go Modules v2 及后续版本

Rayjun

Go 语言

探寻内部类的奥秘(上)

后台技术汇

2月春节不断更

SDS离全面EC(纠删码)还有多远?

XSKY星辰天合

存储

团队中的三种成员

熊斌

学习 管理 2月春节不断更

日记 2021年2月5日(周五)

Changing Lin

个人感悟 2月春节不断更

2021年前端趋势预测

阿里巴巴 开源 大前端 Web框架 逻辑编排

登上 Github 趋势榜,iMove 原理技术大揭秘!

阿里巴巴 开源 大前端 Web框架 逻辑编排

架构师week11总结

Geek_xq

Spring Boot 微服务性能下降九成!使用 Arthas 定位根因

Java架构师迁哥

2021最新发布百度云面经总结:Java并发+Redis+数据库+分布式

比伯

Java 程序员 架构 面试 计算机

盘点:2021年最新、最全、最实用的Java岗面试真题,已收录GitHub

Java 架构 面试

因果迷境:为什么我们会问“为什么”?

脑极体

MyBatis专栏 - 进阶(引入外部配置文件, 类型参数设置)

小马哥

Java mybatis 七日更 2月春节不断更

通过配置开关 Spring Boot 中的 @Scheduled 定时任务

和白白

Java 定时任务 springboot

阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?

阿里巴巴云原生

云计算 容器 微服务 云原生 cncf

所见即所得! iMove 在线执行代码探索

阿里巴巴 开源 大前端 Web框架 逻辑编排

Webpack | 提升构建速度和体积优化的N种方式

梁龙先森

大前端 webpack 2月春节不断更

Linux Lab 进阶: Uboot 引导程序

贾献华

Linux bootloader Linux Kenel boot

用 JSX 实现 Carousel 轮播组件

三钻

大前端 组件化 JSX

正点原子DS100拆解全过程-硬件工程师必备

良知犹存

嵌入式

威联通(NAS)应用篇:自建OwnCloud网盘(百度网盘,拜拜~~~)

BigYoung

NAS 威联通 28天写作 2月春节不断更

从躬身入局到共生入境的做产品

boshi

产品经理 产品设计 七日更

什么是防火墙?

产品经理训练营第二章作业2

阿波

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