【云顾问-混沌】服务宕机灾难预防手段:混沌工程

小 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 关机动作进行CVM主机宕机演习。

  • CVM关机