赵成《进化》| 揭秘Netflix:顶级公司Netflix运维的定义

关于顶级公司Netflix 的运维揭秘,赵成老师在新书《进化:运维技术变革与实践探索》中有比较详细的分析。

《进化:运维技术变革与实践探索》

众所周知,Netflix 是业界微服务架构的最佳实践者,其基于公有云上的 微服务架构设计、持续交付、监控、稳定性保障,都为业界提供了大量可以 遵从的原则和实践经验。

Netflix 超前提出了某些理念并付诸实践,以至于在国内众多互联网公司 的技术架构上都可以看到似曾相识的影子。当然,殊途同归也好,经验借鉴 也罢,这都不影响 Netflix 作为业界最佳实践者的地位。

同样,在运维这个细分领域,Netflix 仍然是最佳实践的典范。所以在本 书的开始,就让我们一起看看世界顶级的互联网公司是如何定义运维以及如 何开展运维工作的。

Netflix 是如何成为行业典范的


1. 没有运维的 Netflix

准确一点来说,Netflix 是没有运维岗位的,和运维对应的岗位其实是我 们熟知的 SRE(Site Reliability Engineer)。但我们知道 SRE 不等于运维, SRE 理念的核心是,用软件工程的方法重新设计和定义运维工作。

但是 Netflix 的神奇和强大之处在于,连 Google 都非常重视和大力发展 的 SRE 岗位,在 Netflix 却没有几个。按照 Netflix 一位技术主管在 2017 年 9 月更新的博客中所描述的,在 1 亿用户、每天 1.2 亿小时播放时长、万级

微服务实例的业务体量下,Netflix 的 SRE 人数却不超过 10 个,他们称这样 的角色为 Core SRE。具体描述如下:

100+ Million members. 125+ Million hours watched per day. Hundreds of microservices. Hundreds of thousands of instances. Less than 10 Core SREs.

                                                                                          ——Katharina Probst

不可否认,Netflix 拥有强大的技术实力和全球最优秀的工程师团队。按 照 SRE 的理念,完全可以打造出一系列的工具产品来取代运维和 SRE 的工作。 但是 Netflix 能够做到如此极致,就不得不让人惊叹和好奇,它到底是怎么 做的?


2. Netflix 是如何成为行业典范的

这确实是一个很有意思的问题,我带着这样的疑问,阅读了大量的 Netflix 技术文章和公开的演讲内容之后,我想可以从 Netflix 的技术架构、 组织架构、企业文化等几个方面来看这个问题。


海量业务规模下的技术架构和挑战

前面提到,Netflix 在业务高速发展以及超大规模业务体量的驱动下,引 入了更为灵活的微服务架构,而且已经成为业界的最佳实践典范。

引入微服务架构后,软件架构的细化拆分和灵活多变,大大提升了开发人员的开发效率,继而也就提升了业务需求的响应和迭代速度,我想这也正是微服务思想在业界能够被广泛接受和采用的根本原因。

但是这样做也并不是说没有一点代价和成本,随之而来的便是架构复杂度大大增加,这种复杂度已经远远超出人的认知能力,也就是我们已经无法靠人力去掌控了,这也就为后续的交付和线上运维带来了极大的难度和挑战。

这是,微服务架构下的运维就必须要靠通过软件工程思路打造工具支撑体系来支持了,也就是要求微服务架构既要能够支持业务功能,也要能够提供和暴露更多在后期交付和线上运维阶段所需的基础维护能力。

简单举几个例子,比如服务上下线、路由策略调整、并发数动态调整、 功能开关、访问 ACL 控制、异常熔断和旁路、调用关系和服务质量日志输 出等,要在这些能力之上建设我们的运维工具和服务平台。

讲到这里,我们可以看到,在微服务架构模式下,运维已经成为整体技 术架构体系中必不可少的一部分,而且与微服务架构相关的体系是紧密相连、 不可拆分的。

我们现在看到很多和 SRE 相关的文章或内容,对于 SRE 产生原因的解 释,大多是说为了缓解开发和运维之间的矛盾,树立共同的目标,让双方能 够更好地协作配合。这样理解也没有太大的问题,但是我认为不够充分,或 者说以上这些只能算是结果,不是背后的根本原因。

我理解的背后最根本的原因是,微服务架构复杂到了一定程度,已经远远超出单纯的开发和单纯的运维职责范畴,也远远超出了单纯的人力认知掌控范围,所以必须寻求在架构之上的更为有效和统一的技术解决方案,来解决复杂度认知的问题。在这一套统一的技术解决方案之上,开发和运维进而产生了新的职责分工和协作方式。

