TL;DR
- オブザーバビリティを高めると、アプリケーションを再デプロイせずに、いま何が起きているかを把握できる。
- 必要な指標は誰でも見られるので、障害対応が熟練者に偏らない。マイクロサービスのような複雑な分散システムも観測できる。
内容
いま何が起きているかをすぐに把握できる
オブザーバビリティを高めると、アプリケーションを再デプロイしなくても、いま何が起きているかを把握できる。障害が起きたときの初動で、適切な情報をもとにすばやく問題を特定し、デバッグや修正ができる。その結果、サービスの信頼性が上がる。ビジネスの面でも、信頼できるサービスを提供すればユーザが他のサービスに流れるのを防げ、収益を継続して上げられる。
従来は、どうしても足りない情報が出てきた。そのたびに、障害の性質や原因の見当に応じてログを仕込むなどコードを書き換え、アプリケーションを再デプロイして確かめる必要があった。
指標は誰でも見られる
オブザーバビリティを高めるのに必要な指標は、誰でも見られる。そのため、新しく加わったエンジニアでもアプリケーションの現状を把握でき、デバッグや障害対応ができる。
従来は、どこにログを仕込むか、どのメトリクスを見るかといった判断が経験に頼っていた。デバッグや障害対応は、チームの熟練したエンジニアほど得意で、業務が属人化しがちだった。
複雑なシステムでも観測できる
マイクロサービスのような高度な分散システムでも、状態を観測できる。従来の逐次的に出力されるログだけでは不十分である。あるサービスでログが 1 つ出ていても、それがどの処理の後に、あるいはどのサービスを通った後に出たものかを追うのが難しい。