Note: 本文只截取了部分重要内容,更多内容请见原文《AWS云上混沌工程实践之启动篇》。
混沌工程的定义
混沌工程(Chaos Engineering)是指在分布式系统上进行由经验指导的受控实验,观察系统行为并发现系统弱点,以建立对系统在规模增大时因意外条件引发混乱的能力和信心。
常见问题
混沌工程实验的概念听着很吸引人,可是不知道从而下手。有没有什么实际可落地的框架和工具呢?
答:笔者有幸参与了混沌工程的革新实践,总结起来对混沌工程的理解有两点特别重要:
-
尽量减少实验的爆炸半径(故障注入测试的引入)
为了确保不会破坏生产业务,工程团队需“精心策划”混沌工程实验。 -
混沌实验不只是测试,而是生成新知识的过程( Chaos Monkey -> Simian Army -> FIT -> ChAP )
混沌工程试验不仅仅是测试系统的一个案例。另一方面,混沌工程是一种产生新知识的方法。正是因为现代软件系统往往太复杂,任何人都无法完全理解它们,所以工程师通过混沌工程实验以揭示系统的更多面。