I&Oリーダーのためのカオスエンジニアリング入門:Gartner Insights Pickup(170)
「カオスエンジニアリング」は、日本ではまだ聞きなれない言葉だ。だが、システムの信頼性を受け身でない形で確保し、DevOpsによるビジネスの俊敏性向上につなげるために、組織として取り組む必要がある。
ガートナーの米国本社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。
ピンボールマシンのゲーマーは、同じゲームを二度とすることはない。ピンボールマシンが予測不可能なように、一貫した信頼性の高いインフラシステムを確保する取り組みにおいて直面するカオスも、全く予測がつかない。
「カオスエンジニアリング」の定義
カオスエンジニアリングは、破壊的な影響を与える可能性がある実践的な障害テストを利用して、複雑なシステムの脆弱(ぜいじゃく)性や弱点を発見することを目指す手法だ。インフラシステムのステージング環境を対象に、「テストファースト」のアプローチによって体系的に計画、文書化、実行、分析される。
デジタルソリューションには多くの依存関係が含まれる。企業内に存在するプラットフォームが多様だからだ。システムの複雑さは、事前に対処することが急速に難しくなっている。特に、インフラが“どこでも”利用できるようになったことが、それに拍車を掛けている。
「カオスエンジニアリングの考え方に対する多くの企業の認識は、『本番環境に適用するのは危険過ぎる』というところで止まっている。だが、実際には、カオスエンジニアリングを避けて通るのは、成り行き任せで危機に対処するのと同じだ」と、Gartnerのシニアプリンシパルアナリストの、ジム・シャイブメア(Jim Scheibmeir)氏は語る。
名前に反して、カオスエンジニアリングは、5つの重要なメリットを実現する実証的なアプローチを提供する。
- 技術的負債を可視化する
- 導入されたシステムへの信頼に加え、そうしたシステムに貢献するチーム間での信頼関係も構築する
- テスト可能な統合と潜在的な障害点を特定し、作成する
- 障害テストに基づく学習を可能にする
- システムの信頼性とレジリエンス(回復力)を高め、ダウンタイムを低減する
ITリーダーの優先課題への取り組みを支援するカオスエンジニアリング
2019年には、CIOの優先課題の上位3つはデジタルへの取り組み、売上高/ビジネスの成長、オペレーショナルエクセレンスだった。これらの優先課題は、インフラシステムの信頼性が十分に高くなければ達成できない。
「企業がデジタルへの取り組みのスケーリング(規模拡大)を優先的に進めていけば、デジタルソリューションがもたらす厄介な依存関係や複雑さは、見過ごせないものになる」と、シャイブメア氏は指摘する。
「プロアクティブに信頼性を確保することを怠るI&O(Infrastructure & Operations)チームは、カオスに直面して対応するしかなくなる。それは基本的に、システムダウンタイムを受け入れるのと同じことだ」(シャイブメア氏)
カオスエンジニアリングは、通常のチームオペレーションの一部として組み込む必要がある。そのためには、スタッフに経験を積ませ、それを踏まえてカオスに備える計画を作成してビジネス部門と共有し、協力して障害テストを重ね、計画を継続的に改善していく。
カオスエンジニアリングがDevOpsの主要目標達成に貢献
現状では、オペレーションを通じてシステムの信頼性を高めようとする取り組みは、インシデント管理やサービス復旧に重点を置いた受け身のプロセスに偏っている。カオスエンジニアリングを利用すれば、企業はシステムのダウンタイムや中断のリスクをプロアクティブに管理、軽減できる。
これにより、ITリーダーはDevOpsの主要目標を達成できる。その中には、アジリティやリリース品質、システムの信頼性の向上などが含まれる。カオスエンジニアリングの結果としてダウンタイムの頻度が少なくなれば、計画に基づくインフラ施策のための時間もよりスムーズに確保できるようになる。
2023年までに、40%の組織がDevOpsの取り組みの一環としてカオスエンジニアリングを実践し、計画外ダウンタイムが20%減少するだろうとGartnerは予想している。
カオスエンジニアリングを始めるには
システムに求められる信頼性を実現する方法として、カオスエンジニアリングを使うことへの不安を乗り越えなければならない。カオスエンジニアリングは、まずステージング環境で実践し始めることで、安全に実践できる。これにより、組織的な学習や信頼性の向上、システムの複雑な依存関係の詳細な把握が可能になる。
Gartnerは、カオスエンジニアリングの導入を進めるに当たり、以下の方策を取ることを勧めている。
- カオスエンジニアリングプラクティスをプロダクトチームの通常業務として周知し、その取り組みが自社のコンピテンシーにつながると社内に宣伝する
- ユーザーの操作による一連の流れ、ユーザーエクスペリエンス、ダウンタイムの原因を理解することにチームを集中させ、システムの信頼性向上と障害の最小化につなげる
- ステージング環境で“テストファースト”アプローチにより、カオスエンジニアリングを安全に実行することをチームに徹底させる
- 障害を発見するためのツールとプラクティスを活用し、あらゆるものに攻撃を仕掛けるようチームに促す
出典:The I&O Leader’s Guide to Chaos Engineering(Smarter with Gartner)
筆者 Katie Costello
Manager, Public Relations
Copyright © ITmedia, Inc. All Rights Reserved.