跳到正文

十个夜晚

SysAdmin Crisis 十夜剧情主线,逐夜讲述:一家公司的发展超过了运维的承受力,还有收件箱、分叉路径和如实的简报。

最后更新:

战役讲述一个小而精确的故事:一家公司的增长略快于运维所能承受的速度,历时十夜,终于一年中最忙碌的购物之夜。每一次简报在机制上都是真实的——Deniz 说有什么要来,它就会来。

收件箱

班次期间,输入 mail 即可阅读收件箱。邮件按游戏内时钟到达;有些在等待回复,回复用 mail -r <id> <a|b> 给出。不回复同样是一种选择。每封邮件的正文都会根据迄今走过的路径改写自己的句子;同一封邮件对两位玩家说的并不是同样的话。

有三个人会给玩家写信:

人物身份
Deniz前任夜间待命人员;第 1 夜之后在平台团队
Kerem团队负责人;想要可预测性,以及一份交给董事会的干净报告
Ece后端开发者;想要快速发布

第四个声音是 Murat,最大客户的技术联系人,在故事后段加入。

分叉路径

故事在四处分叉。哪一夜、哪个选择会关闭各个分叉,这里没有写;只写它们关乎什么:

分叉主题
流程发布是快速处理,还是冻结
安全对攻击是强硬回应,还是有针对性地回应
问责报告是保持开放,还是予以关闭
忠诚是留在团队之内,还是站到团队之外

每一夜的简报都会根据所走到的路径改写。选择会在收件箱中留下痕迹:有些邮件只有经过某条特定路径才会到来。有些选择的代价,要在下一夜的事件池里或者钱包里支付。

战役以七种不同的结局收尾:平台团队、团队负责人、创始团队、对岸、替罪羊、外包和夜猫子。最终走向哪一个,取决于所做的选择,也取决于如何结束各个班次。声誉和人际关系也占有一份。

第 1 夜:初次值守

第一夜。两台 web 机器加一台数据库,规模不大,但都归你管。盯紧日志。

三台机器,有引导。教程就在这里运行。

第 2 夜:发布之夜

平台团队今天发了版。今晚一定会出问题,赶在指标之前找到它。

泄漏和磁盘写满开始出现——两者都是新部署容易引发的问题。仍然一次只有一个事件。

第 3 夜:潮水上涨

流量涨了三分之一,机架里多了一台负载均衡器。套路不变,余地更小。

lb 角色登场,这意味着带宽容量,以及随后需要操心的证书。第一个大分叉在这一夜结束时关闭。

第 4 夜:缓存预热

缓存下午上线了。现在两起事件可能叠在一起,动手前先分诊。

并发上限确实提高到了两个。这是第一个要求选择忽略什么的夜晚。这一夜开场时的收件箱,取决于所选的路径。

第 5 夜:广告流量高峰

市场部买了广告位。会有一波高峰,还会有第二个故障趁势而来。

第 6 夜:浑浊的信号

九台机器,包括 worker。从这里开始特征会变得浑浊,日志要读两遍。

复合事件开始出现,分布式洪水变体解锁。关于特征的警告是字面意义上的真话:从这里起,症状往往是另一个事件的后果。

第 7 夜:复合骨折

第二台数据库上线了。现在是复合故障:只处理症状,清不掉原因。

第 8 夜:样样翻倍

十四台机器,每样两份。预算涨了,影响范围也跟着涨了。

宽限期从 40 秒降到 30 秒——战役中单夜收紧幅度最狠的一次。

第 9 夜:彩排

彩排。今晚最多四起事件会叠在一起,保住可用率,别护着面子。

并发达到四个的上限。关于自尊的那句话,是游戏最接近战略建议的地方:哪怕是以可用率为代价的不完整修复,也好过让事件一直开着。最后一个分叉在这一夜结束时关闭。

第 10 夜:黑色星期五

黑色星期五。结账流量过了午夜才到顶,而且不回落。守住防线,撑到 06:00。

十六台机器,1.90 倍的节奏,22 秒的宽限期,班次过半之后节奏还会再激增 1.35 倍。没有意外,没有头目。这一夜只是不会停,全部的奖赏就是清晨。当夜的简报和清晨的结局,都是根据前九夜所选的路径写成的。