4月15日消息,日前,腾讯云公众号发文披露了4月8日服务出现故障的原因及细节。
腾讯云称,4月8日15点23分,腾讯云团队收到告警信息,云API服务处于异常状态,随即在腾讯云工单、售后服务群、微博等渠道开始大量出现腾讯云控制台登录不上的客户反馈。
经过故障定位发现,客户登录不上控制台正是云API异常所导致。云API是云上统一的开放接口集合,客户可以通过API以编程方式管理和操控云端资源,云控制台通过组合云API提供交互式的网页功能。
故障发生后,依赖云API提供产品能力的部分公有云服务,也因为云API的异常出现了无法使用的情况,比如云函数、文字识别、微服务平台、音频内容安全、验证码等。此次故障一共持续了近87分钟,期间共有1957个客户报障。
从客户的视角来看,云服务大概可以分为数据面和控制面,其中数据面承载客户自身的业务,控制面负责操作云上不同产品。此次发生故障的控制台和云API,是对控制面的影响。
腾讯云称,如果把云服务类比为酒店,控制台相当于酒店的前台,一旦发生故障就会导致入住、续住等管理能力不可用,但已入住的客房不受影响。
这次故障中,客户已经配置好的服务器等IaaS资源,包括已经部署运行的业务,没有受到云API异常的影响。其他以非云API方式提供服务的PaaS、SaaS服务,也都正常服务。
但是,使用API提供的服务类产品受到不同程度的影响,比如腾讯云存储服务调用当天有明显下滑。
腾讯云还披露了这次故障根本原因及改进措施如下:
综合盘点这次故障,最根本的原因是在版本变更过程中,没有有效执行沙箱验证和预案演练,暴露了在变更管理上的不足,接下来将从以下几个方面快速进行改进和完善,以减少故障的影响范围和影响时长。
第一,提升系统韧性
1、定期执行预定的变更策略模拟演练,确保在真实故障发生时,能够迅速切换到恢复模式,最小化服务中断时间。
2、优化服务部署架构,通过分层架构、代码审查和监控等手段, 避免API服务中潜在的循环依赖问题。
3、提供API服务逃生通道,当故障发生时,可供调用方快速切换。
第二,强化变更管理与保护措施
1、完善自动化测试用例库,在系统变更前通过沙箱环境对变更内容进行严格验证。
2、实施灰度发布策略,逐步推广新功能或配置更改,按集群、可用区、地域逐步生效,以便在发现问题时能够迅速回滚。
3、引入异常自动熔断机制,当检测到系统异常时,能够立即中断变更过程。
第三,增强故障响应与沟通能力
1、对故障处理流程进行全面升级,确保实时更新故障处理进度和预计恢复时间点,提升故障报告发布效率。
2、在对外发布的故障通知中,清晰阐述受影响的业务范围、故障根因及预计修复时长,保持透明度。
3、优化腾讯云健康状态看板(StatusPage)的信息展示逻辑,解除对云API等云服务的依赖,通过引入缓存和容灾机制,确保即使在云服务出现故障时,能准确、及时地传递故障信息。