サムライズトップ > APM - アプリケーションパフォーマンスマネージメント > アプリケーション性能問題の解決とDevOpsの高速化 > 自社に適したAPMは何か?

自社に適したAPMは何か?

自社に適したAPMは何か?

こんにちは、APMセールス担当の小出です。今回は、アプリケーション性能管理(以下APM)ツール選定について掘り下げてみたいと思います。

目次

  1. APMはもはやなくてはならないソリューションへ
  2. 多くのAPMメーカーが続々と誕生
  3. どのAPMツールを選択するべきか?
  4. APMツール選択の目的・課題と誰が利用するのか?
  5. 製品に対する要件は?
  6. おわりに

APMはもはやなくてはならないソリューションへ

弊社では、2002年よりAPMツールの提供を行っていることは、周知のことですが、その頃はJava全盛時代で、クライアントサーバからWEBアプリケーションへの移行が活発な時代。インターネット黎明期でもあり、なかなかパフォーマンスにも厳しい時代であったと言えます。

そんな時に、米国で1998年に創業されたWily Technology, Inc.,というスタートアップ企業がマーケットに提供を始めたのがWily Introscopeで、恐らく国内で最初に導入が進んだAPMツールと言えます。Java EEに特化しアプリケーションサーバのみの監視を行い、アプリケーションのクラス/メソッド迄の実行時間を、独自開発したBytecode Instrumentation(BCI)技術により、Javaアプリケーションに負荷をかけずに性能計測する事が特徴で、大手通信事業者や大手金融事業者へ導入が進みました。

Wily Introscopeイメージ

しかしながら、当時はイノベーティブ(革新的)な技術であり、さほど普及が進まず、トランザクションやユーザ数に依存したサービスのみへの導入。しかしながら、デジタル全盛でクラウドネイティブな今は、その立場を大きく変えていく事になりました。

多くのAPMメーカーが続々と誕生

Wily Technologyと共に、システム環境もオンプレミスから増大するトランザクションやユーザを処理するために仮想基盤に徐々に移行が始まります。それに呼応するかの様に、APM製品もいわゆる第二世代が徐々に台頭を始めました。

それらは、AppDynamicsやNewRelicといったメーカーで、そうしたメーカー各社が日本国内で営業活動を開始し、徐々に導入企業が増え始めたのが2010年頃で、それからは元々Compuware社でリリースされていたAPM製品がDynatraceとしてリニューアルされ、Datadog、Instanaといった新興系APMツールや、買収によってAPMマーケットに参入したSplunk、Elastic Searchから派生したAPMトレース機能を有するElastic Observabilityなど、ユーザにとって選択肢が増えたばかりでなく、利用料金にもそれが反映され、まさにAPMはレッドオーシャンな市場に変化し、ユーザの導入のし易さも変化し普及が進んでいます。

2021 Gartner Magic Quadrant for Application Performance Monitoring

引用:
https://www.appdynamics.com/c/r/appdynamics/ja_jp/index/jcr:content/Grid/blade_2030858110_cop/bladeContents1/image/image.img.jpg/1629881806922.jpg

どのAPMツールを選択するべきか?

ツールの機能が豊富で費用も安価になったAPMツールですが、実際にはどのメーカーのツールを導入すべきか、選択肢が多いほど導入時の比較検討というフェーズでは非常に頭を悩ます問題かもしれません。今回はそんな課題に対し触れてみたいと思います。

まず、APMツールを導入する動機は様々ですが、主には下記となるのではないでしょうか?

  • ユーザからシステムが遅いとクレームがある
  • システムで遅延やエラーが発生しても原因の特定や調査に時間と費用が掛かる
  • インフラ、アプリケーション、データベースエンジニアの会話が噛み合わない

こうした動機からまずは、APMツールを導入する事になりますが、先ほどご紹介した通り、APMツールは各メーカーや代理店のページを含めるとかなりの情報があり、どれを選択してよいか迷ってしまいます。しかしながら、表面的な情報だけでは、リアルユーザ体感やアプリケーショントランザクションを中心としたパフォーマンス、そのアプリと接続されるデータベース性能迄を一貫して計測できると紹介しているのが大半で、ほとんどのメーカーが“同じ”機能を提供しているように見えてしまい、その違いが明確に判断する事は容易ではありません。

では、実際にトライアル検証で幾つかのツールを試すと言っても限られた時間と、検証の為にどれだけ手間(時間)を掛けるのかというのは、検証が目的化してしまいますので、製品選定はある程度ポイントを絞って行う必要があります。従って、ある程度の要件を満たせる事が出来ると判断したら特定システムへ適用を前提に選定する事が肝要です。では、どんなポイントで選定をするべきなのでしょうか。

APMツール選択の目的・課題と誰が利用するのか?

