NRIデジタル|性能問題の原因特定を劇的スピードアップ。アプリケーション開発チームによるオブザーバビリティ活用促進

Business Challenge
NRIデジタル様 集合写真

利用用途

DevOps体制のもと、開発チームがアプリケーション性能問題の原因を自ら特定し、対処・対応していくためNew Relic APMを活用。アプリケーションリリース前の統合テストにもオブザーバビリティを取り込む。

New Relicの選定理由と成果

  • アプリケーションの状況を直感的に可視化し、性能問題の原因特定が容易に
  • アプリケーション開発チームにとって扱いやすく導入の敷居が低い
  • 開発チームによる性能問題の自己解決で問題原因特定の時間を劇的に短縮

利用機能

  • New Relic APM
  • New Relic Dashboards

 

 

NRIデジタル株式会社(以下、NRIデジタル)は、株式会社野村総合研究所(NRI)のグループ企業として2016年に創設された。小売、製造、流通、物流、輸送など、さまざまな業種・業態の企業に向けて、デジタル化戦略の策定支援から、先端ITソリューションの選定・構築、事業の運営支援、プロジェクト全体の検証・改善に至るまでのサービスを包括的に提供している。

同社の特色の一つは、ビジネスモデルを設計するビジネスデザイナーやアプリケーションデベロッパー、プラットフォームアーキテクトなど、さまざまな専門性を有するスペシャリストが一体となって顧客企業のDXをスピーディに支援していくことだ。この特色について、同社のDX開発ディレクターとしてDXエンジニアリング3部門のリードアーキテクトを務める阿部氏は次のような説明を加える。

「当社の事業領域であるデジタル、あるいはインターネットの世界は市場・技術・ビジネスのトレンドが猛スピードで変化します。そうした変化を、お客さまのさらなるビジネス成長・発展の好機へと転換するのが当社の役割です。その役割をしっかりと担うべく、先端のデジタル技術によるお客さまの業務変革、ビジネス変革、そして新事業の立ち上げを、スピード感をもって支援・実現していくことに力を注いでいます」

NRIデジタル 阿部様

DX開発ディレクター DXエンジニアリング3 リードアーキテクト 阿部 昌平氏

顧客企業のDXを支援するスピードを維持・向上するうえでは、アプリケーション開発の生産性と品質を高いレベルで確保することが欠かせない。阿部氏が所属する部門(DXエンジニアリング3)は、そのためのインフラを高度化することに取り組んでいる。

「今日では、アプリケーションをスピーディに、かつ高い品質で作り上げるための優れた技術が数多くあります。それらを最適なかたちで組み合わせて社内のプロジェクトへの導入を推し進め、開発と運用のプロセスを標準化・効率化・自動化して、お客さまにとっての当社の価値を高めていくことが私たちのミッションです」(阿部氏)

そのミッション遂行の手段として2022年9月から活用を始動させているのが、オブザーバビリティプラットフォームNew RelicのAPM(Application Performance Monitoring)である。

 

障害を未然に防ぐためオブザーバビリティを検討

NRIデジタルでは、システム運用管理のツールとして監視やジョブスケジューリング、マルチクラウド管理、運用自動化などの機能を備えたNRIの「Senju/DC」を使用し、インフラの安定稼働を確保している。ただし、アプリケーションの性能を監視・観測(オブザーブ)し、性能問題を速やかに検知したり、その原因を特定したりするためのツールは持っていなかった。結果として、問題原因の特定に時間を要していたという。

「これまでは、性能問題の発生時にまずはインフラ担当チーム(以下、インフラチーム)のエンジニア(以下、インフラエンジニア)が調査を行い、例えば、特定のデータベースへの過負荷があることなどを突き止めていました。それをもとにアプリケーション開発者が過負荷を引き起こしているビジネスロジック上の問題を手作業で探し当てるといったフローで問題原因を特定していたわけです。そのため、問題原因の特定に相当の時間を要するのが通常でした。また、アプリケーションのビジネスロジックをくまなくチェックし、問題原因を突き止めるのには高い技術スキルが必要です。ゆえに、性能問題が発生するたびに、いわゆる“腕利き”の開発者に調査負担が集中してしまうという問題もあったのです」(阿部氏)

