每次加载您最喜爱的实践Netflix电影或系列时,背后都会发生很多事情。概述混沌工程、实践性能工程和网站可靠性工程(SRE)领域的概述工程师们努力确保这种魔法持续发生。
当它在2016年独自处于流媒体世界的顶端时…
为了更好地理解,平均高清视频连接速度为8mbps,概述因此30+太比特/秒意味着任何时候都有3,实践750,000+个高清视频比特率的连接。
到2022年,概述这个数字肯定显著提高,实践但我无法获取他们当前的概述数字。
SRE在确保所有性能平稳运行方面发挥了至关重要的实践作用。
Netflix的SRE团队被称为CORE(云运维可靠性工程),它属于一个更大的组别,即运维工程。
SRE(网站可靠性工程师)与SRE相关的专业角色一起工作,例如性能工程师和混沌工程师。
Netflix的文化是自由和责任,这两者对于有效的SRE工作都很重要。
CEO里德·黑斯廷斯(Reed Hasting)采用了 radical candor 的方法(现在被金·斯科特普及),这对自由和责任之间矛盾的渴望产生了影响。
radical candor 法则是“批评他人因为你关心他们”。这可能使SRE更容易指出不良生产决策。
当同行没有没有遵循解决问题更合适路径时,SRE可以直接指出,而不会显得不礼貌。
开发人员必须遵循“you build it, you run it”的范式。 SRE充当开发人员的顾问来帮助研发人员实现“you run it”这部分。
当然,在问题影响生产时,SRE也将充当最后一道防线。
例如,测试服务崩溃会影响推送代码到生产环境的能力。SRE按照事件响应协议,会介入解决此问题。
大多数时间,Netflix 的 SRE 都是在解决那些没有直接解决方案的问题。在这种情况下,“RTFM”(read the fucking manual)可能行不通(译者注:没有既定的预案文档),愿意尝试和寻求新颖的解决方案可能会有所帮助。
修复可能需要几分钟、几小时、几天、几周或者几个月的时间——没有固定的解决时间——并且可能是其他团队没有时间完成的大型项目。
这需要阅读源代码和文档,寻找实验想法,运行实验,并测量结果。
可以作为单人任务完成,也可以组成一个暂时性的问题专项小组。
Netflix的运维工程师花费了多年时间开发“(paved paths)铺好的道路”(编者注:表示已经研发了很多工具)。这些路径旨在帮助开发人员利用先进的工具,而无需重新发明轮子。
这些已经有的工具包括:服务发现、应用程序RPC调用和断路器。
虽然有了很多工具,但是不会强制研发人员使用。开发人员被允许甚至被授权不用这些工具,研发人员可以为自己的服务创建其他工具。
SRE会帮助研发人员设计更好的工具,但是,注意了,SRE 提供的工具可能经受了Simian Army的攻击,已经比较稳定了,研发人员自己造的轮子,同样会被Simian Army攻击,就需要自己搞定这些稳定性因素了。
Simian Army是Netflix一套混沌工程测试工具,可测试系统在遭受内部攻击时其韧性如何。
这对于Netflix实践极端DevOps非常有用——you build it, you run it——工程师负责从头到尾地开发软件、部署和在生产环境中运行代码。
SREs将过去部署中最佳实践编码化以确保生产效果最优。
在 SRE 世界里,NetFlix 最广为人知的是混沌工程里的 Chaos Monkey 工具。不过实际上,远不止此!
Netflix 的 SRE 还广泛使用以下工具:
以下是一个SRE编纂的工具-预生产检查清单。用于检查您的服务是否已准备就绪?
Netflix工程团队的#1业务指标是SPS - 每秒开始次数 - 成功点击播放按钮的人数。
事故响应实践旨在确保此SPS指标的最高百分比。
以下是Netflix在其事故响应能力中确认的一些做法:
对于 Netflix 运维来说,不仅要保证正常运行时间,还需要确保播放的稳定性和适当的性能水平。
需要提供持续良好的服务表现而非一次性胜利——用户应该获得可接受的 TTI 和 TTR。
这是这两个术语的含义:
SRE支持性能工程师执行以下活动:
Netflix以其广泛使用混沌工程而闻名,以确保所有上述指标(如SPS、TTI和TTR)都朝着正确的方向发展。
什么是混沌工程?
在分布式系统上进行实验,以增强对该系统在生产环境中抵御动荡条件的能力的信心
—— Nora Jones,前Netflix高级混沌工程师
混沌工程是一种能力,它在很大程度上基于 Netflix 在 2008 年至 2010 年初的工作。它建立在像单元测试和集成测试这样的常见测试价值基础之上。
混沌工作通过在服务之间的调用中添加故障或延迟,从这些旧方法中提升了一个档次。
为什么要这样做?因为它有助于发现和解决通常在服务调用另一个服务时出现的问题,例如网络延迟、拥塞以及逻辑或扩展故障。
将混沌引入 Netflix 工程,导致了一种文化转变,从“如果这个失败会发生什么”到“当这个失败时会发生什么”。
(责任编辑:探索)
深圳国际(00152.HK)遭UBS Group AG减持291.65万股 涉资约3681.5万港元