简单的代码错误,微软 Azure DevOps 在南巴西服务中断了约十个小时

2023-06-04 17:06:52 业界科普

由于一个代码拼写错误,微软 Azure DevOps 在南巴西地区的服务中断了约十个小时。该服务是一个用于管理软件项目的集成工具和服务。Eric Mattingly,Azure DevOps 的软件工程经理,表示工程师们有时会对生产数据库进行快照,以便调查报告的问题或测试性能改进,而他们依赖一个每天运行的后台系统来删除旧的快照。近日,Azure DevOps 的工程师进行了一次代码升级,导致一个拼写错误将删除快照数据库的调用换成了删除托管数据库的 Azure SQL Server 的调用。这个错误只在某些条件下运行,现有的测试覆盖不到,因此没有被发现。软件更改被部署到南巴西规模单元的客户环境,其中一个老的快照数据库触发了这个错误,导致后台任务删除了整个 Azure SQL Server 和所有十七个生产数据库。

为了防止这种问题再次发生,微软已经采取了各种修复和重新配置措施,并向所有受此中断影响的客户道歉。以下是一些解决此类问题的建议:

确保代码更新、升级和更改的测试覆盖范围广泛,包括所有可能的条件和场景。

配置和使用备份和恢复功能来保护数据和服务,以便在出现问题时可以快速恢复。

遵循 DevOps 最佳实践,包括使用自动化测试、部署和监控工具来提高效率和减少错误率。

在出现问题时及时响应,并向受影响的客户提供详细的信息和计划,以便恢复正常服务。

此外,如果您在使用 Azure DevOps 时遇到问题,可以查看 Azure DevOps Services status portal 进行故障排除和获取帮助。如果您的问题没有在该门户网站上得到解决,可以通过 Azure DevOps Services virtual support agent 进行提问。

最后,对于 Azure DevOps Pipeline returning: 'Failed to deploy web package to App Service. Internal Server Error (CODE: 500)' 等错误,可以尝试以下解决方法:

检查磁盘空间是否充足,如果达到限制,需要升级。

检查 Git 连接是否正确设置,删除残留文件。

检查应用服务的配额和使用情况,如文件系统使用情况等。

版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。