写点什么

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

评论

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

Python调用墨迹天气API实践指南

幂简集成

API 天气api

物理机服务器应该注意的事

百度搜索:蓝易云

跨平台.NET IDE 集成开发环境JetBrains Rider 2024 for Mac

Mac相关知识分享

集成开发环境 mac软件开发

Mysql和Oracle的语法区别?

百度搜索:蓝易云

996/007:背后的真相

老张

职场成长 996 007 认知 加班文化

智能终端密码模块的三重防护

芯盾时代

信息安全 终端安全 密码

嵌入式笔记 day1

万里无云万里天

嵌入式

Git常见问题:git pull和git pull--rebase二者区别

百度搜索:蓝易云

OpenAI“草莓项目”最快今年秋季发布!苹果将于9月10号推出首款AI iPhone|AI日报

可信AI进展

TimeWheel 算法介绍及在应用上的探索

vivo互联网技术

dubbo TimeWheel 时间轮模型

深入解析淘宝商品详情API返回值中的商品材质与成分

代码忍者

API 测试 API 策略

一文了解 AIOps 的含义、特点与功用

Anliven

AIOPS 智能运维 智能运维AIOps

centos7下docker设置新的下载镜像源并调整存放docker下载镜像的仓库位置

百度搜索:蓝易云

数业智能心大陆开学 “收心” 全指南

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

Microsoft PowerPoint LTSC 2021 for Mac( ppt 2021)办公软件中文版

Mac相关知识分享

办公软件 mac软件下载

LED广告屏深受欢迎的原因分析

Dylan

广告 科技 LED display LED显示屏 零售电商市场

浅谈大模型生成类应用的需求分析设计与实践

鲸品堂

文档 大模型 生成式 企业号2024年8月PK榜

mac远程工具推荐:Microsoft Remote Desktop for Mac 特别版

你的猪会飞吗

Mac软件 mac软件下载 mac破解

JDBC类型解析

JDBC count(1) jdbc类型处理

飞桨框架3.0核心升级:动静统一自动并行,轻松开发大模型

百度Geek说

百度 百度飞桨 #大模型

Mac 的云盘本地加载工具CloudMounter mac

Mac相关知识分享

云盘本地加载工具

玩转软件定义存储 | 全方位体验天翼云存储资源盘活系统HBlock

xybDIY

#天翼云 #HBlock #轻量存储 #轻量级存储集群控制器 #存储

京东商品信息高效抓取:利用API实现数据获取的实战指南

代码忍者

API 测试 API 策略

在AI最火热的时候,AI大牛写了本小说

博文视点Broadview

邮件管理软件Microsoft Outlook 2021 LTSC for Mac

Mac相关知识分享

微软 办公软件

家装辅助设计软件Sweet Home 3D for Mac

Mac相关知识分享

室内家居设计软件 室内设计软件

Web server failed to start. Port 8080 was already in use.之解决方法

百度搜索:蓝易云

阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源

阿里云大数据AI技术

人工智能 开源 LLM Alignment PAI-ChatLearn

MySQL 延迟从库介绍

Simon

MySQL MySQL主从复制

如何利用 StarRocks 实时分析数据湖中的数据?

镜舟科技

StarRocks 湖仓一体 大数据 开源

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