写点什么

Netflix 开源危机管理工具 Dispatch

  • 2020-09-24
  • 本文字数:2234 字

    阅读完需:约 7 分钟

Netflix开源危机管理工具Dispatch

本文最初发布于 Netflix 技术博客,经授权由 InfoQ 中文站翻译并分享。


什么是 Dispatch?简单说,它是一个管理事件元数据和资源的危机管理编排框架。通过与组织中使用工具(像 Slack、GSuite 等)的深度集成,Dispatch 可以帮助我们有效地管理安全事件。它利用组织熟悉的工具来提供编排功能,而非引入另一种工具。


这意味着你能让 Dispatch 专注于创建资源、安排参与者、发送通知和跟踪任务以及协助事后回顾——让你真正专注于解决问题!

危机管理的挑战

管理事件是一项压力很大的工作。因为,你同时要处理许多问题:范围是什么?谁能提供帮助?我还需要谁参与进来?我应该如何处理这一切?


一般来说,每一个事件都是独一无二的,如果同样的事件一而再再而三地发生,你就成消防员了。


危机管理主要包含四个组件:


  1. 资源管理——不仅要管理收集到的与事件相关的数据,还有所有和事件响应相关的元数据。

  2. 个人参与——理解让个人和团队参与的最佳方式,并根据事件上下文来进行。

  3. 生命周期管理——提供事件指挥官(IC)工具,轻松管理事件的生命周期。

  4. 事件学习——基于以前的事件加快对未来事件的分析。


在本文接下来的讨论中,我们会用到以下术语:


  • 事件指挥官:负责推动事件解决的人。

  • 事件参与者:帮助解决事件的主题专家(SMEs)。

  • 资源:在事件中使用的文档、屏幕截图、日志或任何其他数字化信息。

事件处理步骤

普通事件的处理有很多步骤,其中很多通常都是由人即时处理的。让我们列举下:


  • 声明一个事件——事件有许多不同的入口:自动报警、内部通知或外部通知。

  • 确定事件指挥官——根据事件来源、类型和优先级,确定负责推动特定事件的唯一负责人。

  • 创建沟通通道——事件处理期间的沟通很关键。创建标准化的专用沟通通道可以防止通信筒仓的出现。

  • 创建事件文档——包含最新事件信息的重要文件,其中包括事件描述、资源链接、面对面会议的纪要、打开的问题、行动项和时间表信息。

  • 确定个体资源——事件指挥官不会自己解决事件,他们必须在组织内找出其他的资源,让他们参与进来帮助自己。

  • 引导个体资源——光让其他资源参与进来还不够,事件指挥官还需要让这些资源了解当前的情况。

  • 通知关键干系人——对于任何给定的事件,如果关键干系人没有参与事件解决,则需要通知他们。

  • 推动事件解决——事件的实际解决,创建任务,提出问题,并跟踪答案。解决问题后记录解决问题的要点。

  • 执行事件后回顾(PIR)——回顾事件处理执行过程,跟踪事件发生后要采取的行动,并通过构建非正式知识来推动学习。


每个步骤都需要事件指挥官和事件参与者跨越不同的系统和接口。每次上下文切换都会增加响应者的认知负荷,分散他们解决事件本身的注意力。

更好的危机管理

危机管理不是一项新挑战,像 Jira、PagerDuty、VictorOps 这样的工具都在帮助组织管理和响应事件。当开始自动化事件管理过程时,我们主要有两个目标:


  1. 使用已有的、用户熟悉的工具;降低事件处理所需的学习曲线。

  2. 编目、存储并分析我们的事件数据,加速事件解决。

Dispatch

Dispatch 是一个管理事件元数据和资源的危机管理编排框架。它使用组织中已经在使用的工具,为事件参与者提供一个全面的危机管理工具集,让他们能够专注于解决事件。


与我们的许多工具不同,Dispatch 没有紧密绑定到 AWS,Dispatch 根本不使用任何 AWS API。虽然 Dispatch 不使用 AWS API,但它利用已经在组织中广泛应用的多个 API(例如 Slack、GSuite、PagerDuty 等)。除了所有内置的集成外,Dispatch 还提供了多个集成点,让其能适应几乎任何现有的环境。


尽管是作为帮助 Netflix 管理安全事件的工具而开发的,但 Dispatch 并不局限于安全用例。它的核心目标是管理事件的整个生命周期,专注于让个体参与进来,并为他们提供推动事件解决所需的上下文。

工作流

让我们看一下,使用 Dispatch 时,事件指挥官的新工作流:



