十个夜晚
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 倍。没有意外,没有头目。这一夜只是不会停,全部的奖赏就是清晨。当夜的简报和清晨的结局,都是根据前九夜所选的路径写成的。