我是一名后端研发工程师,今天体验了云服务诊断相关的内容,阿里云云服务诊断工具涵盖多种诊断场景,包括但不限于:计算、网络、数据库等场景。通过选择场景,用户可以进入针对性的诊断流程,省去了手动排查的繁琐步骤。会有诊断仪表盘,相应的健康状态实时的反馈给用户,并且会给出详细的诊断报告。
虽然相应的场景还是挺丰富的,但对于研发来说分享我几个关于云诊断的建议:
- 我们自己的业务是部署在私有云中的,我们边缘云的服务通过内网访问总部的服务,拉取相应的数据。我们总部的服务、数据库都做了蓝、绿,也就相当于容灾、生产两套环境。应用很稳定,服务、数据库有问题直接把流量切到容灾(蓝)环境。那么问题来了,DNS域名解析就有问题咋整,都还没到你的服务层,即便你服务层做了蓝绿也无济于事。你可能会说,当光缆被挖断、机房出现异常,或因不可抗拒原因(如地质灾害)等造成业务不可用,这一片云服务器都得挂,这就得考虑异地多活的方案了。老周当时自身代码中实现了一套定时探测主域名连通性,实现了主备域名实时切换的策略。要是阿里云云服务诊断有这个服务老周就不用自身写一套探测主域名连通性,实现了主备域名实时切换了。
- 增加多云支持。当前仅支持阿里云生态,建议未来支持多云环境诊断,以满足混合云用户需求。就像我上面第1点的我们应用部署在私有云上,阿里云怎么来诊断?
- 还有一个案例发生在我们自身的业务的事故,Kubernetes的Pod状态显示为正常运行,但其中的服务已经挂掉时,环境配置有问题。健康检查没有正确配置,我看阿里云上是有ECS GPU设备健康检查,但我想要应用的健康检查,并且包括但不限于应用程序崩溃、探针配置不正确、服务可能依赖的外部资源(如数据库、API 等)不可用,导致服务挂掉等这些的诊断。