服务宕机灾难预防手段:混沌工程
小 Bug 引起的大麻烦
Salesforce 修 Bug 引起大宕机
Salesforce 是领先的云软件应用程序,全球约 15 万组织数百万员工使用。提供客户关系管理全套服务,包括联系人管理、产品目录、订单管理、机会管理和销售管理等。无需额外投入维护、储存和管理记录,所有数据存储在上面。
2022 年 5 月 11 日,Salesforce 服务中断 5 小时。事后,公司召开客户简报会,披露事件详情及工程师操作。尽管 Salesforce 以自动化流程为傲,但部分仍需手动操作,如 DNS。工程师运行配置脚本变更,需重启服务器生效,但脚本超时失败。更新在数据中心不断部署,引发更多超时点。
Facebook 市值蒸发三千亿
2022 年 10 月 4 日,美国社交媒体 Facebook、Instagram 和即时通讯软件 WhatsApp 出现大规模宕机,持续近 7 小时,刷新了 Facebook 自 2008 年以来的最长宕机时长。
事后复盘,发现工程师在维护中发出评估骨干网容量的指令,意外切断全球骨干网连接,导致 Facebook 数据中心间联系中断。正常修复途径受阻,故障持续 7 小时。事故令脸书市值蒸发约 473 亿美元(约合 3049 亿元人民币)。
还有更多的案例数不胜数,那我们有科学的方法可以提前做好宕机预案,提前发现这类潜在隐患,并将其扼杀在摇篮之中吗?答案是有的——混沌工程。
为何需要进行宕机混沌演练?
对于互联网行业从业者而言,服务中断无疑并不陌生。其影响极为重大且广泛,涉及日常生产生活的诸多方面。近年来,云原生技术已逐渐成熟,越来越多的业务选择上云,这不仅有助于降低服务的运维成本,同时还支持跨地域容灾,为服务的稳定性提供更大保障。
尽管已经采取了充分的预防措施,但预期的故障场景若未实际发生,又怎能确保在故障发生时,仍能正常提供服务呢?若某一天服务确实中断,应如何应对?腾讯云混沌演练平台(CFG),提供对腾讯云 CVM 进行开关机混沌演练,可模拟服务器宕机故障场景。
常见的服务宕机场景:
服务器所在机房因地震、水灾出现停电、温度过高、火灾等情况
应用程序 Bug
网络攻击
尽管各云厂商采取了大量的灾难预案,有着完备的应对措施;但是为保障服务的整体可用性,仅仅依靠云厂商提供的灾难恢复能力是不够的,也需要部署于服务器中的服务具有良好的灾难转移的机制和能力。而主动地引入可控的服务器宕机故障,进行混沌演练,便是验证服务容灾恢复能力的高效方案。
故障演习原理
执行故障:调用腾讯云 CVM 开放 API,发出开关机请求。
请求处理:腾讯云后端服务接收到请求后,对请求进行验证和授权。验证成功后,请求被路由到相应的虚拟化平台管理组件。
虚拟化平台管理:虚拟化平台管理组件根据请求执行相应的操作。例如,启动 CVM 时,管理组件会为 CVM 分配资源(如 CPU、内存、磁盘等),加载操作系统镜像,然后启动虚拟机。停止 CVM 时,管理组件会将虚拟机的运行状态设置为停止,并释放其资源。
状态更新:虚拟机状态发生变化后,虚拟化平台管理组件通知腾讯云后端服务。后端服务将更新 CVM 的状态信息,并将结果返回。
快速开始
可前往腾讯云混沌演练平台,快速开始 CVM 混沌演练。
评论