オブザーバビリティの成熟で改善できる、組織の5つの機能とは?
New Relicの小林氏は、自社サービスを「監視ツールと呼ばれがちだが、オブザーバビリティ・プラットフォームとして位置づけている」と紹介する。
オブザーバビリティとは、「システムの状態をリアルタイムで捉え、問題の有無にかかわらずその原因を調査し理解する能力」のことだ。この能力は誰もが持っており、その度合いや成熟度によってその有益性を評価してほしいと小林氏は述べる。
加えて、オブザーバビリティを効果的に活用することで、ユーザーとエンジニア、双方の幸福につながると語る。しかし、その概念は抽象的であるため、特に次の5つの機能が組織の中で強化されることで、幸福度が向上すると解説した。
- レジリエンスのある運用:障害からの迅速な復旧が実現し、システム運用の強化が見込まれる。そのためレジリエンスがあるシステム運用が可能になる。
- 高品質なコードのデリバリー:事前テストを通じて潜在的な障害点を特定できるため、高品質なコードのデリバリーが促進される。
- 複雑さと技術的負債の管理:オブザーバビリティツールを活用することで、運用期間が長くなるにつれて増加するシステムの複雑さや技術的負債の管理を容易にする。
- 予測可能な間隔でリリース:定期的かつ予測可能な間隔での機能リリースが可能になり、デリバリー頻度と生産性の向上が実現できる。
- ユーザーへの洞察:運用中のシステムを通じてユーザー行動の詳細が把握できるため、ユーザーに関する深い洞察が得られ、ビジネスへの貢献が期待できる。
小林氏は、「オブザーバビリティ能力が高い場合、これらの組織の5つの機能が強化され、システムに関わるユーザーと利用するエンドユーザー両方に良い結果が得られます」と述べた。
PR TIMESが直面した3つの課題、コピペコードで複雑化したシステムが抱える負債とは?
次に、PR TIMESの櫻井氏が、オブザーバビリティ向上によるシステム改善の取り組みを解説した。櫻井氏が入社した2018年当時のPR TIMESシステムは多くの課題を抱えており、特に「システムの一部を変更した際に予期せぬ箇所で不具合が発生してしまう」ことが大きな悩みであったと述べた。
課題は、大きく分けると3つあった。1つ目の課題は、コードが非常に多く複雑であった点だ。これは10年以上前に作成された独自のPHPフレームワークがコピー&ペーストによって増殖し、結果としてコード行数が増加、システムが複雑化したためである。
2つ目は、エラーやバグが発生しても、問い合わせがあるまで検知できない点だ。当時からNew Relicが導入されていたものの、エラー監視のアラート設定が適切ではなかったため突発的なエラーを即座に検知できなかった。
第3の課題は、レスポンスの遅延とデータベースの高負荷だ。フェイルオーバーが頻繁に発生し、データベースがオンプレミスであったために、クラウドのように容易にスケールアップできなかった。この課題は作業性にも関連し、ログの確認に各サーバーへSSHで直接アクセスする必要があるため非効率となっていた。