4 个开源工程师应提出的问题,以降低大规模风险

当有无限多的事情可能出错时,你如何利用有限的时间来处理? 
1 位读者喜欢这篇文章。
A bunch of question marks

Opensource.com

在 Shopify,我们使用和维护许多开源项目,并且每年我们都会为黑色星期五网络星期一 (BFCM) 和其他高流量事件做准备,以确保我们的商家可以向他们的买家销售商品。为此,我们构建了一个大规模的基础设施平台,该平台高度复杂、相互连接、全球分布,需要来自多个团队深思熟虑的技术投资。我们正在改变互联网的运作方式,在我们的规模下,没有人能够监督完整的的设计和细节。

在 2022 年 BFCM 期间,我们的商务平台在高峰期每分钟处理了 7598 万个请求。 那是每秒 127 万个请求。 在如此庞大的规模和复杂且相互依赖的系统中工作,不可能识别和减轻每一个可能的风险。 本文将高级风险缓解过程分解为四个问题,这些问题几乎可以应用于任何场景,以帮助您最大限度地利用您的时间和可用资源。

1. 风险是什么?

为了为缓解决策提供信息,您必须首先了解当前的状况。 我们通过向平台各个角落的人们学习来扩展我们的知识广度。 我们运行“可能出错的事情”(WCGW)演练,任何构建基础设施或对基础设施感兴趣的人都可以在其中强调风险。 这些可能是技术风险、运营风险或其他风险。 拥有这份未经过滤的清单是广泛了解可能发生的事情的好方法。

这里的目标是可见性

2. 什么值得缓解?

出色的头脑风暴给我们留下了一份庞大而令人生畏的风险清单。 由于修复问题的时间有限,关键是优先考虑对我们的业务最重要的事情。 为此,我们对风险进行投票,然后召集技术专家更详细地讨论排名最高的风险,包括它们的可能性和严重性。 我们就缓解什么、如何缓解以及哪个团队将负责每个行动项目做出决定。

这里的目标是优化我们花费时间的方式

3. 谁来做决定?

在任何组织中,有时等待达成完美共识是不可能或无效的。 Shopify 发展速度非常快,因为我们确保识别决策者,然后授权他们收集意见、权衡风险/回报并做出决定。 通常,决策最好由主题专家或那些承担我们选择的任何方向的最大利益或影响的人做出。

这里的目标是统一激励机制和责任制

4. 你如何沟通?

我们行动迅速,但仍然需要让利益相关者和密切合作者了解情况。 我们总结了 WCGW 演练中的主要发现和风险,以便我们所有人都能在我们的风险概况上达成共识。 这可能包括关键风险或单点故障。 我们过度沟通,以便我们保持一致和知情,并且利益相关者有机会介入。

这里的目标是统一思想和提高意识

在不确定性中解决正确的事情

所有这些问题的根本在于我们工作环境中的不确定性。 您永远不会掌握所有事实,也不知道哪些组件会在何时以及如何发生故障。 应对不确定性的最佳方法是使用概率。

专业的扑克玩家知道,好的赌注不一定会产生好的结果,而坏的赌注也不一定会产生坏的结果。 重要的是押注结果的概率,在足够多的轮次中,您的结果将收敛于预期。 这同样适用于工程领域,我们不断下注并从中学习。 好的赌注需要清楚地区分您的决策质量与结果。 这意味着不要过度关注导致幸运结果的糟糕决策或碰巧遇到非常不幸情况的绝佳决策。

知道我们无法控制一切也有助于我们保持冷静,这对于我们在高压情况下做出良好判断至关重要。

当涉及到 BFCM(以及一般生活)时,没有人可以预测未来或完全防范所有风险。 问题是,回顾过去,您会改变什么? 事后看来,您是否有信心您优先考虑了最重要的事情,并使用可用信息进行了深思熟虑的押注? 您是否与合适的人进行了有意义的讨论? 您能否向您的客户及其客户证明您的行为是合理的?


本文最初发表在投注式规划:大规模风险缓解上,并经许可重新发布。

Kathryn Tang
Kathryn 在 Shopify 负责基础设施业务,领导工程运营团队。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.