Pizza Pizza

Pizza Pizzaが、AppDynamicsでトラブルシューティングに要する時間を数日単位から数分単位へ短縮

Pizza Pizzaはカナダ、オンタリオ州における最大のピザチェーン店で、600店舗以上を構え、従業員は3,000人を超える。顧客は電話、ウェブサイト、モバイルデバイスで、ピザを注文することができます。400人以上のエージェントがいるコールセンターが、内部アプリケーションによって全てのレストランに注文します。これらのアプリケーションは、毎週何十万件ものトランザクションを処理し、常にお腹を空かせたPizza Pizzaの顧客のニーズに応じられるように稼働可能でなければなりません。

課題:アプリケーションパフォーマンスがウェブサイトやコールセンターに影響を与えた

Pizza PizzaのIT担当ディレクターであるAmar Narain氏は、特にピーク時間を中心に、アプリケーションが常に順調に稼働していることを保証する責任を負かされていました。ところが残念なことに、アプリケーション層への可視性の欠如からこの作業は困難でした。開発チームは、たえず変化するキャンペーンに対応するため、2週間毎に新しいコードを実運用に送り込み、これがアプリケーションのパフォーマンスに厳しい影響を与えることが頻繁にありました。何がパフォーマンスのボトルネックとなっているのかについての可視性がなかったNarain氏と開発チームは、こうした停止や速度低下に効率的に対処する術がありませんでした。

停止が発生すると、ログで問題を確認するのがNarain氏のチームの仕事でした。 50ものTomcatインスタンスがあるため、この作業は非常に時間を要しました。障害発生点を探し出すのに、社員が20~30時間をかけても解決からは程遠いという事がよくありました。「当時は、通常、リソースを追加することだけで問題を解決しようとしていました。より多くのTomcatインスタンスを導入したり、データベースとの接続数を増やしたりという方法です。」とNarain氏は説明しました。
こうしたパフォーマンスの問題は、ウェブサイトを利用して注文した顧客や、電話を受けて注文したコールセンターのエージェントの両方に有害でした。リクエストの処理が遅くなるほど、注文の発注や、電話での通話も長くなりました。「電話での平均通話時間は、約2分20秒でなければなりません。当社の平均は2:25-2:35で、それほど違いはないように思われるかもしれませんが、この業界での10秒は巨大な違いなのです」とNarain氏は述べました。「ピーク時の10秒は、顧客の役に立っているエージェントが最大で20-30人少なくなることを意味します。」

AppDynamicsプラットフォームを導入するまで、我々のソリューションはインシデントだけに集中していました。現在は、問題の根本原因を発見して、それに対処することができます。


開発者が新しいコードを運用にリリースすると、通話時間はさらに影響を受けました。「ほぼ毎週、金曜日の夜になると遅れが発生し、通話時間は決まって2:47~2:50と長くなり、何かがクラッシュするという状況でした」とNarain氏は加えました。

クラッシュは、通常2、3人のエージェントに影響を及ぼすだけでしたが、時にはさらに深刻でした。「かなり高くついた2、3のインシデントがありました」とNarain氏は語りました。「ある停止で、金曜日の夜の1時間、全てのコールセンターがダウンしました。その停止による損害総額は、おそらく$100,000~150,000になったでしょう。それで、本当に何があったかについて理解することが必要になりました。」

開発者が新しいコードを運用にリリースすると、通話時間はさらに影響を受けました。「ほぼ毎週、金曜日の夜になると遅れが発生し、通話時間は決まって2:47~2:50と長くなり、何かがクラッシュするという状況でした」とNarain氏は加えました。

AppDynamicsが提供する可視性で、トランザクションを高速化

Pizza Pizzaは、アプリケーション・パフォーマンス管理 (APM) ソリューションを評価することを決断しました。 最初にNarain氏が調べたソリューションは、あまりにコストが高く、彼らのニーズにもマッチしませんでした。次に、Pizza PizzaはAppDynamicsプラットフォームを見つけ、これが同社に最適であることに気付きました。

我々のコールセンターでの平均通話時間は2:25~2:35でした。これは業界平均より約10秒長かったのです。 それが現在は、2:15~2:20まで短くなりました。

インストールすると、AppDynamicsソリューションはたちまちPizza Pizzaに価値を提供し始めました。ほんの数日で、Narain氏と彼のチームは、リソースの大半を食いつぶしていたデータベースクエリを最適化することができました。「我々の問題の1つは、コールセンターからのクエリがどのように顧客データベースと相互作用していたかということでした」とNarain氏は説明しました。「たとえ、まったくデータを書き込んでいなかったとしても、トランザクションは読み取ってコミットします。これが、アプリケーションで不要なオーバーヘッドを引き起こしていました。」彼は「こうしたSQLステートメントを最適化すると、コールセンターのマネージャーからのフィードバックで大きな違いがわかりました。注文を受ける際、彼らは応答時間における大きな改善を目の当たりにしたのです」と付け加えました。

問題の迅速な解決、実運用からのエラーを防ぐ

AppDynamicsプラットフォームによって、Narain氏と彼のチームは、はるかに速くパフォーマンスの問題を解決できるようになりました。それまで20-30時間かかっていたことが、15-30分で済むようになりました。「以前は、我々のソリューションはユーザーからのフィードバックやログに依存していて、ビジネスプロセスの動向ではなく、現在のインシデントだけに集中していました。現在は、問題の根本原因を発見して、それに対処することができます」とNarain氏は語りました。


AppDynamicsのプラットフォームであれば、停止に至る前に問題をキャッチできます。そしてそれは、費用を節約し、顧客を満足させられることを意味します。それがとても重要です。

さらに、Pizza Pizzaのアジャイルなリリースサイクルは、もはやアプリケーションのパフォーマンスに影響しなくなりました。開発者やDBAが、毎週運用へリリースする前に、AppDynamicsソリューションを使ってコードの問題を発見するので、速度低下や停止を防ぐことができるのです。 

「開発チームが最初にこのツールを見たとき、彼らの顔に興奮や信頼を見ることができました。そして現在、彼らはシステムの鳥瞰図を持っているということを知っています」とNarain氏は述べました。「AppDynamicsのプラットフォームであれば、停止に至る前に問題をキャッチできます。そしてそれは、費用を節約し、顧客を満足させられることを意味します。それが、とても重要です。」