论文地址: 压力下的权衡:解决internet服务中断团队的启发和观察 Allspaw, Masters thesis, Lund University, 2015

    这是我们对Allspaw 论文研究的第2部分(以下是第1部分)。今天我们将深入分析2014年12月4日在Etsy发生的事件。

    • 东部标准时间下午00:00 Etsy的个性化/主页团队正在会议室,在Etsy.com主页上的个性化订阅源功能上开始午餐和学习课程
    • 下午6点个性化主页出现问题的报告开始从多个来源出现。该网站不再提供个性化的订阅源,转而提供通用的“趋势项目”订阅源。在重要的假日购物季节,这是一件大事。团队成员开始使用sysops和warroom内部IRC通道诊断问题。
    • 晚上18点,一个关键的发现是,一个填充主页侧边栏的API调用看到了一个巨大的延迟跳跃
    • 晚上28点一位工程师报告说,一个特定的API方法的错误配置文件与边栏错误的模式相匹配
    • 下午32点,API错误被缩小到对特定单个商店的数据请求。商店已经关门了,所以没有资料。
    • 下午36点,人们发现这家商店与Etsy博客上的文章有联系,这篇文章是Etsy员工发布的,他拥有这家商店。这篇博文随后未发表。
    • 下午2:00到2:15之间,在关闭博客的情况下重新启用侧边栏,并删除对新部署的临时保留。

    allspaw-fig-5.jpeg

    恢复服务后,团队将侧边栏模块“more from the blog”关闭了一晚,以便有时间更改底层代码,以便通过缓存来优雅地处理400个错误(速度大幅放缓是因为丢失的店铺数据的400个错误绕过了缓存机制,导致每次加载页面时都会发出完整的请求)。
    由于最后只有一个小时左右的表现下降,这并不是你能想象的最糟糕的事件,但考虑到每年的时间,这显然被认为是非常严重的。
    回想一下,虽然我们不是来分析事件本身的,但在处理事件的团队中发生了什么。
    在这项研究中,研究了全球互联网服务Etsy.com中断的诊断和解决方法,试图揭示工程师在工作时使用哪些认知策略(特别是启发式)将服务恢复到稳定状态。
    采用了一种称为过程跟踪的技术,试图恢复“参与者数据获取、情况评估、知识激活、期望、意图和随着时间的推移而采取的行动的记录”。事件涉及5名基础设施工程师和3名产品工程师。过程跟踪练习包括:

    • 多渠道检验IRC成绩单
    • 访问中断期间工程师查看的仪表板和图形的日志
    • 收集中断期间对应用程序代码所做更改的时间段
    • 捕获中断期间触发的任何警报的日志
    • 使用线索回忆的半结构化访谈。

    allspaw-fig-3.jpeg

    事件分析
    创建了一个编码的时间段,将活动分为三种主要类型:

    • 协调活动
    • 诊断活动
    • 干扰管理活动

    下表显示了总体情况,确定了五个关键协调事件。

    allspaw-fig-10.jpeg

    协调事件:

    1. 下午1:19,讨论是否应该关闭主页的边栏部分
    2. 下午1:24,讨论原因是否是“特色店”
    3. 下午1:36,假设从“特色商店”模块切换到“更多来自博客”模块
    4. 下午1:40左右,博客基础设施团队的一名成员被邀请加入会议室,并决定取消发布博客文章
    5. 下午1点49分,一个关于用“博客中的更多内容”模块重新制作侧边栏的讨论被关闭。

    这些协调事件中的每一个都有详细的分类,其中包括以下视觉时间线:

    allspaw-fig-15.jpeg

    在整个事件中,有五个不同的假设产生、共享和讨论。与诊断和协调活动交织在一起,该小组还积极参与干扰管理。
    几乎所有的活动都是为了减少网站功能退化和稳定带来的不利影响,而不是立即把重点放在全面恢复上。
    对等一致性是决定是否采取影响生产系统的措施的主要机制,在两种情况下,在不等待自动测试完成的情况下推动了更改。
    在分析中,团队使用了四种启发式方法来管理事件。

    • 首先查找与上次对系统所做更改的任何关联
    • 如果没有相关变化,则将诊断搜索空间扩大到任何潜在信号
    • 在形成假设和评估诊断方向时,使用信号或症状与特定过去事件或最近事件的模式匹配。
    • 在事件管理过程中,与自动化测试或其他过程相比,更倾向于对任何代码更改进行同行评审以获得信任。

    鉴于已经确定的启发式方法,对诊断活动的解释是,它证明了在此类事件中,诱拐是主要的推理模式。
    “外展推理(也称为外展推理、外展推理或追溯推理)是一种逻辑推理形式,它从一个观察或一组观察开始,然后寻求对观察的最简单和最可能的解释。”——维基百科。
    诊断搜索遵循周期模式的异常识别,所有外部化的假设都遵循异常检测搜索来反驳或确认它们。每次纠正响应行动后,都要进行成功监控。

    最后一句话
    在软件操作等领域,很容易认为业务关键型系统的成功完全归功于自动化的速度、算法能力和预防性设计。这项研究与人类因素、认知系统工程和系统安全等领域的许多其他研究一起,不仅提供了这一观点的充分证伪,但有一种不同的观点认为:在自动化丰富的环境中,最大的成功来源是(也许具有讽刺意味的是)人类认知和活动的适应能力,而不是软件的伪智能。