New Relic APMのDeployments を使ってデプロイ履歴の登録とパフォーマンス比較をする

この記事はNew Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2022 24日目の記事です。

株式会社リゾーム 技術部 システム開発第3グループの藤岡です。

弊社の扱っているシステムで最近New Relicを導入しました。
New Relic APMのDeploymentsが便利だったのでご紹介したいと思います。

Deploymentsとは

コードのデプロイ時にマーキングをします。
マーキングする事で、下記の事が実現出来ます。

  • デプロイの履歴を一覧で見る事が出来る
  • デプロイ前後のパフォーマンスを確認する事が出来る

マーキング方法はREST APIやエージェントを使用して出来ます。
詳細は公式のドキュメントを参照してください。

デプロイメントの記録と表示 | New Relic Documentation

お客様毎にデプロイしているバージョンを把握したい

弊社ではシングルテナントでアプリケーションを提供しているため、デプロイしているバージョンがお客様毎にバラバラになっています。 お客様毎にデプロイしているバージョンを把握するため、独自のシステムで最新のバージョン情報を一覧で見れるようにしていました。

お客様毎にデプロイ履歴を登録して一覧表示する

Deploymentsを使用する事で、最新のバージョン情報以外にも過去のデプロイ情報も蓄積されて見る事が出来るようになります。 また、ダッシュボードに出すことで、独自システムと同じように最新のバージョン情報を一覧で見る事も出来ます。

FROM Deployment SELECT latest(version) AS バージョン, latest(timestamp) AS デプロイ日時 FACET entity.name AS ユーザー名 LIMIT MAX SINCE 50 years ago UNTIL now

シングルテナントなので、まだ全てのお客様のデプロイ履歴は登録出来ていませんが、登録出来れば独自システムの運用も不要になりそうです。

デプロイ前後でパフォーマンスが改善されたか知りたい

APMを分析しパフォーマンスの改善をしていますが、デプロイ前後でどのくらいパフォーマンスが改善しているか確認したいです。
New Relicを導入する前は、お客様に直接ヒアリングして確認する事もありました。

デプロイ履歴からパフォーマンスを比較する

Deploymentsの詳細からWeb Transaction毎にデプロイ前後のパフォーマンスを確認する事が出来ます。 もし劣化しているのであればそこからTransactionに遷移して深掘りするといった使い方も出来ます。
また、グラフに縦棒の線が入るので、長期間のパフォーマンスやエラー率等を確認したい時にも便利です。

デプロイ前後のパフォーマンス比較

まとめ

New Relic APMのDeploymentsを使う事でデプロイの履歴やデプロイ前後のパフォーマンスを簡単に確認する事が出来ました。 グラフでパフォーマンスがどのくらい改善したかが分かるので、モチベーションアップにも繋がります。
今後はデプロイ履歴の独自システムからの移行を進めていき、お客様のパフォーマンス比較を更に実施していきたいと思います。