AppDynamicsのアーキテクチャ
ではなぜ、AppDynamicsは、上述したような効果をもたらしうるのか──。 理由の一つは、AppDynamicsが「ユーザートランザクション(ビジネストランザクション)」を俯瞰的にとらえたうえで、ボトルネックの可視化・分析をインテリジェントに行うソリューションであるからだ。ここで言う「ビジネストランザクション」とは、ユーザーがアプリケーションにアクセスしてから、処理を終えるまでの一連のプロセスを指す。AppDynamicsでは、複雑なトランザクション・フローを自動的にビジネストランザクションとして認識し、フローマップとして可視化(描画)する(下図参照)。
※クリックすると拡大画像が見られます
そのうえで、全ビジネストランザクションをモニタリングしながら、性能上のボトルネックや問題発生の予兆、さらには、性能劣化によるビジネス影響度を詳細かつ迅速に割り出すのである。
この仕組みの中で、中心的な役割を演じる一つがエージェントだ。これは、アプリケーションに手を加えることなく、その性能を監視するプログラムであり、AppDynamicsのエージェントには以下のような種類がある。
- エンドユーザーエージェント:Android/iOS対応のネイティブアプリやWebアプリの性能監視を行うエージェント
- アプリケーションエージェント:JVM、.NET、PHP、C++、Pythonなどで記述されたアプリケーションの性能監視を行うエージェント
- マシンエージェント:ハードウェアのOSやメモリ/CPUなどのリソース監視を行うエージェント
- データベースエージェント:発行されたSQLのレスポンス性能監視を行うエージェント
これらのエージェントが、ビジネストランザクションを支える各ITの状態をモニタリングする。そして、モニタリングの結果を性能情報としてAppDynamicsのコントローラ(アプリケーション・インテリジェンス・プラットフォーム/以下、AIP)側に送出するのである(下図参照)。
また、AppDynamicsのエージェントは、性能情報のほかに、例えば、「どういった顧客が、どこから、どのような端末を用いてアプリケーションにアクセスし、いかなる処理を行ったのちに、アプリケーションから抜けていったか」といった情報もリアルタイムに収集し、AIP側に送出する。こうして収集・蓄積された情報を基に、AppDynamics(のAIP)は、エンドユーザーの全アクションの把握やアプリケーションの利用傾向の割り出し、さらには、(性能情報との相関分析による)「性能劣化のビジネス影響度の可視化」を実現するのである。
加えて、AppDynamicsでは、ユーザーアクションごとに、どのシステムがどうかかわるかの定義を自動的にまとめ上げることができる。これにより、個々のユーザーアクションを起点にした性能把握が容易になる。また、AppDynamicsの「ダッシュボート」を用いれば、ビジネストランザクション全体の状況が俯瞰できるのはもとより、アプリケーションの性能が一定の閾値を下回っているユーザートランザクションを簡単に洗い出すことができる。というのも、このダッシュボードでは、そうした問題トランザクションの詳細情報がリスト化され、提示されるからだ。それをドリルダウンしていくことで、例えば、「特定のSQL文を発行したときにのみ性能が劣化している」といった問題を即座につかむことができる。
さらに、AppDynamicsの場合、アプリケーション性能の良否を自動的に判定する機械学習の仕組みを備えている。つまり、「定常時のパフォーマンス」を継続的に学習し、アラート発行の閾値を自動的に設定するというわけだ。このほか、性能問題の予兆を自動で検知し、仮想化環境やクラウドプラットフォームのオートスケールの処理を発動させ、問題を未然に回避するといった仕組みも有している。
もう一つ、AppDynamicsで注目すべき点は、(先にも触れたとおり)「DevOpsツール」としても機能させうる点にある。具体的には、AppDynamicsによる測定結果・分析結果は各種の開発環境と連携させることが可能であり、それを通じて、開発サイドと運用サイドの重要情報・認識の共有化や相互理解・意思疎通・協業の深化・活性化、ひいては、企業収益向上に向けた開発・運用プロセスの一体化を図ることが可能になるのである。
AppDynamicsについては、IT調査会社・アナリストの評価も高く、主要な調査会社がAPPDYNAMICSを「次世代APMのリーダー」と位置づけている。
欧米と同じく、日本でもSoEの開発・強化が企業IT戦略のメインテーマとして掲げられ、アプリケーションのエンドユーザー性能を高いレベルで維持することが強く求められている。その意味で、知性を持った見える化と対処の仕組みAppDynamicsが、日本でもさらに広く受け入れられる可能性は高い。
来る12月10日には、AppDynamicsの全容と国内事例を伝えるセミナーの開催も予定されている。ご興味のある方は、会場に足を運び、「次世代APM」の実際と実効果を確認されていかがだろうか。SoE時代の重要テーマ──「エンドユーザーのアプリケーションを高く維持する」ためのヒントが必ず得られるはずである。