把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

Slack 借助 Z 分数监控克服部署恐惧

作者:Matt Saunders

  • 2024-04-23
    北京
  • 本文字数:1168 字

    阅读完需:约 4 分钟

大小:565.88K时长:03:13
Slack借助Z分数监控克服部署恐惧

团队沟通平台Slack的一位工程师写了一篇文章,讲述了他们如何克服部署恐惧,并成功地实现了一个机器人来监控部署过程。

 

Slack 高级软件工程师Sean McIlroy记录了他们如何从由一群开发人员轮流监控其 Webapp 部署,转变为使用机器人每天部署 150 个变更。McIlroy 在一篇博文中详细解释了赋予 ReleaseBot 关键角色的原因和逻辑。他描述了一个看似可怕的责任委派如何最终归结为一个检测图表峰值的数学问题。

 

工程师在将变更部署到像 Slack 这样的大型平台时会面临一系列独特的挑战,因为大多数服务都是在一个名为“The Webapp”的单体应用上运行,每周变更达数百次。Slack 采用了持续交付的部署理念,旨在根据反馈快速迭代,并将开发人员的工作快速交付给客户。然而,管理一个经常使用的变更流(平均每天 150 次左右)需要谨慎权衡,既要避免使系统不堪重负,又要将错误风险降至最低。

 

传统上,Slack 依赖于部署指挥官(DC),即负责在轮班期间执行部署步骤的人。但是,DC 的轮转性质和系统复杂性的日益增加对于信心和专门知识的构建构成了挑战。因此,发布工程团队试图通过为 DC 提供更清晰的决策指导来解决这个问题。

 

这就是开发 ReleaseBot 的初衷。ReleaseBot 是一个具备异常检测和监控功能的自动部署系统。从手动部署到自动部署的过渡是一个渐进的过程。最开始的时候,ReleaseBot 与 DC 一起操作,并逐步证明了它的可靠性和效率。它可以比人更快地捕获问题,且提供了更高的一致性。虽然起初,人们对自动化部署可能带来的风险感到担忧,但 ReleaseBot 的性能超出了预期,使人们对其自主处理部署的能力充满了信心。

 

ReleaseBot 的有效性在于它的异常检测机制,特别是使用了 z 分数(z-score)。Z分数量化了数据点与平均值的偏差,能够识别指示潜在问题的统计异常值。如果应用程序在部署后的表现与之前的表现不同,就会触发问题的“高置信度”信号,并通知工程师可能存在需要干预的问题。实际上,这是一种检测图形峰值的数学技术。高置信度信号由与历史数据的显著偏差触发,可立即引起注意,而低置信度信号通常由静态阈值控制,可作为补充预警。



Slack 发送给团队的通知其严重程度根据高置信度信号的频率和范围来确定,并用白、蓝、红构成的三色标尺来表示信号的紧急程度。Slack 还使用静态阈值通知作为低置信度预警,但也会把它们作为 ReleaseBot 的输入来计算动态阈值。动态阈值考虑了部署时组件的正常负载和性能。ReleaseBot 会使用历史数据来区分部署期间的异常峰值和预期波动。这种方法使得 Slack 可以过滤掉常规变化,同时标记出需要干预的真正异常。

 

最后,McIlroy 着重说明了部署监控与普通监控的不同之处。Slack 利用这些知识构建了一个工具,使部署变得不再那么可怕。与让开发人员盯着仪表板相比,使用这个工具来管理部署会让他们更有信心。点击这里阅读全文。

 

原文链接:

https://www.infoq.com/news/2024/03/slack-z-score-monitoring/

2024-04-23 08:003689

评论

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

九章云极 Aladdin重塑 AI 开发范式的先锋力量

九章云极DataCanvas

用友BIP携手ISV伙伴 共建企业数智化底座

用友BIP

AI 智能体 数智化 用友BIP

GreatSQL5.7 与 8.0 对 DATE 非法值处理方式不同

GreatSQL

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

TDengine

数据库 tdengine 时序数据库

「2024龙蜥社区年度优秀贡献者」榜单公布,恭喜上榜企业和个人

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥社区年度优秀贡献者

签约!用友BIP助力中国南水北调打造智慧人力管理新标杆

用友BIP

AI 智能体 用友BIP 南水北调

17款研发项目进度管理软件性价比全揭秘

易成研发中心

软件实施文档,项目实施管理方案(Word原件)

金陵老街

软件实施 软件方案

探索微店商品详情API接口:解锁电商数据的新篇章

代码忍者

微店商品详情API接口

esbuild构建工具简介

天翼云开发者社区

构建工具 esbuild

和鲸科技出席全球开发者先大会专题论坛语料专场,共探 AI 基础设施重构数据协作新范式

ModelWhale

Python 人工智能 大数据 AI DeepSeek

深度解析字节跳动Trae:中国首款AI编程工具如何重塑开发测试生态

测试人

人工智能

国内企业与美国分支网络连接的四大实用方案

Ogcloud

企业组网 企业网络 企业网络专线 跨国企业组网

用友BIP融合场景地图发布,2000+业务场景实现一体化

用友BIP

AI 智能体 数智化 用友BIP 融合场景

Active Directory审核的常见误区

运维有小邓

日志管理 日志审计 AD域管理

从 MongoDB 到 TDengine,沃太能源实现 18 倍写入性能提升

TDengine

数据库 tdengine 时序数据库

京东 x AutoMQ x CubeFS: 万亿级 Kafka 消息规模下的降本增效之旅

AutoMQ

云计算 大数据 kafka 云原生 流处理

我在县城“驯化”AI:有多少“人工”才有多少“智能”

趣解商业

人工智能 AI 科技

陪玩小程序源码:如何打造爆款陪玩平台?

DUOKE七七

php MySQL uniapp 陪玩源码

非凸科技荣获“创·在上海”国际创新创业大赛总决赛优胜企业20强

非凸科技

淘宝商品列表API接口全攻略

tbapi

淘宝API接口 淘宝商品列表接口

校园网黑龙江等级保护三级解决方案

黑龙江陆陆信息测评部

九章云极DataCanvas公司与 GSMA共推 AI 普惠算力全球化发展

九章云极DataCanvas

Slack借助Z分数监控克服部署恐惧_后端_InfoQ精选文章