永远不会发生。 如果它,请致电开发人员

2021-03-28 06:24:28

运行成功的网站需要运营(OPS)和开发人员(DEVS)的合作 - 因此是“devops”一词。当存在冲突,对抗或不和谐时,网站遭受了痛苦。只是告诉人们“相处”并不有效。真实的合作是提供一种实现和鼓励合作的结构的结果。

通常一个这样的冲突和不和谐地区涉及呼叫升级。监控系统警告OPS人们存在问题或不断增长的问题,可能导致中断。无论谁从运营中“打电话”必须处理问题或将问题升级到开发人员,无论白天或晚上的时间。

有潜力的冲突。太多的升级磨损开发人员。 Distralony从惊叹中始于“我只是修复了一些容易的东西!为什么那些作业的人就是这样做的?“

运营使防守。 “我该怎么知道?”或者,“我刚刚问过一个问题,现在他们是混蛋!”

Chortarmony也可以在运营中开始。 “哦,太好了!来自devs的另一个惊喜!“

您不能强制人们合作,但您可以设置建立合作环境的结构和滑行路径。

Runbook是一组程序,了解如何在从监控系统中接收警报的情况下响应。反馈循环的目标是创建一个机制,其中主题专家创建流程本,但Devs和OPS都是为了以减少升级数量和改善合作的方式来改进它们。

该过程的目标是在制定文件时建立适当的努力平衡与价值。浪费努力为某人编写一个100页的论文,了解一个简单的问题;但是一个过于简短的流程图没有用。此范例导致正确的平衡。 Runbook开始于原始作者认为合适的尺寸,鉴于手头的知识,但由于它行使而发展到正确的尺寸。 Runkbooks很少或从未需要接收更少的努力和常用的跑步小册子是更新,优化的,并且可能转变为自动响应。

这与Runbooks由“高”创建的组织造成触对鲜明对比,而无需直接参与的人员。通常,这些不能改变或改变需要一个重量的过程,即阻碍任何改进。

分发团队知识的最简单方法是具有良好的文档,允许任何遇到不熟悉的问题的人遵循测试过程来解决它。这就是流浪书应该是什么。

我们的首选格式是OPS可以用于解决警报的子弹列表。当警报到达时,OPS遵循Runbook中的说明。如果我们到达子弹列表的末尾并且问题未得到解决,则ops升级到开发人员。

显然,组织的开发人员需要编写文档。但是,Docs都经常被分配为低优先级并被推送到后刻器才能运送新产品,功能升级和其他工作视为关键任务。他们从不绕过它。管理需要将Runbook创建作为项目的一部分。

开发人员并不总是对写作舒服。盯着空白页面可能是恐吓。克服空白页综合征,给他们一个模板。你甚至没有想让他们写一份文件;你只想要他们填写此表格。如果您将模板制作一系列子弹点,则每个都是处理特定警报的过程,文档变得几乎易于完成。这里的基本文件是如何处理每个警报。

为了激励DEVS,提醒他们编写流程书的时间越多,可能会越来越可能升级。每个公司都希望减少升级 - 特别是在关闭时间内必须领域那些升级的开发人员 - 通过文件的路径。

此过程的另一边 - 警报 - 应该通过在警报文本中包括Runbook URL,增强任何警报在Runbooks中具有相应的过程。这增加了程序将遵守程序的可能性。

在某些时候,OPS人员将获得一个警报,该警报不充分地记录,并且需要升级到开发人员。一旦你经历了往返的每一步并排气了你所拥有的每一个想法,就是时候与写作代码的人交谈了。

这是第一个反馈点:OPS工程师读取流程本并尝试实现其中文档的进程。 DEV可能已经记录了每一个警报,但这是橡胶击中道路的地方;如果Runbook在它所说的情况下没有解决问题,则OPS人员应该立即纠正或至少确定问题。当OPS人员升级到开发人员时,这是反馈​​循环的开始。

如果问题确实升级,那么应该触发DOC的更新。无论是OPS工程师是否添加了它们不确定的内容,都没有使用触发升级的使用情况,或者开发人员增强子弹列表,最终结果使操作更自足并降低未来的升级。也许你的聪明的操作员工写了一个shell脚本,将十个子弹捆成一个命令;编辑RunBook并包含它。

然而,有时你在以前的公司中遇到了未知或不可预测的问题,我收到了一个只有一个项目符号项目的往来的往来:“这永远不会发生。如果它,请致电开发人员。“我和开发人员交谈,没有指责他们懒惰,问这是否是他们可以制作的最佳流程?它结果是!他们正在监测不应该发生的断言,但如果它发生了发生,他们想知道。它是解决方法只能在第一次发生的情况下确定的情况。

