2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:003661

评论

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

万字长文,手把手教你2小时实现鸿蒙版视频播放器(附源码),建议先收藏

程序员潘Sir

鸿蒙 HarmonyOS

CCF 大数据学术会议 | TDengine 解析工业大数据从“能存”到“能用”的转变

TDengine

tdengine 时序数据库 idmp

FICO 借贷 入门解释

机机复唧唧

SAP FICO

Amazon Lambda + API Gateway 实战,无服务器架构入门

掘金安东尼

智源发布具身智能能力基座,共筑全球具身新生态

智源研究院

人工智能

华为云:做厚算力“黑土地”,成就行业AI先锋

华为云开发者联盟

大模型 华为云开发者联盟 AI Agent 具身智能 AI云服务

技术解读 | OceanBase 数据库诊断与调优的关键技术与方法

老纪的技术唠嗑局

运维 调优 oceanbase 诊断

测吧爱测智能测试平台 | 用例生成、自动执行、智能遍历图谱构建

测试人

人工智能 软件测试

MySQL分库分表迁移:ETL平台如何实现数据合并与聚合

谷云科技RestCloud

MySQL 数据传输 数据同步 数据迁移 ETL

2025智源学者资助计划启动

智源研究院

人工智能 资助项目

AI 应用落地谈起 ,免费试用 Amazon Bedrock 的最佳时机

掘金安东尼

鸿蒙应用开发——Repeat组件的使用

高心星

缓存 鸿蒙 懒加载 HarmonyOS5.0 Repeat

喜报 | 博睿数据Bonree ONE 荣登中国信通院"铸基计划"三大权威名录!

博睿数据

超融合架构的进阶之路:如何解锁性能与规模的双重跃升?

智驱前线

从Win到鸿蒙:ToDesk、Splashtop、TeamViewer、向日葵,跨平台远控谁更强?

小喵子

远程办公 向日葵 ToDesk TeamViewer 远控

从“被动监控”到“主动优化”:MyEMS 重构能源管理价值的路径

开源能源管理系统

开源 开源能源管理系统

可灵AI数字人来了!快手重磅发布Kling-Avatar,面向多模态指令理解与控制的数字人长视频生成新范式

快手技术

音视频 大模型 数字人 可灵 可灵AI

经验分享 —— 在 Ubuntu 虚拟机中部署 OceanBase 数据库

老纪的技术唠嗑局

ubuntu oceanbase 安装部署

博睿数据携手华为共筑智能未来,深度参与HUAWEI CONNECT 2025并发表主题演讲

博睿数据

iPaaS 平台的API 管理 + API编排,如何支持企业数字化转型

谷云科技RestCloud

数据传输 集成平台 API管理 ipaas api编排

MyEMS:解码工业文明的"能量语言",让能源管理从粗放走向精益

开源能源管理系统

开源 能源管理系统

工业 / 商业 / 园区通用:MyEMS 的定制化能源优化方案与实践

开源能源管理系统

开源 能源管理系统

博通订阅制压顶,企业如何破局?云易捷超融合成高性价比出口

智驱前线

本地(或自下载)浏览器插件 安装指南

京东科技开发者

ROMA-iOS适配深色模式总结

京东科技开发者

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