Gremlinは、コミュニティの調査と独自のプロダクトデータに基いたカオスエンジニアリングに関するレポートを、"State of Chaos Engineering 2021"としてリリースした。おもな調査結果のひとつは、カオスエンジニアリング試験の実施と可用性向上の間に正の相関関係があることだ。
NetflixがVMインスタンスをランダムにシャットダウンするChaos Monkeyの使用を発表して以来、カオスエンジニアリングは多数のツールやプラクティスの場として発展を続けてきた。Gremlinの今回のレポートは、400件以上の回答と、Gremlin独自のプロダクトデータに基いている。調査対象は小規模から超大手まで含まれているが、業界的には"ソフトウェアとサービスが中心"である、とレポートに注記されている。次に多い層は銀行および金融サービス(23.2パーセント)である。比較的新しいプラクティスであるにも関わらず、回答者の大半(60パーセント)が、少なくとも1回のカオスエンジニアリング攻撃を実施済である。
レポートで明らかになったことのひとつは、カオスエンジニアリング試験を実施しているチームにおいて、可用性の向上とMTTR(Mean Time to Resolution、平均解決時間)の間に正の相関関係があることだ。試験を頻繁に実行しているチームは、99.9パーセント以上の可用性を報告しており、23パーセントはMTTRが1時間未満、60パーセントは12時間未満である。最も多く実施されている試験はネットワーク攻撃で、回答者の34パーセントはカオスエンジニアリング試験を運用環境で実施している。
許可を得てレポートより転用
レポートによると、回答者のトップ20パーセントが"99.99パーセント以上"の可用性を持ってサービスを運用している。23パーセントのチームのMTTRは1時間未満、60パーセントが12時間未満である。回答者の81.4パーセントが、月あたり1~10件の重大なインシデントを経験しており、おもな原因はネットワーク障害(50パーセント)、内部的な依存関係(41パーセント)、コードデプロイメントの問題(39パーセント)、構成エラー(48パーセント)である。レポートには次のようにも記されている。
アドホック試験はプラクティスの重要な部分で、99.9パーセント以上の可用性を持つチームは、アドホック試験をより頻繁に実施しています。
調査対象となったチームは、サービス可用性を実現するために、さまざまなツールを使用している。その内容は、自動スケーリング(99.9パーセント以上の可用性を持つ回答者の65パーセント)、ロードバランサ(77パーセント)、Active-Activeサイト(38パーセント)、サーキットブレーカ(32パーセント)、バックアップ(61パーセント)、DNSフェールオーバ/Elastic IP(49パーセント)、デプロイメントコントロールによるロールアウト(51パーセント)などである。大部分のチームが複数のアプローチを使用しているため、これらの数字は相互に排他的でない点に注意が必要だ。成績のよいチームのほぼ70パーセントは、ヘルスチェックを備えたモニタリングを使用している。モニタリングと可観測性は、カオスエンジニアリングの重要な構成要素である。Honeycomb CEOのCharity Majors氏は、2019年のChaos Community Dayでの講演の中で、"可観測性がなければ、カオスエンジニアリングではなく、単なるカオスだ"、と述べている。
許可を得てレポートより転用
最も一般的なモニタリング方法は、レポートによれば"合成モニタリング(synthetic monitoring)を使用した合計時間の標準稼働時間"であるが、複数の方法やメトリクスを使用している組織が多い。その中にはエラー率、レイテンシ、履歴データに対して測定されたトランザクションパターンの変化、要求の成功率といったものが含まれる。可用性レポートはおもにOpsチーム(61.4パーセント)やDevチーム(54.5パーセント)が受け取っているが、CTO(33.7パーセント)やVPレベル(30.2パーセント)といった幹部の場合もある。同じ程度の割合で、パフォーマンスに関するレポートも受け取っている。
カオスエンジニアリングの採用パターンとしては、"回答者の50パーセント近くが従業員1,000人以上の企業で働いている"。攻撃を実施した経験のない小規模な組織(従業員100人未満)が54パーセントであるのに対して、大組織(従業員1,000人以上)では34.5パーセントである。この数字は、組織の規模が大きくなるにつれて変化している。さらにレポートからは、試験の実施に最も関与しているのがSREとアプリケーション開発者であり、プラットフォームチームがその次であることも明らかになっている。カオスエンジニアリング採用に対する障害としては、認識の欠如、経験不足、他の優先順位がトップ3に挙げられている。
調査回答者の間では、CI/CDの利用、コンテナ化、クラウドデプロイメントが運用ワークロードの多くの部分を占めている。ワークロード中の38パーセントはAWSに、11~12パーセントはGCPとAzureにデプロイされている。この結果は、最も多くのユーザが選択している監視ツールがAmazon CloudWatch(20パーセント)であることにも影響しているが、一方でGrafanaやPrometheus(いずれも18パーセント)の利用者も多い。AWSが昨年、カオスエンジニアリング・アズ・ア・サービスを発表したことも注目すべき点だ。カオスエンジニアリング用ツールとしては、Gremlin、Chaos Mesh、NetflixのChaos Monkey、Litmus、Chaos Bladeなど、有償のものと無償のものがある。
レポートはオンラインで公開されている(閲覧には登録が必要)。