一、引言
为了给客户提供更优质、更可靠的服务,金蝶业务团队从2022年开始,就已经在腾讯云售后专家的协助下,陆续对业务系统完成双活改造。改造完成后,业务团队通过腾讯云混沌演练平台进行故障注入,以检验业务系统的容灾效果,从而提升业务系统韧性。本次演练主要针对金蝶小微业务线(精斗云&KIS云),涉及10大业务故障场景,是财务、新零售、电商等领域行业提高系统可用性的一次最佳实践。
二、业务现状和挑战
在此次大规模演练中,金蝶业务团队面临着以下挑战:
● 运维人力不足:大规模的混沌演练需要大量运维资源及人力支持,如果没有专业的自动化演练工具和完善的运维体系流程作支撑,将耗费大量的时间和人力;
● 业务场景复杂:金蝶精斗云作为集成财务、进销存一体化云端数据化管理软件,涉及多个业务场景,有复杂的功能流程和依赖关系,如何制定一份合理、高效的混沌演练计划以最大化发挥演练效果,是一个难题;
● 安全保障要求高:由于混沌实验涉及金蝶精斗云的关键业务和客户数据,为了保障现网客户不受影响,演练中要精准控制混沌爆炸半径,做好应急预案及时止损,这就对演练平台提出了更高的安全保障要求。
三、 演练方案
整个演练实践流程的主要环节如下图所示:
3.1 演练目标
1. 检验关键服务的跨可用区容灾能力,如架构无单点,具备健康检查、负载均衡等能力;
2. 检验业务监控覆盖度和有效性,如基础监控、业务指标监控的覆盖度;
3. 检验业务告警触达有效性,以及相关处理人员的应急能力&应急预案的有效性。
3.2 演练计划
事前准备:
○ 由金蝶侧运维主负责人确定参演业务名单、演练整体流程安排;
○ 在腾讯云售后专家的协助下,梳理业务架构,制定演练计划方案,并在腾讯云混沌演练平台上提前创建演练任务,完成演练场景动作编排(例如CLB网络封堵、CVM断网,DB主从切换等);
○ 提前设定应急预案,安排金蝶各业务对应的负责人观察记录监控告警效果以及故障注入的恢复等工作。
事中演练:
○ 本次演练全程借助云顾问·混沌演练平台进行故障注入,演练开始后,负责人逐个点击执行故障注入和故障恢复;
○ 故障注入后由金蝶各业务负责人观察故障对业务的具体影响,监控数据&告警是否正常触达等。故障恢复后,由各业务负责人观察业务是否恢复正常,监控告警是否如期收敛恢复正常;
○ 演练过程中的关键数据(故障类型,执行及恢复时长)由演练团队进行记录和复盘。
事后总结:
○ 整理演练过程中的数据记录,形成演练报告,便于团队对演练进行回溯复盘
○ 对演练发现的可用性问题进行记录、分析和治理。
3.3 演练场景
本次大规模常规演练涉及金蝶小微业务线,这里主要以金蝶小微官网架构进行举例说明。本次演练开始前,金蝶官网业务已整体完成A、B两地的异地多活改造,当任何一个地区发生宕机故障时,系统访问将切换到未故障区域。如A地域应用集群故障,可启用A地域WAF备用源至B地域集群,用于业务访问承载。
针对上述异地多活架构的特点和业务背景,业务运维团队在腾讯云高可用服务专家的协助下,制定了接入层、应用层、数据层三个维度的故障演练方案,共计包含35+故障场景,旨在精细、全面地验证系统的可靠性。
故障演练场景 | |
---|---|
接入层 | 模拟负载均衡器故障演练场景 |
应用层 | 模拟服务器类如内存、负载、网络等演练场景 |
数据层 | 数据库高可用架构演练,验证主数据库故障后,服务能否自动切至备库;包含数据库主备切换、实例不可用、带宽过载等场景。 |
此外,本次演练还针对KIS云和精斗云的官网服务进行了跨Region演练,模拟A地官网不可用(主备库故障)的情况下,系统自动切换到异地B官网(备库),实现服务降级的场景。通过在故障演练中关注RPO和RTO,运维团队可以确保业务连续性,并为应对真实故障场景做好充分准备。同时,也有助于测试和验证组织现有的故障恢复策略,进一步优化业务风险管理。
四、演练实施
创建演练任务
根据演练方案,在云顾问·混沌演练平台上提前创建演练任务,主要完成故障原子动作的编排,演练对象实例范围选取、添加稳态监控指标等。
执行故障注入
云顾问·混沌演练平台提供可视化视图,用户在演练过程中可以实时查看故障动作执行状态(成功/失败/执行中)和注入效果:
观测监控指标
在故障注入过程中,通过平台集成的监控面板,对演练对象实例监控指标进行观测,比如:故障注入后XX服务显示故障,其他服务正常;故障回滚后,XX服务恢复正常。故障注入后部分服务受到影响,收到系统告警提示,故障恢复后告警停止等。
五、 演练成果
本次大规模故障演练给业务团队带来了较大的收益:一方面,业务方通过演练发现了一些隐藏的问题,从而规避更大的可用性风险;另一方面,在发现业务问题的同时,也验证了业务方的监控和告警预案的有效性,提升了故障发生后团队组织应急能力。
● 故障容灾能力评估: 通过模拟各种故障和异常情况,有效评估了单个地域不可用,整机恢复异地备份数据的时间和数据有效性。对业务系统的RPO、RTO指标有了更详细的了解,增强了团队提供可靠服务的信心。
● 验证应急预案有效性:通过贴近现网的演练,充分检验业务团队的故障切换、自动增加服务器等应急预案策略是否有效,并为后续架构优化提供依据。
● 故障应对流程优化:经过本次演练,业务方团队深化了一套系统化、规范化的混沌实验流程,从计划、实施到复盘反馈、持续改进。有助于完善组织内的运维、研发与质量保障等流程体系,提升整体运维效率。
目前,金蝶团队已将混沌演练纳入稳定性常态化建设中,平均每年进行两次大规模的容灾演练。腾讯云混沌演练平台,凭借灵活、安全、易用的特性,协助金蝶精斗云优化运维管理和深化稳定性建设体系,极大地提高了业务团队实践混沌实验的效率,帮助客户达成了业务稳定性提升的目标。