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

クラウドネイティブな環境におけるNew Relicの活用

クラウドコンピューティングでは、ネットワーク、サーバ、ストレージなどのコンピューティングリソースが共用プール化され、それをオンデマンドに、最小の管理労力で利用できます。

クラウドコンピューティングのメリットは、

  1. サーバなどを保有する必要がないため導入費用の大幅な削減が可能
  2. 法令改正やセキュリティ対策などにも素早く対応できる
  3. 必要な時に低コストで利用可能で、構築コストも削減できる
  4. メンテナンス費用がいらず、運用コストも削減できる
  5. 継続的デリバリーなど実行環境のデプロイが容易で自動化が可能
  6. オートスケールなどインフラ環境を柔軟に変更でき自動化が可能

などなど

オンプレミスの環境では、アプリケーションの実行環境のライフタイムが非常に長期で、システム変更が少なく、そのワークロードも基本的に推測可能であり、それを支えるインフラとの結合度も高いため、実行環境をホストするサーバや定期的なジョブ等を固定的に監視するだけで、安定したシステム運用が可能でした。

AWSのようなクラウド環境では、複数ユーザでのインフラの共有が前提であり、自身のワークロード以外の要因でインフラのリソース状況が変化します。継続的デリバリーやオートスケールなど、クラウドネイティブな環境においては、アプリケーションの実行環境やインフラ環境も動的に変化するため、これまでのように個々のサーバ(インスタンス)を個別に定型監視してもシステムの健全性やサービス品質の指標になりません。継続的デリバリーなどリリース頻度が高まるとインフラ起因の障害ではなく、ソフトウェア起因の障害が多くを占めるようになります。またオートスケールのような動的なインフラ環境では、個々のサーバ障害が重大なサービス障害へつながることも少なくなってきます。変化の激しいインフラ環境に対して、これまでのように個々に監視設定を行なっていくのは非常に労力のかかる作業となりますが、これまでのように個々のサーバを定型監視するだけで、サービスの健全性が担保できるわけではありません。そもそもインフラ自身がクラウドへアウトソースされているにも関わらず、その監視環境をオンプレミス的に運用すること自体がナンセンスともいえます。

New Relic APMおよびInfrastructureをクラウド環境の監視ツールとして活用することで、動的に変化するインフラおよびアプリケーションを容易に一元監視できるようになり、迅速で適確な障害対応およびサイジングの最適化が図れるようになります。

これまでは監視対象のエンティティ個々に監視設定を行い、ダッシュボード表示など監視設計を行うことが一般的でした。New Relic APMおよびInfrastructureは、予めOSや実行環境へエージェントをインストールしておくだけで、対象エンティティのデプロイと同時に動的に監視を開始することができます。監視対象個々の設定は特に必要なく、ダッシュボード表示など監視設計を行わなくても監視を始められます。クラウドサービスとして監視環境が提供され、監視環境の構築や設定、運用も必要有りません。エージェントのインストール作業に関しても、AMIのようなマシーンイメージやDockerのようなコンテナでエージェントをインストール済みの環境をパケージ化しておき、それを再利用することで、エンティティ個別にインストール作業を行う必要もありません。

New Relic APMを活用することで、クラウドのようなインフラのリソース品質が担保できない環境におけるシステムの健全性をリアルタイムにチェックし、迅速な障害検知およびそれがインフラ起因なのかソフトウェア起因なのか、そのルートコーズまで即座に把握できるようになります。そしてNew Relic Infrastructureにより、インフラの使用状況に関する更に深い洞察が得られるようになります。New Relic Infrastructureでは、個々のサーバのリソース状況を定型的に可視化するのではなく、複数サーバのリソース状況を属性条件に基づきリソースプールとしてアドホックに抽出し、集計して可視化します。集計されたインフラのリソース情報とそのリソース上で稼働するアプリケーションの性能情報やそのリソース上で発生している構成変更とかエラーといったイベント情報を相関して確認することができます。その集計値や他のメトリクス情報を複合的に組み合わせたアラート設定も可能です。また閾値に基づくアラート設定だけでなく、トレンドに基づく異常値をAIで自動検知しアラート通知することもできます。抽出や集計のための属性条件は、アプリケーション情報、インスタンス情報、カスタムタグ、ロール、構成情報など、クラウドサービスのインスタンスやOSが持つ環境情報を自動的に取り込み属性化されます。New Relic APMからそのアプリケーションのインフラをドリルダウンすると自動的にそのアプリケーションが稼働するサーバやコンテナが抽出され、New Relic Infrastructureで詳細を確認することができます。インフラのリソース使用率が高くない場合、アプリケーション性能への影響をリアルタイムに確認しながらインスタンスのスケールインもしくはスケールダウンを行うことで、サイジングの最適化を図ることが可能になります。また取り込まれた環境情報を基にリアルタイムなインベントリ管理機能も提供され、動的に変化するインフラの中からセキュリティパッチの適用など対象ホストを適確に抽出することができます。

New Relic Infrastructure

New Relic Infrastructure

AWS環境においては、RDSやLambdaなどAWSの各マネージドサービスのメトリクスやイベント、インベントリ情報も統合して一元的に管理することも可能です。

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

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

この記事を書いた人

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

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

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

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