技术主题

什么是混沌工程?

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

概述

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

混沌工程

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

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

混沌工程究竟是什么?

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

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

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

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

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

什么是混沌工程原理?


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

混沌工程有什么好处?

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

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

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

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

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

混沌工程与OpenText LoadRunner Professional

LoadRunner Professional 是一种主要侧重于特定类型性能工程的工具。使用LoadRunner Professional ,您可以部署高级负载测试,模拟真实世界的使用条件,从而帮助您在出现问题之前发现潜在的负载性能问题。

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

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

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

用以下方法实施混沌工程OpenText LoadRunner Professional

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

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

我们能提供什么帮助?

脚注