技術ブログ
技術ブログ
2017年03月17日
このエントリーをはてなブックマークに追加

DevOpsにおけるNew Relicの活用

DevOpsは、開発と運用が高度に連携することで、新しい機能を高頻度にリリースしつつ、システムの安定稼働を図ります。

開発者のミッションは「より良いものを作ること」です。最初から完璧なものを作ることはできません。ビジネス環境の変化もあるため、機能変更や追加を継続的に続けていく必要があります。一方、運用者のミッションは「安定的にシステムを稼働させること」です。基本的に運用者は動いているシステムを触ったり触られることを嫌います。開発者がアプリケーションの改善事項を調査する場合、運用者に対してアプリケーションログの取得を依頼します。運用部門は、少人数で複数のシステムを一括して受け持っているため、多くの開発者からの依頼と定常的な運用保守業務に追われており、依頼にタイムリーに対応することは困難です。このギャップは、基本的に開発者はシステム操作の裁量がないこと、運用者は細かく大量な依頼をタイムリーに処理する余裕がないこと、そして互いの情報共有および相互理解が欠如していることに由来しています。

一方、クラウド環境の活用が進み、これまでのような物理的な作業無しにインフラの構築や操作が可能になったことで、フルスタックのエンジニアとして自身が開発したシステムの運用業務まで開発者へ担わせる風潮も一部で出てきています。しかし、開発者のミッションは「より良いものを作ること」であり、開発者がトラブルシューティングに負われているようでは本末転倒です。DevOpsの意義は、開発にかかわる煩わしさを減らし、開発者がより積極的に挑戦しコード開発に専念できるようにすることにあります。

 

New Relic APMおよびInfrastructureをDevOpsにおける開発と運用共通のテスト、監視、分析ツールとして活用することで、開発と運用の担当者間における情報の共有化と相互理解が進み、双方の効率化が図れます。

New Relic APM

New Relic APM

これまでは、開発部門と運用部門で、それぞれ異なるツールが使われていました。運用部門が障害の切り分けに使用するツールと開発部門がバグの調査に使用するツールが異なるため、トラブルシューティングにおいても互いに重複した調査作業が発生し、互いの情報共有や相互理解も進まず、迅速な対応に支障をきたしていました。

New Relic APMを開発における結合テストツールとして活用することで、リリース時のサービス影響やルートコーズ分析を迅速化および省力化でき、リリース頻度をさらに高めることができるようになります。New Relic APMを活用することで、これまでログ分析に頼っていたバグの調査が、リアルタイムなメトリクス監視で可能となります。新しくリリースされたコードに起因する影響をリアルタイムに検知し、そのルートコーズを即座にアプリケーションのコード・レベルまでドリルダウンし、バグの箇所が迅速に特定できるようになります。これにより、開発担当者はバグ対応に費やすログの調査時間が削減され、コード開発に専念できるようになります。開発時のログ設計やそれに伴うコードも簡素化できます。またNew Relic Infrastructureにより、インフラに関する深い知見を必要とせず自身のコードが稼働するインフラの状況を容易に理解できるようになります。

Stack Trace

Stack Trace:トランザクションの何処にボトルネックがあるかが可視化され、コードレベルまで即座にドリルダウン可能

一方、運用担当者は、New Relic APMにより、アプリケーション言語やコーディングに関する深い知見を必要とせず、原因がインフラなのかバグなのかを迅速に切り分け、そのコード領域を把握し、コードの開発担当者へ適確にエスカレーションできるようになります。開発担当者もコード領域が特定されているため、迅速な改修作業が可能になります。またルートコーズやその開発担当者をリアルタイムに特定できるため、Salckのようなチャトと連携させChatOpsによるエスカレーション作業の自動化やワークフローやプロビジョニングシステムとの連携により復旧作業の自動化を図ることも可能になります。またNew Relic Infrastructureにより、複数のサーバに分散して稼働するアプリケーションのリソース状況を集計して監視、分析できます。集計されたインフラのリソース情報とそのリソース上で稼働するアプリケーションの性能情報やそのリソース上で発生している構成変更とかエラーといったイベント情報を相関して確認することができます。アプリケーション性能への影響をリアルタイムに確認しながら実行環境のスケール変更を行うことで、サイジングの最適化を図ることが可能になります。また取り込まれた環境情報を基にリアルタイムなインベントリ管理機能も提供され、動的に変化するインフラの中からセキュリティパッチの適用など対象ホストを適確に抽出することができるようになります。

New Relic Infrastructure

New Relic Infrastructure

さらにNew Relic BROWSER / MOBILE / SYNTHETICSを活用することで、構成変更が顧客体験へ与える影響をリアルタイムに把握することも可能になります。顧客への影響が顕在化する前にロールバック等の対処が可能となり、また顧客体験向上のための改善すべきボトルネックが容易に把握できるようになります。

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

この記事を書いた人

HironoriIchiki
HironoriIchiki 社内フリーランスとして組織横断的にあれこれ活動中!

PROプランのすべての機能を
30日間無料でお試し

新規無料登録いただくとPROプランのすべての機能を
30日間無料でお試しいただけます。
クレジットカードなど決済情報の登録は不要です。

各プランの詳細はこちらからご確認ください。