GameDay在混沌工程中可以理解为一次有计划的演练实践活动,可以持续一天,也可以持续几个小时,也可以持续几天,持续时间根据具体的目标而定。GameDay活动旨在对系统如何应对现实世界中的混乱状况进行演习。通常来讲,实施混沌GameDay的团队需要探索下面几个问题:
混沌GameDay是一个有计划、受控、安全、可观测的活动,而不是“混乱”的活动。
混沌GameDay的最终目的是按照一定的规划,有序地对目标系统进行混沌演练,收集演练实验证据,以此来验证混沌工程稳态假说。
只要能对目标系统进行有计划的混沌演练的活动,并能收集到相关证据,都可以称为一次成功的混沌GameDay。您也可以按照如下步骤进行游戏的准备工作。
一次成功的GameDay必须要有至少一个明确的验证目标,即混沌工程稳态假说。一个稳态假说往往包含但不限于以下几点内容。
选择假说时,可以和团队以及相关干系人一起讨论,选择一个或多个达成共识的、值得验证的假说作为GameDay的目标假说。
GameDay的目的是收集相关证据验证选择的稳态假说,为保障GameDay高效,有序的进行,分工统筹是很有必要的。在GameDay中,可以分为主持者、执行者、参与者以及观察者四种分工类型。
GameDay有很多种不同的执行模式,一般是根据参与者事先知道故障场景信息的多少以及时间来区分。可以参考的有如下3种模式。
在完成上述步骤之后,便可以按照GameDay的计划创建GameDay的故障演练实验设计。设计可以参考如下流程。
做好GameDay的准备之后,需要在GameDay开始前通知开展GameDay的人员,若有任何一方未就绪,GameDay应当取消或者延迟。当所有人员都已就位之后,由主持者按照GameDay计划有序地指挥执行者以及观察者进行混沌演练。
在开展混沌GameDay过程中,有几个重要的注意事项需要考虑:
GameDay结束之后,可根据演练过程中观察者收集的系统相关证据以及故障事件细节信息验证假说是否满足,若未满足,需要根据相关证据分析目标系统,优化系统,并在优化之后再次进行假说验证。
混沌GameDay的主要目的是帮助发现系统潜在的风险以及隐患,因此对GameDay进行复盘便是其中关键的一环。基于之前的分工,不同角色可参考如下方式进行复盘工作。
在复盘过程中,各个角色应当积极参与讨论,分享自己的观点和经验,共同分析演练的结果和效果。通过充分的交流和合作,可以更全面地评估演练的成功与失败,并制定改进计划以提高未来的GameDay活动的质量和效果。
腾讯云混沌演练平台(CFG)也正是基于上述背景而诞生,汇集各行业成功案例和最佳实践,提供宝贵经验,提供模拟IaaS、PaaS、SaaS近百种故障注入场景。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。