New Relicで実現するユーザーとエンジニアの「幸福」──PR TIMESのオブザーバビリティ改善への旅路とは?
【16-C-3】技術的負債との戦い! PR TIMESエンジニアチームのオブザーバビリティ改善ジャーニー
国内トップシェアのサービスリリース配信プラットフォームを提供するPR TIMES。しかし、サービス開始から10年以上経過した2018年頃には、古い自社製フレームワークのコードがコピペで増殖し、オンプレミスゆえの拡張性不足やエラー検知ができないなどの課題を抱えていた。そこで同社の開発本部インフラチームテックリードである櫻井慎也氏は、New Relicを中心とした改善に乗り出す。New Relic株式会社のテクニカルアカウントマネージャである小林良太郎氏の紹介の元、PR TIMESのオブザーバビリティ改善を探る旅路が始まった。
オブザーバビリティの成熟で改善できる、組織の5つの機能とは?
New Relicの小林氏は、自社サービスを「監視ツールと呼ばれがちだが、オブザーバビリティ・プラットフォームとして位置づけている」と紹介する。
オブザーバビリティとは、「システムの状態をリアルタイムで捉え、問題の有無にかかわらずその原因を調査し理解する能力」のことだ。この能力は誰もが持っており、その度合いや成熟度によってその有益性を評価してほしいと小林氏は述べる。
加えて、オブザーバビリティを効果的に活用することで、ユーザーとエンジニア、双方の幸福につながると語る。しかし、その概念は抽象的であるため、特に次の5つの機能が組織の中で強化されることで、幸福度が向上すると解説した。
- レジリエンスのある運用:障害からの迅速な復旧が実現し、システム運用の強化が見込まれる。そのためレジリエンスがあるシステム運用が可能になる。
- 高品質なコードのデリバリー:事前テストを通じて潜在的な障害点を特定できるため、高品質なコードのデリバリーが促進される。
- 複雑さと技術的負債の管理:オブザーバビリティツールを活用することで、運用期間が長くなるにつれて増加するシステムの複雑さや技術的負債の管理を容易にする。
- 予測可能な間隔でリリース:定期的かつ予測可能な間隔での機能リリースが可能になり、デリバリー頻度と生産性の向上が実現できる。
- ユーザーへの洞察:運用中のシステムを通じてユーザー行動の詳細が把握できるため、ユーザーに関する深い洞察が得られ、ビジネスへの貢献が期待できる。
小林氏は、「オブザーバビリティ能力が高い場合、これらの組織の5つの機能が強化され、システムに関わるユーザーと利用するエンドユーザー両方に良い結果が得られます」と述べた。
PR TIMESが直面した3つの課題、コピペコードで複雑化したシステムが抱える負債とは?
次に、PR TIMESの櫻井氏が、オブザーバビリティ向上によるシステム改善の取り組みを解説した。櫻井氏が入社した2018年当時のPR TIMESシステムは多くの課題を抱えており、特に「システムの一部を変更した際に予期せぬ箇所で不具合が発生してしまう」ことが大きな悩みであったと述べた。
課題は、大きく分けると3つあった。1つ目の課題は、コードが非常に多く複雑であった点だ。これは10年以上前に作成された独自のPHPフレームワークがコピー&ペーストによって増殖し、結果としてコード行数が増加、システムが複雑化したためである。
2つ目は、エラーやバグが発生しても、問い合わせがあるまで検知できない点だ。当時からNew Relicが導入されていたものの、エラー監視のアラート設定が適切ではなかったため突発的なエラーを即座に検知できなかった。
第3の課題は、レスポンスの遅延とデータベースの高負荷だ。フェイルオーバーが頻繁に発生し、データベースがオンプレミスであったために、クラウドのように容易にスケールアップできなかった。この課題は作業性にも関連し、ログの確認に各サーバーへSSHで直接アクセスする必要があるため非効率となっていた。
この記事は参考になりましたか?
- Developers Summit 2024 セッションレポート連載記事一覧
- この記事の著者
-
森 英信(モリ ヒデノブ)
就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:New Relic株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