昨今では、オンプレ、仮想基盤、プライベート/パブリッククラウドなど様々な環境下で多様な言語でシステムは稼働していて、まずはその環境でAPMツールが稼働し、情報取得できるのかが非常に重要なポイントです。単に.NET Framework環境で稼働しているとしても、その中で稼働している言語によっては計測が出来ない場合もあります。

では、どんなポイントでAPMツールを選択する必要がある のでしょうか。上述した点も含め列挙してみます。

  • 稼働しているプラットフォームや言語(バージョン)が対応しているか
  • 課題に対する解決の為の情報取得可否と取得した情報粒度とその活用方法
  • サポート体制や提供形態、運用の容易さ
Java? .NET? PHP? On-Pre? Cloud?

1点目の稼働情報は先に述べた通りですが、やはり次に重要なのは導入動機となった課題がツール導入により解決できるのかという事です。例えば、全体的にレスポンスが悪くなってからその発生個所を迅速に特定したいのか?やAPIで接続されている外部ベンダーとの連携サービスの応答が不安定なので、その実行時間を把握したいのか?など様々な課題が有ります。

また、インフラエンジニアだけが利用するのか、アプリケーションやデータベースエンジニアも活用するというのでは、サーバリソースやログのみでは十分とは言えず、アプリケーションコンポ―ネット単位の詳細情報やクエリレベルまでの性能情報を取得できないと、折角導入しても意味がない物になってしまします。

APMはDevOps実現の有効手段

さらに重要なのは、やはりサポートの問題です。通常の利用方法に関するお問合せ対応(Q&A)や問題発生時のエスカレーション対応状況はどうか、製品のアップグレード実績なども気にする必要が有ります。

APMはDevOps実現の有効手段

自社のシステム環境が対応しているかを確認する事が肝要
引用元:https://www.instana.com/supported-technologies/

製品に対する要件は?

弊社でもAppDynamics、Dynatrace、Instanaといった3メーカーの製品をご提供しており、各メーカー社のメリット/デメリットをお客様にご説明し、提案しています。大きな機能に大差はないとお伝えしましたが、管理や費用面で注意すべき点があります。

ほとんどのAPMツールはサーバインスタンスにエージェントソフトウェアをインストールするケースが大半です。そのエージェントが計測したデータを管理サーバでストレージし、データを編集し、ダッシュボードなどに表示しています。従ってそのエージェントのインストール形態と管理サーバの設置方法が製品選定上でも気になるポイントです。

エージェントの運用や管理がし易いか、管理サーバを自社内に設置するのか、メーカーがホストする環境(いわゆるSaaS環境)を利用するのかを考慮する事が必要です。エージェントプログラムも古いバージョンのままでは問題が発生するケースが懸念されますので、定期的にアップデートする必要が有りますが、それをいかに手間なく行えるかが重要になります。

Dynatrace One Agent導入イメージ

Dynatrace One Agent導入イメージ
引用元:https://www.dynatrace.com/support/help/get-started/monitoring-environment

そして何よりも重要なのが費用です。多くのメーカーがサブスクリプション形式を採用し、保守費用と同様の経費名目で導入する事が出来ます。先にも述べた通り、以前から比べればその費用は相当安価になってきましたが、利用方法によっては割高になってしまうケースも散見されます。

例えば、ユーザ体感を計測する機能は、一定期間の訪問者の数でライセンス消費される従量制の費用を採用しています。また、アプリケーションモニタリング機能でも、通常計測データの計測は定額だが、そのデータを分析する場合のデータ保持量や期間によって従量制を採用しているケースがあります、

結果として、初期費用は少なくできても、システムの利用形態によっては計測費用が高騰するなどという事も招き兼ねないなど、導入時の試算に留意しなければなりません。

おわりに

多くのメーカーが日本市場に参入して、その導入数も増加している状況です。弊社の有るお客様にお聞きした所によると、システム毎に別々のAPMツールを導入、運用しているというお客様もいらっしゃいます。その理由は、システム固有の問題でそのツールしか合わなかったとか、システム担当者が使い勝手が良いと判断したとか、以前は別のツールを利用していたが、使い勝手や運用が面倒なので別のツールに乗り換えたという事情があるようです。

当然、メーカーや代理店の立場としても、統一して管理、監視業務を効率化して頂くべくご提案していますが、なかなかそうもいかない事情があり、結果としてツールが「サイロ化」されている状態であるといえます。裏を返せばそれだけ費用が安くなり、付帯設備の運用も容易になることで、製品のリプレースもし易いというのは、ユーザにとってメリットであると言えます。

まずは、全体の課題を満たすより、特定の課題を解決するためにツールを導入していく事も一考といえます。弊社では、そうした課題をお持ちのお客様へアプリケーション性能監視ソリューションを通じて、解決のお手伝いをさせて頂きました。弊社のお客様事例をご覧頂き、課題をお持ちのお客様のお話をお聞かせ頂ければ幸いです。

APMはDevOps実現の有効手段

サムライズ システム性能改善事例

ページのトップへ戻る