为评估应用响应方式,刻意将故障引入应用某些部分的测试系统。
作为一种提升和确保云端等分布式系统弹性的方法,混沌工程正在成为主流。
它是什么?
混沌工程起源于Netflix开发的做法:混沌猴子。该做法通过随机禁用实例并测量禁用结果来测试运行系统如何应对生产中的服务中断。目前,组织通常在测试环境而非生产环境中使用混沌工程。
混沌工程认为,现代分布式云应用会出现故障。通过模拟应用中的各处故障,可以测量可能产生的影响,并就生产中的系统故障制定更有效的计划。
随着分布式应用部署和对公有云和公开网络服务的依赖成为企业常规现象,企业对系统测试的需求也日益增长。
有何益处?
混沌工程可改善客户体验。
通过测试应用如何在分布式系统中进行故障响应,您可以更好地理解故障模式。例如,在线零售推荐引擎发生部分故障时,无法向客户推送有吸引力的产品,但并不影响客户购买所需产品。
需考量的因素?
混沌工程是另一层测试,因此您需要支付额外的费用。您可以决定不对一些低级应用实施混沌工程。
仅仅引入故障是不够的:您还需投入时间和金钱来修复发现的故障。
最后,即使混沌工程政策执行的再好也无法确保万无一失。复杂的分布式计算机系统仍可能出现故障。
如何应用?
Netflix最先开始利用混沌猴子实施混沌工程。如今,很少有企业会直接将故障引入生产系统。尽管如此,混沌工程日益受到企业关注,许多部署分布式云应用的企业都实施了混沌工程。
混沌工程的工具集不断增加和改进。
Would you like to suggest a topic to be decoded?
Just leave your email address and we'll be in touch the moment it's ready.