对于目前业界火热的 DevOps 理念及其衍生出来的一系列话题,我们可 以仔细思考一下,其实也是同样的背景和逻辑。DevOps 想要解决的是开发和运维之间日益严重的矛盾,究其根本,还是微服务架构背后的技术复杂度在不断提升的问题。

Netflix 带给我们的启示一:在微服务架构模式下,我们必须换一个思路 来重新定义和思考运维,运维一定要与微服务架构本身紧密结合起来。


更加合理的组织架构和先进的工具体系及理念

前面提到,在微服务架构模式下,运维已经成为整体技术架构和体系中不可分割的一部分,两者脱节就会带来后续一系列的严重问题。

从这一点上,不得不说 Netflix 的前瞻性和技术架构能力还是很强的。 因为早在 2012 年,甚至更早之前,Netflix 就已经意识到了这个问题。在组 织架构上,将中间件、SRE、DBA(DataBase Administrator,数据库管理员)、 交付和自动化工具、基础架构等团队都放在统一的云平台工程(Cloud and Platform Engineering)这个大团队下,在产品层面统一规划和建设,从而能 够最大程度地发挥组织能力,避免了开发和运维的脱节。

当然,这个团队不仅没让大家失望,还给我们带来了很多惊喜。在业界 大名鼎鼎的 Netflix OSS 开源产品体系里,绝大部分的产品都是这个团队贡 献的。

比如,持续交付系统 Spinnaker;稳定性保障工具体系 Chaos Engineering, 这里面最著名的就是那只不安分的猴子,也正是这套稳定性理念和产品最大 程度地保障了 Netflix 系统的稳定运行;被 Spring Cloud 引入并得以更广泛 传播的 Common Runtime Service&Libraries,而且大家选用 Spring Cloud 基本 就是冲着 Spring Cloud Netflix 这个子项目去的。当然还有很多其他优秀的开 源产品,这里就不一一介绍了。

Netflix 带给我们的启示二:合理的组织架构是保障技术架构落地的必要 条件,用技术手段来解决运维过程中遇到的效率和稳定性问题才是根本解决方案。


自由与责任并存的企业文化

上面讲了这么多,看上去好像就是 SRE 常见的理念和套路,只不过 Netflix 在开源和分享上更加开放和透明,让我们有机会更多地了解到一些细 节。但是为什么 Netflix 会做得如此极致呢?好像我们一直没有回答这个问题, 说到这里就不得不提 Netflix 的企业文化了。

Netflix 的企业文化是“Freedom & Responsibility”,也就是自由和责任 并存,高度自由的同时,也需要员工具备更强的责任心和 Owner(责任人) 意识。

体现在技术团队中就是“You Build It,You Run It”。工程师可以随时 向生产环境提交代码或者发布新的服务,但是工程师同时作为 Owner,要对 自己发布的代码和线上服务的稳定运行负责。

在这种文化的驱使下,技术团队自然会考虑从开发设计阶段到交付和线 上运维阶段的端到端整体解决方案,而不会是开发人员就只管需求开发,后 期交付和维护应该由一个叫运维的角色去考虑。文化使然,在 Netflix 是绝对 不允许这种情况存在的,你是开发人员,你就是 Owner,你就要端到端地负责。

所以,虽然是短短两个英文单词——Freedom & Responsibility,却从源 头上决定了团队和员工的做事方式。

Netflix 带给我们的启示三:Owner 意识很重要,正确的做事方式需要引导,这就是优秀和极致的距离。


3. 总结

通过上面的分析,我们可以看到,Netflix 在其技术架构、组织架构和企 业文化等方面的独到之处,造就了其优秀的技术理念和最佳实践。从运维的 角度来说,无论是 SRE 也好,还是 DevOps 也罢,都被 Netflix 发挥到了极致。

当然,Netflix 能做到这一点,是需要非常强大的技术实力和人才储备的。 当前我们虽然没办法直接套用它的整套体系,但是这并不妨碍我们在某些经 验和思路上去借鉴和学习。

比如,现在很多公司在采用了微服务架构后,就没有充分考虑到后续基于微服务架构的运维问题,而且在运维团队的设置上,仍然脱离了整个技术团队,更不用说将其与中间件和架构设计等团队整合拉通区建设,自然也就谈不上在产品层面上的合理规划和建设了。

因此导致的问题就是运维效率低下,完全靠人工,线上故障频发,但是处理效率又极低,开发和运维都处于非常痛苦的状态中,运维团队和成员也会遭遇到转型和成长的障碍。

以上这些问题都很棘手,亟待解决。通过本节内容,我们了解了 Netflix 技术团队的运作模式和思路,不知道给你带来了哪些启示呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容