赢得自定义新的遗物弹球机!只需将数据书呆子提交以注册Futureestack。 现在注册

7工程管理人员的主要可靠性问题

读了8分钟

经过马修火焰

(编者注:此帖以前出现过新堆栈。)

以下是任何工程管理器可以同意的声明:可靠性复杂性。

现代软件团队不缺近边缘案例和跨越服务类别的变化以及他们不断不断发展的架构。在领导一支球队的一天中,通过日常消防,可能很难看到树木的森林。但作为经理,我们知道我们的团队面临类似的试验:缺陷和回归,容量问题,运营债务和危险工作量影响我们所有人。

然后有规模的复杂性,新的遗物涉及第一手资格。这新的遗物平台包括300多个独特的服务和SSD存储的Petabytes,可处理至少4000万个HTTP请求,写入15亿个新数据点,并每分钟处理万亿的事件......该平台由每周执行多个生产发布的50多名敏捷团队维护。为了应对这样的严重规模,工程团队必须敏捷,快速移动。他们的管理人员还必须确保他们的团队坚持支持这种复杂性和规模的可靠性流程。那么我们如何在新的遗物中做到?

新遗物的工程管理人员使用以下七个问题来确定他们的团队(或服务)是否符合我们可靠性最佳实践的必要性。看看并问自己,你的球队如何堆叠?

还在新的遗物博客上:亚搏体育登入网为现代,复杂系统设置SLOS和SLIS的最佳实践

问题1.您的部署和回滚防伪吗?

无论您是每月部署一次还是一小时,强大,速度的部署和回滚工具都对于运行可靠的软件至关重要。您是否会舒适地部署每天一周,并回滚至少一半部署的部署来测试您的机器 - 并拥有您团队的任何成员?

如果你的答案是“不,”的选择,因为你对你的工具并不充满信心,或者因为你有太多的辛劳,是时候在排练部署或优化工具中投入更多的团队资源了。

问题2.你最近经营游戏日吗?

你的团队在迅速的效果解决事件是关于准备的。游戏日子-in您将有害问题引入系统中,以了解您的团队如何解决它们 - 是测试该团队操作服务的流程的最佳方式,并确保正确配置其警报和仪表板。当您的团队增加新服务时,游戏日特别有用,但它们也是加速新团队成员并培训您的团队如何一起工作的好方法。

如果您没有在添加新服务或团队成员以来的游戏日,您将逾期。具有讽刺意味的是,如果您的团队不经常遇到关键问题,这尤其如此 - 您拥有的少数事件,更容易练习!

还在新的遗物博客上:亚搏体育登入网如何运行对抗的比赛日

问题3.您是否在完整生产卷展览之前可靠地捕获回归?

您的团队是否能够在客户看到它们之前可靠地捕获回归,或者在他们的客户超过10%以上

您的团队的预生产环境应在将新代码或代码更改部署到生产之前捕获重大缺陷,配置错误和显着性能回归的工具。但实际上,预生产测试永远不会捕获一切,特别是在规模。

限制客户对生产的任何缺陷的影响,现代软件团队经常在其部署进程中使用Canaries或功能标志。Canaries或功能标志也使得如果出现问题,如果出现问题,则更快地响应,并且部分回滚往往比完全重新部署更快和更安全。部分回滚也越来越少雷霆群重新启动问题。

让您的团队研究技术或流程改变,他们需要使用这些类型的部署,并为他们提供途径,以减少采用此类工具的摩擦。

问题4.您最后一次更新风险矩阵是什么时候?你甚至有一个吗?

一种风险矩阵可以帮助您的团队清楚地了解您的软件中的区域,可能发生事故及其潜在的严重程度。本质上,它们是识别您在发生事件之前应优先考虑解决的高可能性/高影响力的关键方法。风险矩阵也可以帮助您的团队确定您需要提醒和事件流程簿的位置,特别是对于具有中等影响或更高的潜力的事件。

由于您的系统始终不断发展,因此重新审视您的风险矩阵以确保他们跟上的重要事项是很重要的;您应该每8个月至少更新一次,但理想情况下,每当添加新服务时。使用风险矩阵验证您是否为中等影响的所有风险矩阵条目具有警报和运行书。

问题5.您的服务层中有多少免费容量?

容量瓶颈是服务中断的主要原因,没有足够的自由容量运行使您的团队的系统更容易受到工作负载或延迟变化,甚至小而是明显的性能回归。

此外,您的团队是否在网上拥有安全的自由能力保证金?在新的遗物中,我们的可靠性专家建议团队通常维持30%的免费容量,或者足以满足他们拥有的每个服务的工作量增长90天。我们还确保我们已经部署了每个服务的每个服务的N + 2实例,以便冗余,即使它们不需要支持工作量增长。重要的是要注意,您可以衡量您的能力较少,您需要越来越保守估计。记得根据系统中的热点测量自由容量,而不是平均值。

问题6.您可以防止限制吗?

您的团队是否准备好保持一个糟糕的演员取消整个系统?如果一些客户端开始生成太多查询,帖子或API调用,则您可以选择性地删除或限制工作负载,这非常重要,因此您的服务不会脱机。

如果您的团队没有充分准备,您可能希望投资自动过载保护。但是,至少,您的团队应设置为在事件中脱落危险工作负载或数据的危险工作负载或数据的手动控制。

问题7.您的系统可以在未来12个月内没有有意义的建筑变化吗?

在当今现代的软件架构中,缩放拐点是最大的整体可靠性风险。击中拐点通常需要几个团队之间的重要工作或合作来解决问题。

Work with your team to assess the next 12 months—if you don’t think you can get through the year without architectural or process changes, make sure all your stakeholders know changes are coming, and make plans to deliver the “necessary work” before it’s too late. But don’t embark on that “necessary work” without carefully defining it.

那么,你怎么样?

如果您对这些问题中的任何一个回答了“否”,不要恐慌。但也不要耸耸肩并继续前进。

这是关于可靠性工作的事情:从来没有完成任何人。如果我们没有积极改善,我们落后了。通过不更新我们的系统作为我们的平台规模,或刷新我们系统架构的精神模型,我们不可避免地落后。一旦我们落后,就很难赶上。

期望您的团队能够在单一季度甚至两季度正确回答所有七个问题,这可能是不现实的。但这没有理由放弃。连续交付的一步阶段改进,可以加入大结果。