カオスエンジニアリング入門

本日読了。

良書。オライリー本よりもこちらの方がよくわかる。

  • カオスエンジニアリングの原則。影響範囲を局所化する、定常状態における振る舞いの仮説を立てる、実世界の事象は多様である、本番環境で検証を実行する、継続的に実行する検証の自動化。
  • モニタリングとオブザーバビリティ(可観測性)との違い。モニタリングは予測可能な障害に対してシステムの健全性を観察すること。オブザーバビリティは障害の有無に関係なくシステム全体の振る舞いを理解すること。お互い補完しあう関係。
  • オブザーバビリティの要素。ログ、メトリクス(一定間隔での時系列のデータの数値表現)、トレース(リクエストのエンドツーエンドのフロー)。
  • カオスエンジニアリングのツール。最近では、AWS Fault Injection SimulatorやAzure Chaos Studioといった、クラウド事業者が出しているツールも揃ってきた。OSSでは、CNDFがChaos Meshを認定している。本書では有償のGremlinの利用例を示す。
  • CI/CD、特にプログレッシブデリバリ(カナリアデプロイメントなど)と、カオスエンジニアリングは相性が良い。デプロイメントの中で一部本番になった環境で実験する。
  • セキュリティカオスエンジニアリング。擬似的に攻撃して、システムの挙動や運用対応を確認する。なお事前に攻撃が成功するとわかっている実験は、その対処をしておくべきで、実験するべきではない。※ レッドチームとの違いが不透明
  • 海外事例。Gremlin社のState of Choas Engineeringのレポートが秀逸。
  • 国内事例。Cookpad富士通JCBなど。
  • エンタープライズSoRでの利用(主として筆者論考)。
  • 人やプロセスに対して、カオスエンジニアリングを応用してSPoFや精度を確認する。