New Relicの変更追跡ソリューションChange Trackingが、システムのあらゆる構成要素においてご利用いただけるようになりました。これにより、サービスのリリースや環境変更をシステム全体にわたって可視化できるようになります。Change Tracking(変更追跡)機能はこれまで同様に、すべてのNew Relicフルプラットフォームユーザーが追加費用なしで利用できます。

この度、APMだけでなく、Browser、モバイル、サービスレベル管理(SLM)カスタムダッシュボードなどからシステムのあらゆる構成要素において変更を追跡できるようになり、どのシステム変更に関係する問題も迅速に解決できるようになりました。エンジニアは変更に対するストレスと不確定要素を低減させ、デプロイメントの速度と信頼性を向上させることができます。

システムの停止や障害の多くは、何らかのコードや構成の変更が原因で発生します。ガートナーによると、システム停止は1時間あたり平均30万ドルの収益損失をもたらすとされており、企業は深刻なビジネスインパクトを回避できるよう、リスクを管理するためのソリューションを必要としています。現状ある多くのツールにおいては、システムのパフォーマンスなどのメトリクスとデプロイメントには直接の結びつきがなく、時系列で重ねて見られるだけの情報しかありません。そのため、変更があったことがわかっても、アーキテクチャ図など様々な情報を手繰り寄せる必要があったり、経験則からの思い込みで的外れなデータを追いかけてしまったりと、解決までに膨大な時間を費やしてしまう可能性があります。

そんな悩みを抱えているのであれば、ぜひChange Tracking機能を、お試しください!New RelicのChange Tracking機能は、アプリケーションのバージョンアップやシステムの構成変更とパフォーマンスデータを結びつけることで、環境に変更があった際のエラー、ログ、トレースにエンジニアが素早くアクセスできるようになり、迅速に問題解決できるようになります。

実行方法は以下をご覧ください。

New RelicのChange Tracking機能では、変更があったタイミングとその詳細(変更したアプリやインフラの構成要素、変更詳細、バージョン番号、コミットハッシュなど)を記録することができます。各構成要素をグルーピングすることもできるので、変更がどこまで影響するのか、わざわざアーキテクチャ図や設計書を引っ張ってくる必要はありません。この情報は、カスタマイズで作っていただくダッシュボードも含め、New Relicのあらゆるチャートに組み込むことができます。このように、CI/CDツールを用いて変更状況をNew Relicに自動的に報告できるようになれば、インシデントと解決の時間を劇的に短縮できるようになるでしょう。

Change Tracking機能の導入は非常に簡単で、最新のGraphQL API、New Relic CLI、CI/CDツール(JenkinsGitHubCircleCIJFrogなど)をご利用いただけます。

今すぐ変更追跡機能を試されたい方は、 ドキュメンテーションをご覧ください。または今すぐサインアップして開始しましょう。

10x Bankingは、テクノロジーが銀行業界に抜本的な変革をもたらすことを確信しています。10xは、すべての銀行業務においてお客様を中心に据えた、よりよい銀行を構築するために開発したものです。その中核にはNew Relicなどの革新的なテクノロジーを活用しています。New Relicのおかげで自信をもって迅速にコードをデプロイできます。New RelicのChange Trackingにより、サービス全般におけるすべてのデプロイメントの追跡が可能になり、エラー率急増の発見や、変更関連のインシデントに関するコンテキスト内のログによってトラブルシューティングができるようになりました。

変更とデプロイメントの監視

デプロイメントからビジネスイベントの設定変更まで、New Relicのエコシステム全体にわたるあらゆる変更を追跡できるようになります。エンジニアリングチームは、問題が起こった際に注意すべき点が何か素早く探り当てられます。それにより、障害検知から問題を発見するまでの対応速度が上がり、システムの安定性を向上できます。詳細画面では、変更によってシステムの応答速度やスループットなどシステムの信頼性に関する指標がどのように推移しているかが表示され、ひとめで問題の修正に必要な情報が得られます。Change Tracking機能によりブラックボックスとなっていた変更が可視化され、エンジニアの経験値を問わず、混乱やストレスを最低限に抑え、関連インシデントの根本原因を特定し、リアルタイムで問題の修復を行うことができます。

CI/CDツールチェーン全体を接続

