AI 时代下组织如何快速变革?如何提升全员 AI 技能?戳> 了解详情
写点什么

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

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

关注

评论 3 条评论

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

Serverless 架构开发/优化案例

刘宇

Serverless架构下如何对应用进行调试

刘宇

Serverless 代码调试

RocketMQ和Kafka的差异对比

编程江湖

大数据

云原生监控高可用集群 Thanos 架构剖析 | 内容合集

耳东@Erdong

内容合集 签约计划第二季

Linux一学就会之Linux计划任务与日志的管理

学神来啦

Linux centos 运维 SSH linux云计算

基于Github Action的SAE自动化流程案例

刘宇

Serverless SAE Serverless Devs

如何没话找话,聊得不那么尬?(15/28)

赵新龙

28天写作

Serverless 研发效能的变革:Serverless Devs | 引航计划|云原生

刘宇

Serverless 云原生 内容合集 签约计划第二季 Serverless Devs

Serverless Registry Model

刘宇

RESAR 性能工程:一个性能项目真正体现价值的方式

zuozewei

内容合集 签约计划第二季

Golang 问题排查指南

得物技术

Go golang 后端 root

通过 Serverless Devs 部署静态网站

刘宇

云计算 Serverless cicd Serverless Devs

Custom Container的CI/CD最佳实践案例

刘宇

Serverless cicd 容器镜像 Serverless Devs

基于Gitee Go的函数代码更新与版本发布

刘宇

Serverless cicd gitee Serverless Devs

在线JSON转typescript工具

入门小站

工具

Vim 编辑器|批量注释与批量取消注释

AlwaysBeta

vim Linux

大数据开发之常用命令大全

@零度

大数据

虎符重磅启动迎新活动:新用户注册即送VIP2和200USDT 合约体验金

区块链前沿News

Hoo虎符 虎符交易所 虎符送VIP

低代码助力直播带货走进制造业,冲击工厂传统供应链模式

优秀

低代码 直播带货

Serverless User Model

刘宇

Prometheus Exporter (二十七)Memcached Exporter

耳东@Erdong

memcached Prometheus 28天写作 exporter 12月日更

质量基础设施一站式服务平台建设,检验检测系统平台开发搭建

电微13828808271

Serverless Devs Model 与模型简介

刘宇

埃文科技荣获“郑州市企业技术中心”

郑州埃文科技

埃文科技 ip技术 企业技术中心

Serverless架构下如何上传文件与持久化文件

刘宇

初章

阿丞

Serverless架构下传统框架迁移方案与策略

刘宇

Serverless Serverless Devs 传统框架

跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效

海拥(haiyong.site)

大前端 js 28天写作 签约计划第二季 12月日更

百分点大数据技术团队:Elasticsearch多数据中心大规模集群的实战经验

百分点科技技术团队

常见序列化算法学习笔记一

风翱

序列化 12月日更

14. 《重学JAVA》-- 内部类

杨鹏Geek

Java 25 周年 28天写作 12月日更

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