HubSpot 2025年8月7日故障报告:配置部署缺陷导致CRM服务中断

2025年8月7日,HubSpot因配置更新与代码部署不同步导致CRM服务大规模中断,95%请求失败。报告详细分析了故障时间线、根本原因,并提出了服务强化、验证改进等预防措施。

事件概述

2025年8月7日(周四)美国东部时间下午约1:45至2:05期间,HubSpot客户在访问CRM记录时遭遇大规模错误。高峰期间约95%的请求失败,导致所有记录页面、对象预览和工作区预览侧边栏均显示"All is not lost"错误。

该问题由程序化系统配置变更引起,该变更依赖于其他服务中的代码更新,但这些支持性变更尚未在所有必需的服务中完成部署。在此期间未发生数据丢失。

事件经过

我们向CRM系统部署了一项配置更新,该更新依赖于跨多个服务的相关代码变更。然而,这些支持性变更并未在所有相关服务中完全部署。尽管该变更在我们的测试和生产环境中均通过了标准验证检查,但这些验证并未确认依赖代码是否已在所有相关服务中完全部署。

由于CRM服务缺乏处理不完整配置推出的防御性保护机制,一旦部署到生产环境,该变更导致所有依赖更新配置的请求均返回错误。

事件时间线(美国东部时间)

  • 8月7日下午1:33 – 配置变更部署至生产环境
  • 8月7日下午1:42 – 生产环境错误警报触发
  • 8月7日下午1:55 – 工程团队开始调查
  • 8月7日下午2:05 – 生产环境部署回滚,客户影响结束
  • 8月7日下午2:06 – 确认影响已解决

改进措施

1. 防御性服务强化

  • 强化CRM服务中的配置处理机制,使其能够优雅处理不完整的配置变更

2. 改进验证与部署保障

  • 增强验证检查,在批准配置变更前确认所有依赖代码变更已在相关服务中完全部署
  • 对关键CRM更新实施更缓慢、渐进式的推出策略,并在每个阶段加强监控
  • 加强自动化测试,在影响客户前发现跨服务依赖问题
  • 提高面向客户关键功能的服务的警报灵敏度

未来规划

本次事件促使我们改进了具有跨服务代码依赖的配置变更的验证和推出方式。通过加强验证、改进防御性编程以及缩小未来部署的影响范围,我们正在降低类似事件发生的可能性。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计