さらに、アプリケーションに対する監視の目が行き届かず、性能の低下を見過ごしてしまい、それが目に見える障害となっていきなり顕在化することも間々あったようだ。

「当社が開発・運用するアプリケーションは、お客さまのシステムであり、その性能問題はお客さまのビジネスに負の影響を与えるものです。ですので、性能問題は可能な限り速やかに対処・対応すべきですし、理想は、障害の兆候を早期にとらえて発生を未然に防ぐことです。オブザーバビリティを実現する今日のAPM製品ならば、そうした性能監視と管理が可能になるとの確信が持てたことが、New Relicの導入につながりました」(阿部氏)

 

開発チームによる扱いやすさを評価しNew Relicを選択

 

NRIデジタルがAPMの導入を検討し始めたのは2019年ごろのこと。以降、数々のAPM製品について調べ上げ、比較検討の土俵に上げた。その中で、New Relic を選択した理由について、阿部氏はまず「コストパフォーマンスの良さ」と「導入の容易さ」の2点を挙げる。

New Relicは業界を代表するオブザーバビリティプラットフォームであり、デジタルサービスにおけるあらゆる重要指標の「観測」を可能にする。アプリケーション、インフラ、ユーザー体験の観測を通して、障害やサービスレベルの低下、潜在的な問題・ボトルネックを可視化する機能は業界随一との評価を得ている。

「プロジェクトマネージャーの中には、APMの必要性について疑問を呈する人もいました。そのため、導入の敷居が低いことが重要な要件となり、New Relicの優れたコストパフォーマンスには大きな意義がありました。また、New Relicの場合、アプリケーションのソースコードにフラグの追加といった変更を加えずに監視が行えます。その点でも、導入の敷居が低かったといえます」(阿部氏)

加えて阿部氏には、アプリケーションのオブザーバビリティを実現することで、アプリケーション開発チームが独力で性能問題の原因を特定し、解決を図れるようにしたいとの考えがあった。その考えを実現するうえではアプリケーション開発者にとって使いやすい製品であることが必須であり、New Relic はその要件も満たしていたと阿部氏は明かす。

「New Relicによるオブザーバビリティを実現した場合、性能問題の発生時にアプリケーション開発者が気になる情報や確認したい情報が網羅的に、かつわかりやすく可視化できます。New Relicを使えば、インフラチームの手を借りることなく、アプリケーション開発チームが独力で問題調査を行い、解決が図れるようになると判断しました」(阿部氏)

こうしたNew Relicの利便性について、DXエンジニアリング3部門のシニアテクニカルエンジニアの徐 家興氏は次のような説明を加える。

「New Relicでは、ダッシュボード(New Relic Dashboards)を通じて、アプリケーションのさまざまな状況がつぶさにとらえられます。加えて私は、New Relicのデプロイメントをマーキングする機能『デプロイメントマーカー』を高く評価しています。この機能を使うことで新しいコードをデプロイする際に、それがアプリケーションの性能にどのような影響を与えるかを即座に確認できます。また、デプロイメントのダッシュボードを使えば、過去のデプロイ履歴が確認でき、どのデプロイがアプリケーションの性能にどのような影響を与えたかが簡単に調べられます。加えて、分散トレーシングによって、どのAPIコールにどれだけの時間を要したのか、なぜ、それだけの時間がかかったのかなどもすぐに確認できます。こうした機能は、アプリケーション開発者にとって非常に便利なはずです」

NRIデジタル 徐様

DXエンジニアリング3  シニアテクニカルエンジニア 徐 家興氏

開発チーム独力での問題解決が活発化
問題原因特定の時間が劇的に短縮

New Relicの導入以降、阿部氏は各プロジェクトチームでの活用を推進した。その際、阿部氏が意図したのは、アプリケーション開発の標準基盤内にNew Relicによる性能テストを取り込むことと、性能問題の調査・対応を開発チームがすべて独力で行う文化を醸成し、開発段階からオブザーバビリティを実現することだ。

この狙いにもとづき、同氏はNew Relicを採用したプロジェクトチームに対し、アプリケーションをリリースする直前の「総合テスト」の段階でNew Relicによる性能テストを行うよう呼びかけた。併せて性能問題を深掘りするチームを開発チーム内に組織し、性能問題の自己解決を図るよう要請した。