以下是新工作流的部分优点:


  • 事件指挥官不再需要处理资源或多数据流访问。

  • 跨事件的交流是标准化的。

  • 事件参与者会根据事件类型、优先级和描述自动参与进来。

  • 事件可以跟踪,如果事件未能按时处理完成,会提醒所有者。

  • 所有事件数据都可以集中跟踪。

  • 为内部用户和工具提供了共用的 API。


我们想让事件报告尽可能地顺畅,让用户可以在危机发生时直接获取所需的资源。



对事件指挥官来说,在不同的工具间切换时,保证数据的正确性和同步是一项低价值的活动。相反,我们集中使用两种通用工具来管理整个生命周期。Slack 用于管理事件元数据(例如,状态、标题、描述、优先级等),而 GoogleDoc 和 Google Drive 用于管理数据本身。



当团队需要查看许多事件时,Dispatch 提供一个管理 UI。这个界面也是管理事件知识的地方,包括常见术语及其定义、个人、团队和服务。我们用管理 UI 管理事件知识,以便在未来的事件中使用。


架构

Dispatch 使用了以下组件:


  • Python 3.8 with FastAPI(包括辅助程序包)

  • VueJS UI

  • Postgres


Dispatch 带有内置插件,允许你通过 GSuite(Docs、Drive、Sheets、Calendar、Groups)、Jira、PagerDuty 和 Slack 创建和管理资源。而且,插件架构使得 Dispatch 可以与组织当前使用的任何工具进行集成。


Dispatch 开源项目下载地址:


https://github.com/Netflix/dispatch


说明:


目前,Dispatch 已经在Netflix开源网站上提供。你可以借助Docker试用。关于详细的安装步骤和配置方法,请查阅文档。如果您有任何建议,请随时联系或提交 pull 请求。希望能看到您为了使用 Dispatch 而新建的插件!希望您发现 Dispatch 非常有用!


原文链接:


https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072


2020-09-24 14:164403
用户头像

发布了 698 篇内容, 共 415.7 次阅读, 收获喜欢 1514 次。

关注

评论

发布
暂无评论
发现更多内容

React-hooks+TypeScript最佳实战

xiaofeng

React

深度阐述Nodejs模块机制

coder2028

node.js

令人头疼的Javascript隐式&强制转换

hellocoder2029

JavaScript

腾讯会议后台研发效能提升之路

博文视点Broadview

深度理解NodeJS事件循环

coder2028

node.js

React中常见的TypeScript定义实战

xiaofeng

React

双机热备软件原理简单说明以及品牌重点推荐

行云管家

高可用 ha 热备 双机热备

Webpack中的plugin插件机制

Geek_02d948

webpack

深度解读Webpack中的loader原理

Geek_02d948

webpack

深聊Nodejs模块化

coder2028

node.js

前端懒加载和预加载

hellocoder2029

JavaScript

汇总LED显示屏专业知识

Dylan

LED LED显示屏 led显示屏厂家

BI口碑分析,Quick BI何以连续入选魔力象限

巷子

TiDB常用SQL

TiDB 社区干货传送门

性能调优 集群管理

React性能优化的8种方式

xiaofeng

React

技术公开课|深度剖析 Java 的依赖管理,快速生成项目 SBOM清单

墨菲安全

Java SBOM 软件供应链安全

JavaScript刷LeetCode拿offer-双指针技巧(上)

Geek_07a724

JavaScript LeetCode

【LeetCode】字母大小写全排列Java题解

Albert

算法 LeetCode 11月月更

安防厂商在企业数字化转型中的机遇和挑战

慕枫技术笔记

AIOT 11月月更

老板拍脑袋决策,团队群魔乱舞

填空时光

决策 团队内耗 企业敏捷

Vue3, setup语法糖、Composition API全方位解读

yyds2026

Vue

解读Vue3模板编译优化

yyds2026

Vue

腾讯大神亲码Redis技术笔记,实战+原理双管齐下

小小怪下士

Java redis 程序员 腾讯

TiFlash 源码阅读(六) DeltaTree Index 的设计和实现分析

TiDB 社区干货传送门

TiFlash 源码阅读(七)TiFlash Proxy 模块

TiDB 社区干货传送门

Java后端面试到底要如何准备?

钟奕礼

Java 程序员 java程序员 java面试 java编程

为什么vue3要选用proxy,好处是什么?

hellocoder2029

JavaScript

用javascript分类刷leetcode3.动态规划(图文视频讲解)

Geek_07a724

JavaScript LeetCode

TiFlash 源码阅读(八)TiFlash 表达式的实现与设计

TiDB 社区干货传送门

Vue.nextTick核心原理

yyds2026

Vue

详解webpack构建优化

Geek_02d948

webpack

Netflix开源危机管理工具Dispatch_语言 & 开发_Netflix技术博客_InfoQ精选文章