勘と経験でなくデータに基づくOps時代に!
今回は、情報システム部門の重要なミッションの1つ「インシデント対応」について、考えてみたいと思います。
このテーマについて、DIG2ネクスト代表の鈴木寿夫に水を向けたところ、まず次のような言葉が返ってきました。
「インシデント対応では、『MTTD(Mean Time To Detect)』という指標が着目されることがあります。これは日本語で『平均検出時間』を意味する言葉。つまり、インシデントをできるだけ早く検出する能力が重要視されているのです」
インシデントを早く検知すれば、それだけ初動が早くなります。ですから多くの組織では、検知時間を短縮するために監視(モニタリング)の仕組みを導入しています。それによって、MTRS(Mean Time Restore Service、平均サービス回復時間)を短くすることも可能となります。
しかし、これまでの監視(モニタリング)は“想定される(想定可能な)障害、つまり「既知の未知」の事象”に対して、“適切と考えられる”しきい値を設定することで、アラートを検出することに基づいています。
これは、頻繫かつ動的(ダイナミック)に構成が変更される、複雑化した現在のシステムにおける”想定されない予想できないような障害、つまり「未知の未知」の事象“に対しては、従来の監視(モニタリング)では太刀打ちできない…ということでもあります。
かつては「『明日の13時にシステムが障害でダウンしますよ』という風に、インシデントの発生が予知できる超能力者が、情報システム部門に最も必要な人材」などという冗談が囁かれたものです。
しかし、障害発生を予知し、先回りして対策を講じるなんてことが、本当に可能なのでしょうか?
監視(モニタリング)とオブザーバブル(観測可能)なシステムの相互補完
「構造化ログや構造化イベントなどのテレメトリーデータを収集することで、インシデントの予測や本番環境におけるユーザー体験を低下させるようなエンドツーエンドのパフォーマンス低下をトレース(追跡)し、オブザーバブル(観測可能)にできるようになっています。そして現在の複雑化したソフトウェアシステムでは、各連携システムの出力を調査し、システム内部の状態を測定する『オブザーバビリティ(可観測性)』に着目することが、とても重要になってきています」(鈴木)
このオブザーバビリティの発想は、数学的な原理を用いた制御理論やシステム工学を、ソフトウェア工学に応用したもの。オブザーバブル(観測可能)にしたソフトウェアシステムの挙動をリアルタイムでデバッグすることで、複雑なシステムをコントローラブル(制御可能)にします。
もはや複雑化したソフトウェアシステムは、検証環境で完璧にテストすることは不可能なため、本番環境でデバッグすることが求められます。そして、本番環境のインフラストラクチャシステムに対する監視(モニタリング)によって収集されたメトリクスは、ソフトウェアシステムに対するテレメトリーと相関され、オブザーバビリティを実現する一部として補完されるようになります。
また、この監視(モニタリング)によるメトリクスや構造化ログなどのテレメトリーデータをデータレイクに蓄積して、予測モデルを作成可能なようにAIを訓練できれば、AIによるプロアクティブ(予防的)な予測や自動制御が実現するため、AIOpsへと発展させることもできるようになります。
データに基づく科学的な対応による効果とは
システムを科学的に理解するために従うべき方法論は、物事を知る上での最初の基礎でもある「何も決めつけない」という観察に基づくことです。
組織のオブザーバビリティの成熟度が高くなれば、これまでは一部の上級エンジニアにしかできなかった(つまり、スケールできない)インシデント対応から、再現可能で検証可能な(つまり、スケールできる)インシデント対応に変えることができます。
このようにシステムを熟知しなくても、観察によるデータに基づく科学的な対応ができるようになることが、オブザーバビリティの核となるのです。