冬季实战营第四期学习报告3:Chaos带你快速上手混沌工程

简介
本场景涉及到以下技术或产品:

容器服务ACK:
容器服务Kubernetes版(简称ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理;是国内唯一入选2020年Gartner公共云容器报告的产品,并在2019年Forrester容器报告中获国内排名第一;整合了阿里云虚拟化、存储、网络和安全能力,助力企业高效运行云端Kubernetes容器化应用。

故障演练Chaos:
故障演练(Chaos)是云原生混沌工程平台,提供了大规模、低成本、影响可控、形式多样化的故障演练服务。Chaos提供一站式架构分析、故障巡检、故障注入、系统稳态度量等功能,帮助用户增强分布式系统的容错性和可恢复性,帮助系统平稳上云。

原理介绍
相信您一定有在新闻联播里看到过解放军某某兵团在某地进行军事实战演练的新闻,对于军队来说,最好的训练方式就是实兵演习。即使平时的训练已经已经非常系统和完善,但到了真正的实战中仍然可能会出现各种各样平时训练预想不到的问题。所以只有真正的实战演练才能发现问题,才能更好的规划下一阶段的训练,提高军队的战斗力。

面向失败设计
我们的软件系统不也是一样吗?“Everything fails, all the time.” 在平时的开发过程中,即使我们已经预想了各种各样的场景,修复好了所有的bug,但一旦上线总会出现各种各样的情况。我们的软件系统,同样也需要这样的实战演练。您需要在一开始的系统设计阶段就考虑到各种失败场景,把面向失败当成系统设计的一部分,并且准备好从失败中恢复的策略,这有助于更好地提升整个系统的可用性。只有您意识到事情会随着时间的推移而失败,并将这种思想融入到体系结构中,那么在失败发生的时候您才能完全不受影响或者将失败损失降到最低。

故障演练
混沌工程正是在这种面向失败设计思想下催生的。面对失败设计,要求我们提前为失败做好准备,但是我们准备的这些措施在故障真实发生时是否真的有效?恢复故障的工具是否实现了容灾?处理故障的人员是否熟练?这些问题,很难得到验证,却往往会在真实的故障中暴露出来。而这就是混沌工程的意义所在,混沌工程就像演习一样,通过有目的的制造故障,找出系统可能存在的弱点,从而验证在真实复杂的环境下,系统、人员应对各种突发问题的能力是否符合预期,提升系统的免疫能力。故障演练(Chaos)提供的正是这样的能力。

还可以通过使用MSHA快速体验异地、同城多活容灾。动手实验室地址:
https://developer.aliyun.com/adc/scenario/998a993afe624e3eadcf5f8f6b791064

体验收获
体验该场景后,可以学习到:通过故障演练给系统快速注入故障,通过架构感知直观地观察系统架构以及通过Chaos一站式实现微服务强弱依赖治理。与此同时,还可以获得任务积分并完成任务进度。

上一篇:第四期:零基础容器技术实战


下一篇:冬季实战营第四期学习报告2:Docker镜像管理快速入门