阅读程序员的 README 说明 12 On Call

小夏 科技 更新 2024-01-29

2.1.随叫随到的工程师是防止计划外工作的第一道防线,无论是生产环境问题还是临时支持请求。

2.2.将深度工作与操作分开,使团队的大多数成员能够专注于开发任务。

2.3.随叫随到的工程师只需专注于不可预测的运营挑战和支持任务。

3.1.On-Call 的开发人员根据时间表轮换。

3.1.1.每个合格的开发人员都参与轮换。

3.2.大多数待命人员将时间花在处理临时支持请求上。

3.2.1.错误报告,关于他们团队的软件如何工作以及如何使用的问题。

3.3.可能每个待命人员最终都会遇到运维事件(生产软件的一个关键问题)。

3.3.1.事件是由自动监控系统发出的警报或由支持工程师观察到并报告给值班人员的问题。

3.3.2.待命的开发人员必须对事件进行分类、缓解症状并最终解决事件。

3.4.所有随叫随到的轮换工作都应以交接开始和结束。

4.1.随时回复。

4.1.1.大公司有一个“跟随太阳”的随叫随到的轮换机制,开发人员随着时间的推移轮换到不同的时区。

4.1.2.“随时回复”并不意味着立即放弃您为解决最新问题所做的工作。

4.1.3.对于许多请求,首先确认您已收到询问并回答何时应该能够查看该问题是完全可以的。

4.2.集中。

4.3.确定工作的优先级。

4.3.1.首先处理优先级最高的任务。

4.3.2.当任务完成或被阻止时,您可以从最高优先级到最低优先级工作。

4.3.3.如果您无法判断请求的紧急程度,请询问请求的影响。

4.3.4.P1:严重影响 - 服务在生产中不可用。

4.3.5.P2:高影响 – 服务的使用受到严重影响。

4.3.6.P3:中等影响 - 服务使用部分受损。

4.3.7.P4:低影响 - 服务完全可用。

4.3.8.服务级别指标 (SLI)(如错误率、请求延迟和每秒请求数)是了解应用程序是否正常运行的最简单方法之一。

4.3.9.服务级别目标 (SLO) 定义 SLI 的正常应用程序行为目标。

4.3.10.如果错误率是应用程序的 SLI,则 SLO 可能是小于 0 的请求错误率001%。

4.3.11.服务级别协议 (SLA) 是关于超过 SLO 时会发生什么情况的协议。

4.3.12.了解应用程序的 SLI、SLO 和 SLA,这将为你指出最重要的指标以及 SLO 和 SLA,从而帮助你确定事件的优先级。

4.4.清晰的沟通。

4.4.1.用简洁的句子交流。

4.4.2.快速响应请求。

4.4.2.1.响应并不一定代表解决方案。

4.4.3.状态更新会定期发布。

4.4.3.1.每次更新时,都会提供新的时间估计。

4.5.跟踪您的工作。

4.5.1.记录你在工作中所做的事情。

4.5.2.聊天是一种很好的沟通方式,但聊天记录以后可能很难阅读,因此请确保在任务票证或文档中总结所有内容。

4.5.3.关闭已解决的问题,以便待处理的任务票证不会在待命的看板上留下痕迹,也不会扭曲待命支持系统指标。

4.5.3.1.如果请求者没有响应,假设您将在 24 小时内因缺乏响应而关闭任务票证,然后真正这样做。

4.5.4.始终在笔记中包含时间戳。

5.1.事故处理是值班人员最重要的职责。

5.1.1.第一个目标是减轻问题的影响并恢复服务。

5.1.2.第二个目标是捕获信息,以便以后可以分析问题发生的方式和原因。

5.1.3.第三个目标是确定事故原因,证明是罪魁祸首,并解决根本问题。

5.2.提供支持。

5.2.1.大多数请求是错误报告、有关业务逻辑的问题或有关如何使用软件的技术问题。

5.2.2.支持请求遵循相当标准的流程。

5.3.5个阶段。

5.3.1.分流

5.3.1.1.工程师必须找到问题,确定其严重性,并确定谁可以修复它。

5.3.1.2.识别问题并了解其影响,以便适当地确定其优先级。

5.3.1.3.分流不是证明自己可以解决问题的时候,最有价值的是争取时间。

5.3.1.4.调车也不是排除故障的时候。

5.3.1.4.1.将故障排除留给提出意外事件和解决方案的阶段。

5.3.2.协调

5.3.2.1.必须将此问题通知团队(和潜在用户)。

5.3.2.2.大型事件有专门的“作战室”来帮助沟通,这是用于协调事件响应的虚拟或物理空间。

5.3.2.3.所有相关方都加入作战室,以协调的方式做出反应。

5.3.2.4.即使你一个人工作,也要就你的工作进行沟通。

5.3.2.4.1.稍后可能会有人跳进来,发现你的日志是有益的,详细的记录将有助于事后重建时间线。

