OpenText 主页。
技术主题

什么是混沌工程?

以灯泡为重点的信息技术项目图示

概述

问问任何项目经理、开发人员或团队领导就知道了。在软件开发生命周期中,有几种情况可能会出现问题,如故障、网络攻击和系统中断。意料之外的故障必然会发生,这会扰乱整个流程、限制结果并浪费重要资源。

混沌工程

混沌工程是一门研究这些故障如何发生并提供避免方法的学科。通过了解故障的根本原因,混沌工程师可以制定预防或减轻故障的计划。

混沌工程并不是要制造混乱,而是要利用受控实验在系统出现问题之前找出潜在的故障点。通过这样做,混沌工程师可以主动防止断电和其他中断。

混沌工程究竟是什么?

混沌工程是一种故意向系统注入故障以测试其恢复能力的做法。这样做的目的是找出潜在的故障点,并在它们造成实际故障或其他中断之前加以纠正。

在系统中制造混乱的方法有很多,但最重要的是要有计划。如果没有计划,很容易造成更多的问题,而不是解决问题。在制定计划时,您需要决定要测试什么以及如何测试。有了计划之后,您就可以开始试验了。

通过OpenText™ Professional Performance Engineering、 OpenText™ Enterprise Performance EngineeringOpenText™ Core Performance Engineering,软件开发人员可以轻松地将混沌工程引入其工作流程。这些解决方案不仅能利用性能负载测试,还能直接在软件中轻松运行其他混沌工程实验。

通过在受控的非生产环境中创建这些事件,您可以测试系统的反应并找出任何潜在问题。

一旦确定了潜在的故障点,就可以开始着手解决。这可能需要增加监控或日志记录,以帮助在问题发生时及时发现,或者改变设计,使其更能抵御故障。

什么是混沌工程原理?

混沌工程的原理是

  • 计划:决定要测试什么以及如何测试。这样做的目的是提出一个假设。系统会出什么问题?有哪些可能被利用的潜在漏洞?
  • 实验:向系统中注入故障,看看它的反应。故障注入简单来说就是在现有系统中引入问题,暴露漏洞。本质上,这是一种故意向系统 "扔扳手",看看会发生什么的习惯。
  • 分析:利用实验数据找出潜在的故障点。
  • 缓解:如果发现问题,可以结束实验,集中精力解决问题。否则,您可以扩大实验规模,直到找到问题的症结所在。

混沌工程有什么好处?

那么,为什么会有公司故意弄坏东西呢?为了使系统更加稳健,暴露系统缺陷是必要的。混沌工程可帮助您避免中断和其他干扰。通过识别潜在的故障点,并在它们造成问题之前加以纠正,您就可以积极主动地防止中断。

此外,混沌工程还能为客户、企业和技术带来诸多益处。这样做的主要好处是让公司能够创造出更强大的产品,从而影响公司的底线并满足客户的期望。

混沌工程(又称复原力测试)可帮助企业遵守《数字运行复原力法案》(DORA),该法案旨在定期测试系统的复原力以评估漏洞。

混沌工程与测试有何不同?

混沌工程在几个关键方面不同于测试。混沌工程的重点是在出现问题之前找到潜在的故障点。而测试则侧重于验证系统是否按预期运行。简而言之,混乱工程是主动的,而测试是被动的。

混沌工程师通过引入和纠正受控故障,在这些故障可能对实时环境造成问题之前,防止出现故障和其他中断。这些受控故障有助于确定系统的哪些部分更有弹性,哪些部分需要更多的工作。测试只能在系统完成后才能验证其是否有效。

它与 OpenText Professional Performance Engineering 有何相似之处?

OpenText Professional Performance Engineering是一款主要针对特定类型性能工程的工具。使用 OpenText Professional Performance Engineering,您可以部署高级负载测试,模拟真实世界的使用条件,帮助您在问题出现之前识别潜在的负载性能问题。

但是,OpenText Professional Performance Engineering 不仅仅是一个在稳定环境中运行负载测试的性能工程工具,它还是一个将性能工程和混乱工程结合到一个平台中的工具。

OpenText Professional Performance Engineering 可直接与著名的故障即服务 (FaaS) 平台 Gremlin 协同工作,使您能够创建不同类型的混乱事件,如 CPU 峰值、网络延迟和磁盘故障。您可以直接在 OpenText Professional Performance Engineering 中轻松组织和 启动 Gremlin 混沌实验,并根据异常情况运行负载测试。

总体而言,OpenText Professional Performance Engineering 使您能够在不同类型的混乱事件中主动防止负载中断。该工具可在潜在故障点造成问题之前将其识别出来,从而帮助节省时间、金钱和宝贵的资源。

通过性能工程解决方案实施混沌工程

归根结底,混沌工程是任何成功软件项目的推动力。软件开发人员可以通过实施 "混沌工程 "来开展经得起时间考验的项目。

通过 OpenText 与GremlinSteadybit 的合作,OpenText 性能工程解决方案可以同时测试负载和不同混乱事件下的系统性能,使您能够找到潜在的故障点并主动纠正问题。

我们能提供什么帮助?

脚注