首页 > 其他分享 >像Google SRE一样OnCall【转载】

像Google SRE一样OnCall【转载】

时间:2023-12-31 15:45:59浏览次数:32  
标签:Google SRE 琐事 OnCall 告警 团队

在 Google SRE 的著作《Google运维解密》[1](原作名:Site Reliability Engineering: How Google Runs Production Systems)中,Google SRE 的关键成员们几乎不惜用了三个章节的篇幅描述了在 Google 他们是如何 OnCall 的。

Google SRE 实践中,有一个广为人知的理念:减少琐事,用软件工程的方式解决运维问题。具体到实际操作层面,Google SRE 设定了一个重要的、公开的目标:保持每个SRE的工作时间中琐事比例低于50%,SRE 至少花 50% 的时间在工程项目上,以减少未来的琐事或为服务增加新功能。

Google SRE 团队认为,琐事过多,会产生以下不利的后果:

  1. 职业停滞:如果花在工程项目上的时间太少,你的职业发展会变慢,甚至停滞。Google确实会奖励做那些脏活累活的人,但是仅仅是该工作是不可避免,并有巨大的正面影响的时候才会这样做。没有人可以通过不停地做脏活累活满足自己的职业发展。
  2. 士气低落:每个人对自己可以承担的琐事限度有所不同,但是一定有个限度。过多的琐事会导致过度劳累、厌倦和不满。
  3. 造成误解:我们努力确保每个SRE以及每个与SRE一起工作的人都理解SRE是一个工程组织。如果个人或者团队过度参与琐事,会破坏这种角色,造成误解。
  4. 进展缓慢:琐事过多会导致团队生产力下降。如果SRE团队忙于为手工操作和导出数据救火,新功能的发布就会变慢。
  5. 开创先河:如果SRE过于愿意承担琐事,研发同事就更倾向于加入更多的琐事,有时候甚至将本来应该由研发团队承担的运维工作转给SRE来承担。其他团队也会开始指望SRE接受这样的工作,这显然是不好的。
  6. 促进摩擦产生:即使你个人对琐事没有怨言,你现在的或未来的队友可能会很不开心。如果团队中引入了太多的琐事,其实就是在鼓励团队里最好的工程师开始寻找其他地方提供的更有价值的工作。
  7. 违反承诺:那些为了项目工程工作而新入职的员工,以及转入SRE的老员工会有被欺骗的感觉,这非常不利于公司的士气。

根据统计数据显示,琐事的第一大来源是中断性工作,另一个主要来源是OnCall。前者大多为与服务相关的非紧急事务,后者则为紧急的应急事务。在 Google,一个 SRE 团队至少要保持6~8人的规模,才能保证因 OnCall 轮值产生的琐事低于30%。

管中窥豹,Google SRE 的工作方式,不是谁都有条件学,也不是谁都可以学的来的。需要从文化 机制 工具层面综合考虑,以国内的运维现状来看,这是有一些实际困难和阻力的。

文化

首先,在文化层面,Google SRE 倡导以人为本,关注人的发展,着眼长期结果。在国内加班文化盛行,996甚嚣尘上。具体到 IT 运维领域,表现为:

  1. 技术人员工作和生活很难平衡,上班与下班没有明确界限,最终变成了只有值班,没有轮换,7x24小时响应。
  2. 工作规划以短期目标驱动,缺乏长期主义,导致技术人员每天忙于“战术性”的工作,琐事缠身,而无暇通过软件工程的手段一劳永逸的解决长期问题,久而久之堆积为技术债务
  3. 35岁IT打工人困境较为普遍。归根结底,是人的发展,没有得到足够的重视,由于不断的有大量新人进入到 IT 行业,使得很多企业选择了不断“汰换人”而非“发展人”这样的路线,自然也就无从谈起“费力减少琐事”了。

机制

其次,在机制层面,Google SRE 明确执行“琐事不能超过50%”的机制,确保一个独立的 SRE team 最少保持6人的规模,以支撑轮换 OnCall,同时给予工作时间之外的 OnCall 工作以额外的补贴。

在国内这个操作难度很大,国内的大多数企业,SRE人数 vs 研发总人数的比例普遍接近1:100,要保持6人的SRE team,几乎是不可能的。

工具

最后,在工具层面,Google SRE 内部使用的 OnCall 工具为 Outalator。在 Outalator 中,SRE 们在一个集中的平台上,管理着告警的全生命周期过程,具体的来讲,功能包括:

  1. 告警聚合:将多个告警信息“聚合”成一个单独的故障,SRE 以“故障”为维度来跟进和处理,大大降低了告警的发送量,避免重复性工作,降低了告警中的噪音,提高处理效率,以及减少工作失误。
  2. 加标签:给不同的故障,加上标签,用来额外描述故障的信息,方便SRE 以标签为维度来筛选、统计、分析,提高告警处理效率。
  3. 提供告警数据分析能力:从不同的维度,比如团队、个人、服务、机房等不同的维度,分析告警的数量变化趋势、告警的响应效率、处理效率,以便SRE能从宏观层面分析OnCall工作的不足之处,并有针对性的加以改进。
  4. 一键生成报告和公告:Outalator 中对一线SRE更有用的功能是可以选择一系列故障,将它们的标题、标签和“重要的”记录信息用邮件格式发送给下一个OnCall工程师(也可以CC其他人或邮件列表)。这样可以很容易地进行交接工作。Outalator同时支持一种“报告模式”,为周期性的生产服务评审(大部分团队每周进行一次)提供帮助。