5.3.3.缓解

5.3.3.1.工程师必须尽快解决问题。

5.3.3.2.缓解不是长期的解决方案,你只是想“止血”。

5.3.3.3.应急计划的分阶段目标是减少问题的影响。

5.3.3.3.1.应急计划不是完全解决问题,而是降低其严重性。

5.3.3.4.解决问题可能需要花费大量时间,而解决方法计划通常可以快速完成。

5.3.3.5.事件的解决方法通常是将软件版本回滚到“上次已知良好”版本,或将流量从问题中转移出去。

5.3.3.6.快速写下您发现的任何缺陷可以使您更轻松地进行故障排除,并创建新的任务票证以在后续阶段解决这些问题。

5.3.4.分辨率

5.3.4.1.问题缓解后,工程师有一些时间喘口气,深入思考,并解决问题。

5.3.4.2.一旦应急计划到位,事故就不再是紧急情况。

5.3.4.3.使用科学的方法解决技术问题。

5.3.4.4.该测试不是**。

5.3.5.后续行动

5.3.5.1.调查事故的根本原因:为什么会发生。

5.3.5.2.目的是从事故中吸取习的教训,防止事故再次发生。

5.3.5.3.编写一份事后分析文档并对其进行审查,然后开始一项新任务以防止它再次发生。

5.3.5.3.1.描述事件的原因和影响、故障、影响、检测、响应、恢复、时间线、根本原因、经验教训以及所需的纠正措施。

5.3.5.3.2.任何回顾性摘要文档的一个关键部分是根本原因分析 (RCA)。

5.3.5.4.使用5个“为什么”进行根本原因分析。

5.3.5.4.1.“5W”只是口口相传的体验,大多数问题需要重复5次才能找到根本原因。

5.3.5.4.2.根本原因分析是一个流行但具有误导性的术语。

5.3.5.4.2.1.事故很少是由单一问题引起的。

5.3.5.4.2.2.在实践中,这 5 个“为什么”可能导致许多不同的原因。

5.3.5.4.2.3.只需记录一切。

5.3.5.5.一个好的事后总结也会将“解决问题”与审查会议分开。

5.3.5.6.在事后总结会结束时,必须完成后续任务。

5.3.5.7.旧的回顾性总结文件是很好的习学习材料。

6.1.跳入“救火”模式成为一种条件反射。

6.2.依靠“消防员”是不健康的。

6.3.长期和高风险会导致倦怠。 “消防”工程师也可能在编程或设计工作中“步履蹒跚”,因为他们经常被打断。

6.4.“消防员”的英雄主义也可能导致解决严重潜在问题的工作降级,因为“消防员”总是在一旁修补。

相似文章

    阅读程序员的 README 说明 06 测试(上图)。

    测试本身更有可能成为一项繁忙的任务。..糟糕的测试会增加开发人员的开销,而不会提供价值,并且还会增加测试套件的不稳定性。..该测试可以检查 是否正常工作。...测试本身可以验证软件的行为是否符合预期。...意外的软件行为可能会给用户 开发人员和操作员带来很多困惑。...测试此过程可以证明 已按规定生...

    程序员代码的传奇改变了世界

    在数字时代的浪潮中,程序员们以其独特的魅力和影响力悄然改变着世界。他们手中的 就像魔法的力量一样,塑造了我们的数字生活,推动了科技的进步,甚至改变了世界的格局。.的魔力 创造无限可能。程序员通过写作将抽象的想法转化为可见的数字产品。无论是手机应用 一流的操作系统,还是复杂的软件系统,都是程序员创造的...

    程序员的魅力 代码背后的故事

    在数字时代,程序员的角色变得越来越重要。他们不仅是我们日常生活中各种应用程序的创造者,也是企业和机构背后的技术推动者。然而,程序员的工作经常被误解为单调 乏味和缺乏创造力。事实上,每个程序员都是创造者,他们背后都有自己的故事。一 背后的创新与思维。当我们看程序员的 时,我们看到的只是冰山一角。每一行...

    大数据时代的程序员导航员

    在大数据时代,程序员作为技术领域的核心力量,扮演着不可或缺的角色。他们不仅是大数据技术的开发者,更是大数据应用的推动者,是大数据时代的引领者。.大数据技术开发者。程序员在大数据技术的研发中发挥着关键作用。通过对海量数据的处理 分析和挖掘,他们实现了数据的价值。从数据采集 清洗 存储到分析 挖掘 应用...

    程序员 软件世界的探索者

    程序员,他们是软件世界的探索者。他们以 为指导,以逻辑思维为 探索未知领域,创造前所未有的软件产品。程序员的工作,就像探险家一样,充满了挑战和未知。他们需要不断学习习新的编程语言,新技术,甚至新的思维方式。他们需要处理复杂的算法 难以调试和不断变化的用户需求。然而,正是这些挑战使程序员的工作变得令人...