你猜!Netflix的技术为何这么流弊?

架构师之路

共 2881字,需浏览 6分钟

 ·

2021-08-24 20:23

这次,邀请到了Netflix的架构师来聊聊架构。


Netflix 大家都知道吧?《纸牌屋》就是他们出品的,但我了解这家公司,还是从一个介绍他们公司文化的 PPT 开始的,那个 PPT 的内容让人印象深刻:
“我们只招成年人,并支付行业的最高薪资”

你看过这个PPT吗?


周六 Netflix 的资深架构师徐振中老师要直播,强烈推荐大家看下这场直播,一起了解世界顶级的技术组织在技术、架构、组织和文化方面的创新。

这位大牛很少露面,估计一年就这一次了。

Netflix的架构为什么牛逼呢?
来和大家细数一下:

1、最少的运维,支持最大规模的微服务。
100s 范围的微服务,1000s 范围的每日生产变更,10,000s 范围的实例,1,000,000s 范围的活跃客户数,1,000,000,000s 范围的度量。但是只有 10s 范围的运维工程师,没有自己的数据中心 NOC,应该算微服务 DevOps 的最高境界了。

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

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

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

4、自有PassS服务。
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),这些都某种意义上代表了硅谷的技术风向标。

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

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

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

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

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

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

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

怎么样,震惊不?
虽然我们并不在 Netflix 工作,也没法建立 Netflix 那样的文化,但他山之石,可以攻玉,Netflix 的很多技术、架构、组织和文化思路值得我们学习和借鉴,一起来参加咱们的活动吧。

时间8.21(周六),早上 9:30
活动Netflix 的资深架构师徐振中的连麦直播

如何参加呢?
点击下面按钮预约。
希望大家有收获。
浏览 72
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报