OpenTextのホームページ。
技術トピックス

カオスエンジニアリングとは何か?

電球を中心としたITアイテムの図解

概要

プロジェクトマネージャー、開発者、チームリーダーに聞いてみてほしい。不具合、サイバー攻撃、システム停止など、ソフトウェア開発ライフサイクルの間には、いくつかの問題が発生する可能性がある。予期せぬ失敗は必ず起こり、プロセス全体を混乱させ、結果を制限し、重要な資源を浪費する。

カオス・エンジニアリング

カオス工学は、このような失敗がどのように起こりうるかを研究し、それを回避するための方法論を提供する学問である。故障の根本的な原因を理解することで、カオス・エンジニアは故障を防止または軽減するための計画を立てることができる。

カオスエンジニアリングとは、カオスを作り出すことではなく、制御された実験を用いて、問題を引き起こす前にシステムの潜在的な障害点を特定することなのだ。そうすることで、カオスのエンジニアは、停電やその他の混乱を未然に防ぐことができる。

カオス・エンジニアリングとは何か?

カオスエンジニアリングとは、システムに意図的に障害を注入し、その回復力をテストすることである。その目的は、潜在的な障害点を特定し、それが実際の停電やその他の障害を引き起こす前に修正することである。

システムにカオスを起こす方法はたくさんあるが、最も重要なのは計画を持つことだ。計画がなければ、解決するよりも多くの問題を引き起こすのは簡単だ。計画を立てる際には、何をどのようにテストするかを決める必要がある。プランが決まれば、実験を始めることができる。

ソフトウェア開発者は、OpenText™ Professional Performance Engineering、 OpenText™ Enterprise Performance Engineering、またはOpenText™ Core Performance Engineering を使用して、カオスエンジニアリングをワークフローに簡単に導入できます。これらのソリューションは、パフォーマンス負荷テストを活用するだけでなく、ソフトウェア内で直接、他のカオスエンジニアリング実験を簡単に実行できる。

管理された非生産環境でこれらのイベントを作成することにより、システムがどのように反応するかをテストし、潜在的な問題を特定することができます。

潜在的な障害ポイントを特定したら、その軽減に取りかかることができる。これには、問題が発生したときにそれを特定するのに役立つモニタリングやロギングを追加したり、より障害に強くなるように設計を変更したりすることが含まれるかもしれない。

カオス工学の原理とは?

カオス工学の原理とは

  • 計画を立てる:何をどのようにテストするかを決める。ここでの目標は仮説を立てることだ。システムの何が問題なのか?悪用される可能性のある脆弱性にはどのようなものがあるか?
  • 実験する:システムに欠陥を注入し、その反応を見る。フォールト・インジェクションとは、簡単に言えば、既存のシステムに問題を導入して脆弱性を暴くことである。それは本質的に、何が起こるかを見るために、意図的にシステムに "レンチを投げる "習慣である。
  • 分析する:実験から得られたデータを使って、潜在的な故障箇所を特定する。
  • 軽減する:問題が見つかった場合は、実験を終了して、その問題の軽減に集中することができる。そうでなければ、問題の核心に達するまで実験の規模を拡大することができる。

カオスエンジニアリングの利点は?

では、なぜ企業はわざと物を壊すのだろうか?システムの欠陥を明らかにすることは、それをより強固なものにするために必要なことだ。カオスエンジニアリングは、停電やその他の混乱を回避するのに役立つ。潜在的な障害箇所を特定し、問題を引き起こす前に修正することで、障害を未然に防ぐことができます。

さらに、カオス・エンジニアリングは、顧客、ビジネス、技術面でいくつかのメリットをもたらす。主な利点は、企業が収益に影響を与え、顧客の期待に応えるより強力な製品を作ることができるようになることだ。

カオスエンジニアリングは、回復力テストとしても知られ、システムの回復力を定期的にテストして脆弱性を評価することを目的としたデジタル・オペレーショナル・レジリエンス法(DORA)に企業が準拠するのに役立ちます。

カオスエンジニアリングはテストとどう違うのですか?

カオスエンジニアリングは、いくつかの重要な点でテストとは異なる。カオス・エンジニアリングは、潜在的な故障箇所が問題を引き起こす前に発見することに重点を置いている。一方、テストはシステムが期待通りに動くかどうかを検証することに重点を置く。要するに、カオスエンジニアリングはプロアクティブであり、テストはリアクティブなのである。

カオス・エンジニアは、実稼働環境で問題が発生する前に、管理された障害を導入し修正することで、停電やその他の混乱を防ぐことに取り組んでいる。これらの管理された失敗は、システムのどの部分がより回復力があり、どの部分にさらなる作業が必要かを特定するのに役立つ。テストができるのは、システムが完成した後だけだ。

OpenText Professional Performance Engineeringとの類似点は?

OpenText Professional Performance Engineeringは、主に特定のタイプのパフォーマンスエンジニアリングに特化したツールです。OpenText Professional Performance Engineering を使用すれば、実際の使用状況をシミュレートする高度な負荷テストを導入することができ、潜在的な負荷パフォーマンスの問題を問題が発生する前に特定することができます。

しかし、OpenText Professional Performance Engineeringは、単に安定した環境で負荷テストを実行するパフォーマンスエンジニアリングツールではなく、パフォーマンスエンジニアリングとカオスエンジニアリングの両方を1つのプラットフォームに統合したツールです。

OpenText Professional Performance Engineeringは、有名なFaaS(Failure-as-a-Service)プラットフォームである Gremlinと直接連携し、CPUスパイク、ネットワーク遅延、ディスク障害など、さまざまな種類のカオスイベントを作成できます。OpenText Professional Performance Engineering内で直接、 Gremlinカオス実験を 簡単に整理して 開始し 、異常な条件に基づいて負荷テストを実行できます。

全体として、OpenText Professional Performance Engineeringは、さまざまなタイプのカオスイベント時の負荷の中断をプロアクティブに防止することができます。問題を引き起こす前に潜在的な故障箇所を特定することで、このツールは時間、費用、貴重なリソースの節約に役立つ。

カオス・エンジニアリングをパフォーマンス・エンジニアリング・ソリューションで実践する

結局のところ、カオス・エンジニアリングこそが、成功するソフトウェア・プロジェクトの原動力なのだ。ソフトウェア開発者は、時の試練に耐えるプロジェクトを遂行するために、カオスエンジニアリングを導入することができる。

OpenTextの パフォーマンスエンジニアリングソリューションは 、 Gremlin および Steadybitとの パートナーシップを通じて、負荷がかかったシステムのパフォーマンスとさまざまなカオスイベントを同時にテストすることができます。

脚注