Macmillan

マクミランが、Windows Azureアプリケーションの監視でAppDynamicsを選択

マクミラン出版グループは、Verlagsgruppe Georg von Holtzbrinckが所有している世界的商業出版社です。Holtzbrinckは、印刷および電子メディアにフォーカスしている世界の主要なメディア会社の1社であり、情報の提供、知識の普及、教育/専門/一般的な読者市場のニーズへの対応を行っています。ドイツのシュツットガルトに本社を置き、書籍、雑誌、新聞出版、ニューメディアを含めて、約40社を所有しています。

課題: Windows Azure におけるアプリケーションのパフォーマンスに関する深い理解が必要

Macmillan の業務には、世界中の何千人もの学習者に向けた優れた教科書の出版などがあります。教科書以外にも、Macmillan では学習者の勉強を補うオンラインのコース教材やアクティビティの提供を行っています。英国の Macmillan アプリケーションチームは、ユーザーの住む場所に関係なく、高速性と拡張性を提供できるようなアプリケーションの構築、管理、サポートを担っています。

こうしたアプリケーションに必要となるグローバルな規模を実現するため、Macmillan では、同社の主要な地域のデータセンターにおける、マイクロソフト Windows Azure クラウドによるアプリケーションのホスティングを決定しました。各データセンターで同一バージョンのオンライン学習アプリケーションをホスティングすることにより、Macmillan では、学習者がどこにいても常に一定のユーザーエクスペリエンスを保証することができます。

Macmillan の .NET アプリケーションアーキテクチャは極めて複雑であったため、Windows Azure で使用可能なモニタリングツールを使用してパフォーマンスのボトルネックを特定することは困難を極めました。「Windows Azure のモニタリングレポートは、非常に高度です」と、Macmillan のプロジェクトマネージャー James Graham 氏は言います。「問題がどのサービスから発生したかを判断するのはもちろんのこと、アプリケーションまたはネットワークで発生しているのか、という判断さえも苦労しました。」そこで、Graham 氏のチームは、Windows Azure におけるアプリケーションに対する深い可視性をもたらすアプリケーションパフォーマンス管理 (APM) ツールを模索し始めました。

AppDynamicsが、分散.NETアプリケーションに理想的と分かる

Windows Azure 環境向けに設計された APM ツールがあまりに少ないため、Graham 氏の調査は限定されたものとなりました。その中で、Graham 氏は AppDynamics プラットフォームこそ、Windows Azure の複雑かつ分散した .NET アプリケーション構造に最も適するモニタリングソリューションであると判断しました。「AppDynamics APM では、異なるサービスが相互に作用する様子が示されるため、そのデータを選り分けて真の問題を解決することができます」と Graham 氏は述べています。

AppDynamics では、アプリケーションの内部で起きている内容がより明確に可視化されます。

「Windows Azure での導入、展開は非常に簡単でした」と Graham 氏は付け加えています。ライセンスキーを取得してから数時間の内に、Macmillan の開発者たちは、1 ヵ月以上も探し続けていた問題を特定することができました。「あるデータベースクエリがデータベースから大量のデータを引き戻しているのに、取り扱っているデータは実際には少量しかいないことが分かった」と Graham 氏は説明しています。「これが不要なオーバーヘッドを引き起こし、エンドユーザーのアプリケーションを遅延させていました。」Graham 氏は、AppDynamics ソリューションがなければ、「解決することはできなかったでしょう」と語っています。

トラブルシューティングから、パフォーマンスの最適化へ

Graham 氏は、当初、トラブルシューティング用のツールとして AppDynamics プラットフォームを使用していましたが、やがてパフォーマンスの最適化と一部のキャパシティプランニングにも AppDynamics を利用するようになりました。「AppDynamics APM から得られるデータを毎月調べ、どのコードをリファクタリングする必要があるか、あるいはデータベースでどのような最適化を行う必要があるかなどが分かるため、パフォーマンスを向上させることができます」と Graham 氏は語っています。「またそのデータを活用し、仮に拡張した場合、アプリケーションがどのように機能するかを推測することもできます。たとえば、学習者が 80,000 人から 500,000 人に増やした場合の想定などですね。将来どれくらいのリソースが必要となるかを予定する上で、これが役立ちます。」

従来は 10~15 秒かかっていたエンドユーザーのコールが、わずか 2~3 秒で済むようになったのです。

また、AppDynamics プラットフォームは、Macmillan がサードパーティのサーブスケジュールコールに対する可視性を得る上でも役立っています。「我々は、アプリケーションが相互に作用するサードパーティ企業を特定し、その企業に対し問題がどこにあるのかを示すことができるようになりました。一部のパートナーと協力して、そのサービスを最適化したところ、我々にも大きな成果がありました。従来は 10~15 秒かかっていたエンドユーザーのコールが、わずか 2~3 秒で済むようになったのです。」

「AppDynamics では、アプリケーションの内部で起きている内容がより明確に可視化されます。」「コードで実行されているはずの内容と、実際にアプリケーション実行時に実行される内容の違いを示してくれるのです。これによって、最終的に学習者のエンドユーザーエクスペリエンスの改善を実現することができました。」