この施策によって、アプリケーション開発チームが早いペースでNew Relicの扱いに慣れていき、開発チーム内で性能問題の調査から原因の特定、さらには問題解決に至るまでのサイクルが回り始めているという。このようにオブザーバビリティのソリューション活用が開発チームに定着し始めた結果、問題原因を特定する時間も劇的に短くなりつつあると、阿部氏は明かす。

「とあるアプリケーション開発チームがNew Relicを使い、独力で性能問題の解決に臨んだところ、以前なら数時間は要していたような問題原因の特定が10分で完了したという例があります。今後、アプリケーション開発チームによる独力での調査が社内に広く浸透していけば、問題原因を特定する時間はどんどん短くなっていくでしょう。これにより問題解決のスピードが増し、お客様ビジネスへの影響を最小限に抑えるという運用品質の向上が期待できます。加えて、当社の場合、各プロジェクトチームがDevOpsの体制を敷いています。New Relicによって、運用を担当するインフラチームの業務負担が軽くなれば、運用の人的リソースを他の業務に振り向け、チームの生産性を一層高めることが可能になるかもしれません」(阿部氏)

一方で、New Relicのダッシュボードを介してアプリケーション開発者とインフラエンジニアが同じ目線で対話できるようにもなっている。これにより、性能問題の解決策がより洗練される可能性が大きいと阿部氏は指摘する。

「性能問題が生じた際に、アクセス量・注文数やリソースの使用量など、ビジネス目的を達成している度合いとそのためのコストの状況が New Relicのダッシュボードで一目瞭然に分かります。ダッシュボードを介してアプリケーション開発者とインフラエンジニアが対話することで、データベースへの過負荷を生んでいる処理が本当に必要かどうかにまで踏み込んだ検討が行われるようになります。これによって、より適切な解決策が打てるようになるはずです」(阿部氏)

障害予兆の検知でシステムの可用性を高め
顧客のビジネス価値向上にさらなる貢献を

阿部氏は今後、New Relicを障害予兆の検知や障害の予測に役立てていくことを構想している。

それに向けた一手として、阿部氏はアプリケーションの総合テストだけではなく、より前段階の結合テスト(アプリケーション部品の結合テスト)にもNew Relicによる性能テストを取り入れることを計画している。これにより、アプリケーションが性能問題を引き起こす可能性を開発のより早い段階で、かつ部品単位で測れるようになると阿部氏は語り、こうも続ける。

「アプリケーションのオブザーバビリティを強化し、性能問題を早期に発見したり、障害予兆を高精度に検知したりすることが可能になれば、システムの可用性が高まり、お客さまにとっての当社の価値をさらに向上させることができるでしょう。障害予兆の検知や問題発生を可能な限りに早期に発見する取り組みにはこれからも力を注いでいきます」

この取り組みと並行して、New Relicによる監視・可視化の対象を、アプリケーションを使う“ユーザー体験”へと押し広げていくことも視野に入れている。

「ここでいう“ユーザー体験”の可視化とは、お客さまのお客さまがアプリケーションを心地良く使えているかどうかを確認できるようにするということです。その体験を可視化し、心地良さを維持することができれば、お客様の事業の競争力を支え続けることが可能になります。そしてNew Relicによるオブザーバビリティ実践で、それが必ず実現できると見ています」(阿部氏)

こうした構想の実現に向けて、阿部氏はさらに多くのプロジェクトへのNew Relicの適用を推進すると同時に、New Relicの活用ノウハウ、知見を蓄積し、洗練させていくという。また、それにもとづきながら標準基盤でのAPM活用の標準プロセスを確立し、“腕利き”のエンジニアでなくとも、アプリケーションの性能を高いレベルで維持できる環境を築いていきたいとしている。

「そうした想いを叶えるためにも、New Relicのサポートに期待をかけています。New Relicのサポートは秀逸で、こちらの問い合わせに対するレスポンスのスピードは驚くべきものです。開発標準プロセスでのAPMの取り組みをバックアップしていただきたいと願っています」(阿部氏)