新しい GraphQL API、New Relic CLI、Jenkins、Github Actions、JFrog、CircleCI 用のプラグインにより、変更のタイミングや詳細情報をを自動的にNew Relicに記録できます。CI/CDプロセスを自動化し、すべてのテレメトリデータ、デプロイメント、変更イベントを取り込みましょう。一貫して信頼性の高いデプロイメントをより迅速に行うためには、CI/CDの自動化とリアルタイムの変更状況の把握が必要不可欠です。Change Tracking機能は、デプロイメントが行われた理由、そのデプロイメントがどんなもので、それが他のシステムにどう影響を与えるかなどを瞬時に明らかにします。

変更マーカーへのユニバーサルなアクセス

APMに加えて、Browser、モバイル、Service Level Management(SLM)、カスタムダッシュボードなど、New Relicプラットフォームのあらゆるメニューから変更マーカーへアクセスできるようになりました。チームメンバー全員がプラットフォームのあらゆる所からアクセスできるようになることで、変更内容がより可視化され、トラブルシューティングの際に重要な情報を収集できるようになります。Change Tracking機能では、New Relicの全機能が高度に統合されています。そのため、類似のインシデントを関連づけ、根本原因を特定し、関係するエンジニアに通知し、さらにリアルタイムで連携して、修正を展開することができます。

最新の変更分析インターフェース

変更を表すマーカーがパフォーマンスチャート上に表示され、クリックするだけで変更前後の変化を画面で確認できます。これにより、変更の経時的な影響を、エラーやログ、異常、インシデントやその他の要素と関連づけることができます。この画面を利用することで、デプロイメントやその他の変更イベントを、ディープリンク、CI/CDメタデータ、コミットSHA、関連エンティティとシステムの観測を行う上で重要なメトリクスであるゴールデンシグナルを結びつけて確認できるため、修復対応を迅速に行い、サービスの安定提供に貢献します。

迅速にコンテキストを把握する

変更マーカーから関連するであろうインシデントに素早くアクセスできます。その変更が行われた理由の判断と問題の選別、ロールバック、修復検討の開始を、すべてNew Relic内で行うことができます。明瞭なコンテキストが得られるため、デプロイメントがいつ問題を引き起こしたのか、またチームがどのように修正を実行できるかを判断できます。また、そのデプロイメントが自身のチーム外で行われたとしても、デプロイメントのタイミングを確認し、それが関連システムに与える影響を知ることができます。アラートが鳴ったらすぐに関連パフォーマンスチャートで変更を確認し、その変更の影響を把握して、インシデントのトラブルシューティング、選別、解決方法を知ることができます。

当社の会員は1億人を超えており、変更とデプロイメントがいつ顧客に対しパフォーマンスの低下とダウンタイムを引き起こすのかを知る必要があります。複数の独立チームが絶えず変更をデプロイするなか、New Relicの変更追跡を使用することで、すべてのゴールデンシグナルの変更を確認し、問題を迅速に修正することができるのです。

Change Trackingのさらなる活用方法

重要なことは、Change Tracking機能が使えるのはデプロイメントだけではないということです。このChange Tracking機能は、設定変更やビジネスイベント、その他の幅広い変更に対応できます。どのように利用すれば良いか、フレームワークを用意していますので、ご活用ください。

1. デプロイメントのチェックリストを構築する

デプロイメントの状況を把握するための状況確認ダッシュボードを作りましょう。DevOpsエンジニア、リリースマネージャー、SREだけでなく開発に携わる人であれば誰でも、デプロイメントの状況を把握し、ライフサイクル全体の有用な手順とベストプラクティスを理解することができます。このダッシュボードには、デプロイメントとシステム全体(レイテンシ、エラー率、トランザクション、CPU使用など)の両方に関連する主要パフォーマンスメトリクスなどの項目を含めると良いでしょう。その上でChange Tracking機能を使用すれば、変更イベントとデプロイメントを主要パフォーマンスメトリクスと自動的に重ねて確認でき、CI/CDの経時的効率性を改善することができます。それぞれのデプロイメントに何を行う必要があるのかを正確にマッピングし、自動化の勘所を特定することで、より迅速で回復力のあるCI/CDパイプラインを実現できます。

