一个代码拼写错误引发微软 Azure 故障,17 个生产级数据库被删
5 月24 日,微软 Azure DevOps 在巴西南部地区的一处 scale-unit 发生故障,导致宕机约 10.5 个小时。近日,微软首席软件工程经理 Eric Mattingly 出面针对此次故障事件道歉,并透露了导致中断的原因:即,一个简单的拼写错误致使 17 个生产级数据库被删除。 事件背景起源于,Azure DevOps 工程师有时需要对生产数据库的快照进行保存,以调查报告的问题或测试性能改进。为了确保这些快照数据库得到清理,会有一个专门的后台每天运行,系统会在设定的时间段后删除旧快照。 在 Sprint 222 期间,Azure DevOps 工程师升级了代码库,将已弃用的 Microsoft.Azure.Managment.* 包替换为受支持的 Azure.ResourceManager.* NuGet 包。此举连带了大量的 pull request 变更请求,以寻求将旧包中的 API 调用替换为新包中的 API 调用。而其中就隐藏了有关快照删除作业中的一个拼写错误,它将删除 Azure SQL 数据库的调用换成了删除托管数据库的 Azure SQL Server ...