Outalator 大概长下面这样:

总结来讲,通过使用专业的 OnCall 工具,可以有效的解决日常工作中运维和研发人员面临的以下困扰:

  • 技术团队每天接收到大量的告警。
  • 很多告警长时间无响应,长期无人问津。
  • 告警与告警之间缺乏关联性,处理效率低下。
  • 告警处理缺乏协同,处理过程不透明,信息难以共享,知识难以沉淀。
  • 很多告警并未准确反应实际情况,无谓的消耗技术团队精力。
  • 客户/用户往往先于技术团队发现故障,客户满意度持续走低。
  • 无法量化的衡量应急响应的现状和效率,无法制定出改进和优化路线。

之所以转载这篇文章,也是感到自己遇到了文章中提到的问题,运维工程师如果不能把一半的时间放在学习提高掌握先进行业技术上,靠什么跟上不断迭代快速变化的技术革新。

“琐事不能超过50%”的机制需要努力去贴近,避免职业停滞、士气低落等负面结果的出现;如果不能不断提升自己的技术能力,对自己对公司是一种两败俱伤的行为;

从个人来讲,破局的办法最好的是提升自动化运维水平,提高自己的编程开发能力。

标签:Google,SRE,琐事,OnCall,告警,团队
From: https://www.cnblogs.com/dier-gaohe/p/17937552

相关文章

  • SRE Google运维解密 10-27章
    第三部分具体实践应急事件处理一旦SRE发现了系统中存在的问题,要如何解决呢?正确的解决方案不一定是当初把问题一次性修复好,而可以靠降低系统准确度、关闭一些不重要的功能,或者将用户流量导向其他没有问题的任务实例等手段暂时缓解问题。解决方案的细节肯定是和每个服务和团队相......
  • SRE Google运维解密 28-34章
    第四部分管理第二十八章迅速培养SRE加入on-call如何给新手带上喷气背包,同时保证老手的速度不受影响?成功的SRE团队离不开信任一一为了维持全球化服务的正常运转,我们必须信任on-call团队了解系统如何运行,可以诊断系统的异常情况,善于利用资源和寻求帮助,以及可以在压力下保......
  • Google 2023年最受欢迎的Chrome浏览器扩展
    前言Google最近发布了2023年最受欢迎的Chrome浏览器扩展插件,总计包括了12款扩展:可在此处下载其中包含多款AI驱动的扩展插件上榜,快来看看有你经常用的吗?插件汇总插件下载Scribe:使用AI记录工作流程,并创建分步指南,轻松培训和指导同事。DeepLTranslate:即时翻译网页......
  • Google Java 编程风格指南
    目录前言术语说明指南说明源文件基础文件名文件编码:UTF-8特殊字符空白字符特殊转义序列非ASCII字符源文件结构许可证或版权信息package语句import语句import不要使用通配符不要换行顺序和间距类声明只有一个顶级类声明类成员顺序重载:永不分离格式大括号使用大括号(即使大括号仅是......
  • 引领变革:SRE 如何彻底改变 IT 运营
    站点可靠性工程是一种新的实践,在许多企业中越来越受欢迎。这项新活动也称为SRE,重点关注监控、跟踪错误以及创建长期解决问题的系统和自动化。如今,大多数公司都喜欢部署创可贴解决方案,这往往会给他们带来有缺陷的系统,当出现错误时很容易崩溃。SRE实践通过重视主动监控问题和创建长......
  • Google Guava:EventBus
    EventBus是Guava中对于事件发布订阅功能的实现,是设计模式中的发布/订阅模式的一种实现方案。功能概括:通过eventBus.register注册订阅者,通过eventBus.post方法发布事件,然后根据发布事件的类型(classType),执行所有订阅者中被@Subcribe注解标记的且参数类型一致的方法,从而实现发布、订阅......
  • Auto Image Attributes Pro v4.4:优化图片SEO,解锁Google图片流量
    AutoImageAttributesProv4.4已注册–WordPress插件AutoImageAttributesProv4.4:优化图片SEO,解锁Google图片流量一、插件概述在数字时代,图像已成为网站内容不可或缺的一部分。然而,仅仅上传图像并不足以吸引搜索引擎的注意。为了从图像中获得最大的SEO价值,您需要一款功......
  • 测试开发 | 语音助手技术:Siri、Alexa、Google Assistant的背后
    语音助手技术作为人工智能领域的一项重要应用,已经在我们的日常生活中扮演了越来越重要的角色。Siri、Alexa、GoogleAssistant等知名语音助手系统,不仅成为我们的智能助手,更是科技发展和人机交互的代表。本文将深入研究这些语音助手技术的背后,揭示它们的工作原理和对社会的深远影响......
  • SRE Google运维解密 4-9章
    第四章服务质量目标如果不详细了解服务中各种行为的重要程度,并且不去度量这些行为的正确性的话,就无法正确运维这个系统,更不要说可靠低运维了。那么,不管是对外服务,还是内部API,我们都需要制定一个针对用户的服务质量目标,并且努力去达到这个质量目标。服务质量指标(SLI)服务质量目......
  • 按马哥教育关于2023版Linux云计算SRE工程师掌握知识类别,你会了哪些?
    模块1:Linux新手快速基础入门模块2:面试必备-企业级Shell脚本编程实战模块3:Linux系统结构、内核、进程进阶模块4:网络管理管理及互联网通信实战模块5:互联网常见服务应用实战模块6:网络安全、加密及安全通信实战模块7:安全加固内核防火墙Iptables模块8:企业级Web-LA/NMP架......