微软17生产库误删

微软 Azure DevOps 是一套应用程序生命周期服务,提供了从代码管理到持续集成、持续交付、测试、监控等一系列功能。然而,就在 5 月 24 日,这个服务在巴西南部区域发生了长达 10 小时的宕机,影响了数千名客户。事后调查发现,竟然是因为一个简单的拼写错误,导致了 17 个生产数据库被误删。

打开网易新闻 查看更多图片

这个拼写错误出现在一个用于清理数据库快照的后台作业中。原本,这个作业是为了帮助 Azure DevOps 工程师偶尔保存生产数据库的快照,以便调查问题或测试性能改进。但是,在最近的一次代码升级中,工程师用一个新的 NuGet 包替换了一个已经弃用的包,导致了一个巨大的变更请求。在这个请求中,有一行代码将删除 Azure SQL 数据库的调用换成了删除托管数据库的 Azure SQL Server 的调用。也就是说,本来只想删除一些旧的快照数据库,结果却把整个服务器都删掉了。

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

这个错误并没有被及时发现,因为它只在特定条件下才会触发,而 Azure DevOps 的测试并没有覆盖这些极端情况。当这个错误代码被部署到巴西南部区域的客户环境时,就引发了灾难性的后果。17 个生产数据库被删除后,整个区域的服务无法处理。

打开网易新闻 查看更多图片

虽然数据没有丢失,但恢复过程却非常复杂和耗时。首先,由于客户无法自行恢复 Azure SQL Server,必须由 Azure SQL 团队参与恢复工作。其次,由于数据库有不同的备份配置,导致恢复数据时出现了不匹配的问题。最后,在数据库开始恢复上线之后,还出现了一系列网络服务器和负载均衡器的问题,导致服务无法正常访问。

微软已经对此次事件进行了深入分析,并采取了各种措施来防止类似问题再次发生。包括修复快照删除作业中的 bug,增加更多的测试覆盖范围,为关键资源添加锁定机制,确保所有数据库备份使用相同的设置等等。微软也向所有受此次中断影响的客户表示了歉意,并承诺会持续改进服务质量和可靠性。

这起事件给我们提供了一个教训:即使是一个看似微不足道的拼写错误,也可能造成严重的后果。因此,在编写、审查和部署代码时,我们要格外小心和仔细,并且要有充分的测试和备份机制来应对可能出现的问题。

唯品会宕机事故定责

6月5日,唯品会发布关于329机房宕机故障处理公告。公告称,将329机房宕机故常判定为P0级故障,公司决定对此次事件严肃处理,对应部门的直接管理者承担此次事故责任,基础平台部负责人予以免职做相应处理。

之前我们第一时间报道了微信和唯品会同日生产事故

据了解,这是在3月29日发生的突发事件,唯品会App崩了当天冲上热搜,当时唯品会官方回应称:因系统短时故障,主站“加购”等功能或出现异常。而根据这篇公告信息显示,此次机房重大故障影响时间持续12个小时,导致公司业绩损失超亿元,影响客户达800多万。

打开网易新闻 查看更多图片

知名技术社区qidao123.com专家表示:P0属于最高级别事故,比如崩溃、页面无法访问、主流程不通、主功能未实现,或在影响面上影响很大(即使Bug本身不严重)。

值得注意的是,此次机房事故影响的不仅唯品会一家,微信、QQ等腾讯旗下社交软件出现功能异常,包括微信语音对话、朋友圈、微信支付,以及QQ文件传输、QQ空间和QQ邮箱在内的多个功能无法使用。事后腾讯也定义为一级事故,对大量相关领导做出了处罚。

运维无小事

打开网易新闻 查看更多图片

你什么想对我们说的呢?

企业服务IT圈:聚焦全球ToB领域:甲方. 厂商. 集成商. 服务商. 渠道. ISV等生态,分享业内干货,打造中国第一企业服务技术内容社区和社交平台。我们根据粉丝真实岗位情况,分别设置:创业高管微信群/运维技术专家群/架构师之家/DevOps技术专家汇/ToB企业销售互助会/ToB厂商市场人俱乐部,并为大家提供技术咨询,营销策划.招聘及工作推荐等服务。请大家扫码或者添加微信:tian1tiant,(备注个人真实职业身份信息邀请不同岗位微信群)。公众号官方网站:qidao123.com,了解更多,ToB企业服务之家,社交平台,限时注册体验更多服务!