删除速度颠簸以固定和更新流程本非常重要。管理层应创建一个文化,其中每个人都有预期,并鼓励经常在项目结束时经常编辑。我建议OPS工程师进一步走一步。读取运行簿时,请在编辑模式下执行此操作。它消除了拖延关于更新的诱惑。你可能会想,'我正处于解决生产中的问题,我稍后会回来并编辑。“不,你永远不会回来。从来没有稍后。如果您处于编辑模式,则可以修复该错误的逗号,粘贴更新命令,或者至少记下需要改进的内容。

如果一步不起作用或者您不确定什么,仍然放在编辑中。这些是生活文件,所以并非每次编辑都必须完美。放入自我或开发人员:“最后的陈述令人困惑”或“子弹三不起作用”。至少接下来认为这将会知道当他们到达子弹第三项时要小心。识别问题比沉默更好。

反馈循环使开发人员控制他们升级的频率。如果开发人士觉得他们被升级到太多,那么医生,愈合了自己。开发人员可以通过改进文件来降低未来的升级。要么添加那些将申请中断晚餐或刻意升级电话的程序。

反馈循环使操作升级的信心没有感觉,因为他们唠叨或放弃太快。由于担心创造一个“叫狼”的情况,或者他们看起来很愚蠢,他们的行为可能会犹豫不决,因为不知道如何处理如何处理情况。相反,操作可以“显示他们的作业”来证明他们的升级。当您称之为人员可以清楚地表明他们遵循书面程序以及每个步骤的结果时,您的晚餐会被打扰。

对此反馈循环的好处是它为您提供了很多或很少的文档作为过程需要,以及根据需要的升级数量。它赋予开发人员来解决升级太多的问题。

每个人都应该想要构建一个信息被共享的组织,并且共享是奖励的。

我曾经在一个人庆祝的公司工作,因为他们是处理各种随叫随到的情况的最知识。在后威尔,这是一个红旗。为什么一个人比其他人都好得多?我们是否被允许在其他人打电话的时间克拉皮服务?我从这个经历中学到了。

我现在更愿意庆祝分享他们知识的人,以便每个人都在呼叫责任。我们应该尊重那些拥有更多经验的人,但庆祝以赋予每个人更好的方式分享他们知识的人。这包括一对一教学的一切,以回答堆栈溢出的问题,以编写流程书。无论谁转过身来,那么那样实现卓越的人就是携带寻呼机。

我们可以在电力动力学方面重新缩小这一点。旧的学校以维持力量和影响力的方式是囤积信息。我还记得以前的公司欣赏一个人,因为他们举办了什么信息。需要[插入技术任务]完成吗?他们是唯一知道如何做到的人。参观他们的办公室。表明你的尊重。匍匐到他们的较高思想。如果他们认为你值得,他们会为你做任务。如果你想要一个顺利运行的公司,将这种毒性态度扔到历史的垃圾箱中。

新的方式是相反的。权力来自你的放弃多少。我们钦佩与他们的知识共享的人:教人们如何做事而不是为他们做事的人;那些文件不断,而不是在项目结束时;这与他们所做的一切都很慷慨。他们是强大的,因为每个人都指向他们并说:“这就是让我成功的人!”

在堆栈溢出中,我们在我们的团队实例中有一个集合,其中包含我们的所有流册和相关程序。我们推动我们所有的开发人员使用Docs使用此反馈过程。任何人都可以在简单地评论或编辑反馈的格式文章和问题。最常用的流册是严重编辑和精致的。较少的最近编辑的流牌券易于识别和更新。努力水平反映了需要的需求。

然后有截止效果,从具有现场测试知识的额外效率很容易获得。 Runkbooks中提到的技术和技能在撰写新的运营人员撰写职业广告时通知我们。曾经雇用后,Runbooks可用作培训工具。新雇佣的操作人员可以通过每个跑步书走路,或者使用流程本作为自学助手。一旦他们审查了所有流册,他们就可以随叫随到。

所有这些反馈循环的关键是,每个人开发人员,SRE和新员工都可以提出问题,提出问题和提供更好解决方案的建议。有时被视为更少知识渊博的焦虑可以阻止人们跳入和评论。您可以通过在每个流程本中明确提供有关问题的空间来缓解。甚至更好,您可以使用像堆栈溢出的平台,以便团队旨在从问题和答案中收集业务关键的信息。

良好的反馈循环不会在呼叫过程中解决每个问题。但它将使其成为一个更顺畅的一个,从调试一个问题,通过招聘和培训和船上一直在生产中弹出。完成后,通过小型加入流程改善组织是一种非常有效的方法。

标签:devops,文件,sre