典型的なデプロイメントのパイプラインには、構築、テスト、コードの統合、コードのリリース、そして本番環境への変更のデプロイが含まれます。チームのエンジニアは、構築、テスト、統合、リリース、デプロイというCI/CDパイプラインのステージごとにチェックリストをフォーマット化できます。これにより、基本的な構造を把握し、各段階で自動化や全般的な改善の機会を見出すことができます。

2. 設定とデプロイメントツールを活用する

DevOpsとして、当然、自動化とツールについての話は避けることはできません。このステップは、クラウドの成熟度やチームが管理するサービスのタイプによって大きく異なりますが、JenkinsCircleCIJFrogGitHub ActionsなどのCI/CD自動化ツールがあれば、状況は劇的に簡単になります。変更追跡と、CI/CDツールに統合されたNew Relicの最新GraphQL APIは、手動での介入が不要であり、デプロイメントを行うと同時にNew Relicのチャートにマークアップできます。さらに、パフォーマンスの低下や稼働停止が起こった際には、関連する主要メトリクスに沿って変更イベントを確認し、問題の発生原因を把握することができます。

CI/CDツールは、構築からテスト、最終的なデプロイメントまで、あらゆる段階の追跡に役立ちます。目的に沿った自動化により、デプロイメントパイプライン内で必要なコンテキストを失うことなく、プロセス全体の強化が可能になります。加えて、メタデータをNew Relicに送信することで、何らかの劣化を変更イベントとすばやく関連づけ、それらをロールバックしたり、可能な限り迅速に緊急の修正をデプロイすることができます。またデプロイメントのみならず、AnsiblePuppetChefなどの設定ツールは、さらに多くのコンテキストを設定変更のその他のカテゴリーに収集します。

3. 自動化と学習の大切さ

自動化は人手で行える範囲のWorkflowを拡大させ、継続的にCI/CDパイプラインを強化します。Change Trackingは自動的にエラー、ログ、トレースのコンテキスト内の変更を表示し、インシデント発生時の初期対応と修正時間を改善します。チームによっては、インシデント事後検証レポートなどで自身のデプロイメントまで遡り、いかにリスクを低減してデプロイメントの速度を上げられるかを検討、確認することができます。ただし、それを行うには、変更イベントの詳細を収集し、適切なチームにすばやく提示する必要があります。Change Trackingを使うと、チームで瞬時にコンテキストまでを共有できるので、CI/CDパイプラインの計画ステージから本番環境までのプロセス全体を改善できるようになります。

開始するのに最適なポイントは、すべてのデプロイメントのチェックリストです。ここから自身のチェックリストを精緻化して、カスタムワークフローを構築し、CI/CDプロセスをさらに効率化するための新たなツールを追加できます。CI/CDのベストプラクティスは、継続して学び、その学びをリリース管理パイプラインに活用できる能力によって実現します。

4.変化をパフォーマンスにつなげるる

CI/CDの領域において、恒常的に起こるのが変更です。New Relicの統合されたオブザーバビリティプラットフォームでデータからインサイトを生み出し、自信を持ってすばやくデプロイを行い、またエラー発生のタイミングを知ることで、コンテキストを理解して確実に対応することができます。

ひとつ例を挙げてみましょう。変更がデプロイされると、New Relicの変更追跡が自動的に影響を受けるデータベースのパフォーマンスメトリクスをデプロイメントの詳細と相関づけ、関連するメタデータを直接データベースのパフォーマンスチャートに追加します。そのデプロイメントがデータベースのETLプロセスを劣化させ、他のチームにも問題を生じさせた場合、そのチームは彼ら自身のパフォーマンスメトリクスと共にデプロイメントの詳細を可視化し、デプロイメント実施者にロールバックのリクエストを送信することができます。

ダッシュボードとレポートをNew Relic内にセットアップすれば、デプロイメントの頻度と信頼性を追跡することができます。チームのデプロイメントの頻度はどの程度か?デプロイメントがインシデントを引き起こす頻度はどの程度か?CI/CDプロセスとリリースパイプラインにKPIを定義すれば、デプロイメントワークフローを改善するための勘所を特定できるようになるでしょう。アプリケーションやサービス内の変更を監視する場合、「コンテキスト」がすべてです。何がどのように変更されたか、関連しているものは何か、それらの情報を瞬時に把握できるようにすることで、エンジニアの作業効率は飛躍的に向上するでしょう。