SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 Summer セッションレポート(AD)

オブザーバビリティをNew Relicで実現──年間連結決済処理金額13兆円超、決済のサービスレベルを維持する

【C-2】年間連結決済処理金額13兆円超 決済のサービスレベルを維持する方法

  • X ポスト
  • このエントリーをはてなブックマークに追加

New Relicの具体的な活用例

 具体的にNew Relicのどの機能を活用し、先の目標の達成を目指したのか。マルペイの第一の課題は「APIのレスポンス遅延をリアルタイムで把握すること」と中川氏。この課題を解決するために活用したのが、New Relic APM(以下、APM)だ。

 APMはアプリケーションの性能を可視化してモニタリングする機能である。APMの第一の特徴は導入が非常に簡単なこと。「当社ではJavaで開発しているが、一般的なフレームワークを利用していれば、仮想マシン(VM)引数にAPM Agentのパスを指定するだけで、すぐモニタリングを開始することができます」(中川氏)

 第二の特徴は、アプリケーションへの性能影響を感じないこと。例えば、メモリの枯渇などによりアプリケーションの性能に影響が出た場合など、万が一の時はサーキットブレーカーの機能を搭載しており、自動的に機能が停止される。現在、決済事業者への通信はAPMを使って稼働状況を監視している。「アプリ単位でエラー率や原因がわかるため、障害調査の時間短縮が実現しました」(中川氏)

 また、APMは開発時にも効果を発揮しているという。性能試験を実施したところ、他のAPIよりレスポンスが速いはずのAPIの処理に時間がかかっていることがあった。そこで細かい処理時間をAPMで見ると、新規テーブルのセレクトに時間がかかっており、インデックスの追加が漏れていることが判明した。

 「今まで原因究明しようとすると、ログの確認やインフラ担当に詳細を確認してもらうなど時間がかかっていましたが、今はAPMにより可視化されたので、数分で解決することができます」(中川氏)

 また、APMならエンドポイント単位でレイテンシ、エラー率、スループットなどが分かることに加え、JavaやDBアクセス、外部通信などがレイテンシに占める割合も見られるのだ。

 第二の課題は、アプリケーション到達までのネットワークの監視をすること。この課題については、New Relic Synthetics(以下、Synthetics)を活用して解決。Syntheticsは、外部ネットワークからモニタリングする外形監視機能である。世界の複数のロケーションからモニタリング可能で、pingを使った単純な監視であれば追加料金もなし、スクリプトベースの複雑な監視も可能な特徴を持つ。「APMとSyntheticsを組み合わせてモニタリングすることで、問題発生時の調査スピードが向上しました」(中川氏)

 第三の課題は、運用に沿って可視化すること。この課題への対応は、New Relic Dashboard(以下、Dashboard)を活用して実現した。DashboardはAPMやSyntheticsなどで取得したテレメトリーデータを可視化するための機能である。「当社では主要なAPIのレイテンシ、スループット、エラーレートなどをDashboardで可視化しています」と中川氏は言う。Dashboardは無料のベーシックユーザーでも利用可能。「ライセンスの都合でAPMを使えないエンジニアや営業担当はDashboardを見てもらっている」と中川氏は続ける。

 第四の課題は、検知したものを通知すること。この課題についてはNew Relic Alert(以下、Alert)で対応。Alertは名前からも分かるとおり、APMやSyntheticsなどで取得したテレメトリーデータをもとにアラート設定するための機能だ。特徴は柔軟なアラート設定が可能なこと。エラーだけではなく、遅延の検知もできる。特定APIで○○秒以上の遅延が何分続いたら通知など、閾値オーバーの状態がある程度継続したら、通知することも可能。

 さらにAPMでは、特定APIで何件以上のエラーが何分続いたら通知、Syntheticsでは外形監視でエラーが発生したら通知するなどの設定ができる。「できるだけノイズを除いた形で必要なアラートだけ通知することができるので非常に便利です」と中川氏は説明する。その上、アラート先も複数用意。「当社ではWebhookを使ってMicrosoft TeamsやOpsGenie(オンコール管理)に連携しています」(中川氏)

 中川氏はさらなる具体的な活用事例も紹介。その一つが加盟店との稼働状況の即時共有である。障害を検知した場合、GMOペイメントゲートウェイのほうである程度調査を行い、加盟店にメールで連絡するという方法を採用しているが、ある程度時間がかかっていたという。またレイテンシの悪化など、サービス提供できているケースについては、連絡しないようにしていた。

 その一方で加盟店からは、「何か起きているかだけでもリアルタイムに知りたい」という要望があった。そこでAlertをお客さまにわかりやすい形で提供する方法を検討した。その結果、New Relic、AWS、Statuspageを組み合わせることでリアルタイムでの通知を実現した。ちなみにStatuspageは、アトラシアンが提供するインシデントコミュニケーションツールである。「New Relicの柔軟なアラート設定やWebhook通知により、約1カ月という短期間で構築することができました」(中川氏)

 もう一つの事例が、トランザクションの細分化である。外部通信処理の状況を確認する場合、ドメインごとであればAPMの外部サービス呼び出し処理で確認できるが、より詳細に同一ドメイン宛ての外部通信については、どのAPIから呼ばれているのか、リクエストパラメータの重要キー別の状況をモニタリングしたいという要望もあった。

 そこでNew Relic Javaエージェントの外部APIを使用し、追加情報をレポートするUtilクラスに1行追加し、通知するようにした。「このような仕組みのため、どの組み合わせが遅いのかなどが一目でわかるようになり、障害発生時の原因特定はもちろん、キャパシティ計画時にも役立っている」と中川氏は話す。

 New Relicの導入により、マルペイの稼働率は99.99%を達成、遅延に関する問題解決時間は70%以上短縮、性能関連のインシデントゼロもほぼゼロに近い状況に改善できたという。

 「New Relicを導入しただけでも便利に活用できるが、機能活用をしたり、カスタマイズしたりすることでさらに利便性が上がると思います」(中川氏)

 最後に梅津氏は次のようにまとめ、セッションを締めた。「New Relicは問題箇所の把握や原因特定するという単純な監視だけではなく、システムの継続的な改善や攻めのシステム運用にも活用できるので、ぜひ活用して、システムの信頼性を向上に役立ててほしいですね」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 Summer セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:New Relic株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18191 2023/11/20 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング