LWN:Netflix发布了危机处理开源工具!

Netflix releases open-source crisis-management tool

By John Coggeshall
July 3, 2020
原文来自:https://lwn.net/Articles/824739/
主译:DeepL

今年早些时候,Netflix发布了一个名为Dispatch的新项目,遵循Apache协议。它旨在协调安全相关事件的响应和解决,但这个项目的目标不仅仅是这样。实际上,它希望对任意类型的需要整个组织配合处理的一次性事件(如服务中断)都能起到作用。

Dispatch的核心想法是成为incident(事故)的中央信息交换中心,尤其关注四个方面:resource management(Netflix的定义里既包括事故本身的相关数据,也包括响应数据)、individual engagement(个人参与)、incident life-cycel(事件生命周期),以及Netflix称之为 "insident learning")的能力(基于过去的incident来为未来的incident提供信息)。该项目是基于Python 3.7+的,服务器采用FastAPI,使用了PostgreSQL数据库,网页用户界面采用VueJS。

最终用户主要通过网络界面来与Dispatch交互进行配置,它提供了用户文档解释了该工具的日常使用。对于底层管理和开发需求,可以通过命令行来调用各种工具。

从根本上讲,Dispatch是一个调度器,协调是组织内许多已有工具的数据。Dispatch没有采取完全自己全部实现一套的方案(人们常说的batteries included),而是利用组织内常用工具提供的现有API,比如谷歌的办公套件(GSuite)、Jira和Slack。不幸的是,该项目并未直接支持这些工具的开源替代品。

在Dispatch中定义的工作流程,会从incident report来开始自动触发并完成一些事情,比如为相关人员创建Slack room和GSuite文档,这样参与者就可以直接开始配合工作,从而找到解决方案。随着事故的发展,这些进行中的工作都可以在Dispatch中直接获取到,从而可以直接引用。

例如,考虑一个需要多个部门协调的安全事件。有开发人员、运营人员、业务利益相关人员以及其他需要参与的人员。可以创建Dispatch rules来做下面这些事:

  • 创建一个Slack频道来讨论这个事故,根据事故性质拉入相应的开发和运营人员。

  • 创建一个Jira ticket来跟踪问题

  • 创建GSuite文件和电子表格,存放补充信息。

  • 创建一个日历邀请,进行Zoom电话y会议来讨论问题的解决方案。

当参与者被Dispatch拉进来时,他们会得到他们需要的背景信息。例如,以下是加入Slack频道的参与者将收到的典型消息,摘自Dispatch用户文档:

然后,Dispatch会将这些资源作为单个实体来跟踪。它不仅仅让大家协调配合起来,而且还能随着情况的发展自动通知相关参与者。一旦事件得到解决,这些收集到的信息将被保留下来,用于事后分析,或在未来的事故中用来参考。这种方法通过提供一个总体的协调工作环境,使平时可能完全不直接合作的各种人员能够专注于一个共同问题。

Dispatch需要各种插件来跟外部服务集成起来。该项目提供了GSuite、Jira、PagerDuty、Slack和Zoom的插件。这些都是不错的工具,但正如前面提到的,如果还能与一些开源工具进行整合,那就更棒了。粗略地搜索了一下,还没有发现任何第三方为这些工具编写的插件。也就是说,如果唯一的障碍只是暂时缺少插件的话,那么Dispatch项目提供了开发新插件的文档,就可以解决这个需求。

这种尽量使用现有工具并协调起来的方式有不少好处。其中最主要的一个好处是,组织内的人员能够更有效地参与这些重要的一次性事件。当人们需要快速行动来处理这种一次性的安全事故时,不必学习新的工具来处理,这是一个很大的加分项。这对于一个拥有Netflix这么多员工的组织来说是很有意义的。在Netflix,很可能各个团队都不一定是直接交流和工作的。值得注意的是,对于小型组织来说,这可能会有点矫枉过正。因为在这些组织中所有人员之间有更多的日常互动。

Dispatch是一个有趣的工具,但却是一个新的开源项目。到目前为止,该项目在Netflix的原始开发者之外,似乎还没有形成一个强大的社区,很难了解到底有多少外部贡献者。GitHub项目页面显示,项目历史上有29位贡献者,从发布日志中给出的工作来看,至少还是有几位Netflix以外的贡献者的。自2020年2月宣布该项目以来,它已经发布了4个版本,最后一个版本是6月17日。该项目的GitHub页面还显示,有不少人对这段代码感兴趣,包括Airbnb和Cloudflare的一些安全人员(根据他们的GitHub资料来判断的)。这是否意味着已经有一个社区开始围绕着这个项目开始活跃起来了呢?目前还为时过早,但确实意味着它至少已经吸引了一些人的注意力。

对于有兴趣尝试这份代码的读者,该项目还提供了通过Docker进行设置的步骤。当然,源码也提供出来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值