【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義


e-Bay,Expedia,CISCO,NASDAQなどで選ばれたAPMツールは,ゲーム業界をどう変えていくのか? 新次元のアプリケーション管理がもたらすサービス水準とは。

 GamesIndustry Japan Editionの読者であれば,スマートフォンゲームやオンラインゲームを遊んでいるとき,ゲームのレスポンスが極めて悪くなり「やってられるか!」と思ったことが少なからずあるのではないだろうか。
 しかし,ネットワークを介したゲームで,こうした状況になったときの原因を特定するのは,サービスを提供している企業にとっても容易なことではない。それは,そもそもプレイヤー自身の環境のせいなのか,ネットワークにトラブルがあるのか,あるいはサーバーサイドに問題が発生しているのか……というところから調査を始めなければならないからだ。サーバーサイドが問題だったとしても,複数が絡み合ったサーバーのどこに問題があるのかを突き止めるのは難しい。

 そんなときに活躍するのが「アプリケーションパフォーマンス管理」ツール(以下,APMツール)である。APMは,Webサイトなどアプリケーションのトランザクションすべてを可視化し,パフォーマンス低下などUX(ユーザーエクスペリエンス:使用者の体感)を損なう事象を自動検知してくれるというソリューションだ。

 今回,新日鉄住金ソリューションズの田中俊行氏叶 詠希氏に,同社が取り扱っているAPMツール「AppDynamics」について話を聞いてみた。


AppDynamicsがなぜゲーム運用に必要なのか


新日鉄住金ソリューションズ ITインフラソリューション事業本部 営業本部 ,マーケティング部 ストラテジック・アライアンスグループ エキスパート 田中俊行氏
 AppDynamicsは,サンフランシスコに拠点を置くAppDynamicsが開発したAPMツールで,現在全世界に2000社以上の顧客を有する。2014年に日本法人ができたが,それより早く,2012年から新日鉄住金ソリューションズがライセンス販売を行っており,グルメ情報検索サイト「ぐるなび」やゴルフポータルサイト「ゴルフダイジェスト・オンライン」といったeコマースサイトを中心に,国内では60社強が利用しているという。

 「実は弊社自体が,日本におけるAppDynamicsの最大のユーザーなんです。それ以前は研究開発部門が世界中からツールを探してきたり,社内でツール開発を行ったりしていたのですが,AppDynamicsは導入や設定が容易で,またエージェント導入による影響が少ないこと,そして継続的に開発がなされ,しかもそのスピードが速いといった理由から,今では我々の事業を展開するうえで不可欠の存在となっています」(田中氏)

 eコマースサイトでは,「0.1秒の遅れによって売上が1%減少する」「10%速くなると売上が1%増加する」と表現されるように,Webサイトの表示速度が集客・売上に直結する重要な競争要素となっている。そのため,どこに問題が発生しているのか,迅速に原因を特定できるAPMツールが重要視されているのである。そしてそれはeコマースに限った話ではない。

 「スマホゲームの普及に代表されるように,今やゲームはインターネットを介してサービスを提供するビジネスになっています。そのため今後のゲームビジネスは,eコマースサイトと同様に,ユーザーが満足できるパフォーマンスを実現できているか,きちんと管理しなければならない状況になっていくでしょう。
 実際,海外ではElectronic ArtsやBlizzard Entertainmentなどの大手ゲーム企業がAppDynamicsを導入してパフォーマンスの管理を行うという事例も,すでに出てきています」
(田中氏)

 新作アプリのレスポンスが悪い,動かないなどとなれば,ユーザーレビューの評価はそれ一色で埋まり,ゲーム内容などは評価対象にすらしてもらえない。アップデートで不具合が出たときの対応の速度などもゲームの生命線となる。売り切りで済んでいたパッケージゲームとは違い,リリースしてからが勝負どころのオンラインゲーム・ソーシャルゲームではいかに効率よく運営していくかが重要になっている。
 およそ,オンラインサービスでサーバーを運営している会社がなんの管理ツールも用意していないということはありえないだろう。しかし,ただサービスの状況を監視できていればそれでいいのか? 最近ではなにかの問題が発生したときに,いかに早く対応できるかが問われている。同じ問題が発生して同じ対応が行われたとしても,対応が早ければ「神」と讃えられ,対応が遅ければ「ゴミ」と蔑まれるのがゲーム運営というものなのだ。


複雑化したシステムのパフォーマンス管理を行うAppDynamics


 それではAppDynamicsの概要を具体的に見ていこう。
 まず前提として,昨今ではユーザーがネットサービスにアクセスするときに,PCやスマートデバイスなどさまざまな端末を使用する。また一口にスマートデバイスといってもiOS端末もあればAndroid端末もあり,さらに機種やバージョンが細分化しているため,どのような状況下で問題が発生するのか特定が難しい。
 またサーバーサイドも,現在ではSaaS(Software as a Service)の活用や,他社サービスとの連携など,システム全体が以前よりも格段に複雑化しており,パフォーマンスの管理が難しくなっている。

 そうした中でAppDynamicsは,パフォーマンス管理において大きく3つの特徴を持っている。

 1点めは「ユーザーの実体感を計測」することだ。従来であれば稼働サーバーのCPU使用率やメモリの占有率,ネットワークのトラフィックなどを確認することで,「おそらくユーザーが満足できるサービスを提供できているだろう」と推測するしかなかったのだが,AppDynamicsではユーザーからのリクエスト1件1件について,どれくらいの時間でレスポンスを返せているのかを計測できるようになっている。

サイトにログインしたり,カタログを開いたりといった顧客のリクエストとレスポンス時間が逐次記録され,どこでパフォーマンスの低下が起こったのか一目で分かる
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義

 さらにクラッシュレポートを見れば,どの種類の端末,どのOS,ゲームのどこで不具合が出ているかが表示される。山のようにあるAndroid端末のすべてでテストをすることが困難である以上,いかに迅速に不具合に対処できるかが重要なのは言うまでもないだろう。

クラッシュレポートではどんな機種がどこでエラーを出したかが記録されている
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
クラッシュ時のスタック内容などを詳細に見ていくことが可能
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義

新日鉄住金ソリューションズ ITインフラソリューション事業本部 営業本部 マーケティング部 マーケティング・コミュニケーションGr 叶 詠希氏
 2点めは「サーバー処理を自動マップ化」すること。こちらも従来であればユーザーのリクエストに対して,どの処理にどれだけ時間が掛かったかを把握し,それぞれが遅いのかどうかの閾値を個別に設定していく必要があり,またシステムで使うサービス同士の連携も担当者が自分で把握するほかなかった。そのうえ,新たにサービスが追加された場合には,それらの作業を手動でやり直していたのである。
 しかしAppDynamicsでは,エージェントをアプリケーションサーバーにインストールするだけで,そうした作業が自動化される。すべての処理についてレスポンスの平均時間などが算出され,パフォーマンスが低下しているのかどうかが可視化されるうえ,あとから追加されたサービスも自動で検知される。

 「他社のAPMツールと比較した場合,閾値を自動設定できるのは,今のところAppDynamicsだけです。その分,担当者に掛かる負担が軽減されることも大きなメリットとなります。
 また決済などは外部のサービスを利用するケースがほとんどだと思いますが,AppDynamicsではそうした外部のサーバーへのアクセスも可視化され,問題が発生している場合にはきちんと分かるようになっています」
(叶氏)

 ちなみにデータの管理には管理サーバーが必須となるが,新日鉄住金ソリューションズのクラウドサービス(absonne)が利用できるので管理用の機材を用意しなくてもすぐに使用できる(独自の管理サーバーを立てることは可能)。

 AppDynamicsのエージェントをアプリケーションサーバーにインストールすると,システム内の連携が自動的にマップ化される。特定の時間または期間内にどれだけリクエストがあり,レスポンスにどれだけ時間が掛かったのかといった情報も確認できる
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義

 3点めは「ソースコードレベルまで原因を追跡」すること。これまた従来であれば,さまざまなサーバーからログを集め,サーバー担当者とネットワーク担当者,データベース担当者がそれらを付き合わせながら長い時間を掛けて特定していくほかなかった。
 しかしAppDynamicsなら,問題箇所を発見したら,それがどのサーバーのどの部分なのかを順にクリックしていくだけで特定できる。つまりサービス運用担当者であっても何が原因なのか把握可能となり,すぐ専門の担当者やエンジニアに対応を依頼できるのである。
 AppDynamicsの対応言語は,Java,.NET,PHP,Node.js,C++,Pythonとなっており,昨今のスマホゲームやオンラインゲームで使われているサーバーシステムのほとんどに対応可能だ。

特定の時間内に行われた処理をリストアップ。普段のトレンドと比較してパフォーマンスが低下している箇所に“!”マークが表示される。またマークの色が赤い場合には,より深刻度が高い
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義

eコマース処理で4件のエラーがあり,JDBCで異様に時間が掛かっていることが分かる
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
問題が発生している部分には,マップ上でも「Drill Down」と表示される。これをクリックしていくと,階層的に問題発生箇所が表示されていく
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
JDBCで一つの処理が全体の99.9%の時間を占めている
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
さらにドリルダウンすると発行されたSQLまでたどり着ける
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義

 「たとえばお客様から『先週木曜日の夜10時から11時頃,サイトがものすごく重かった』という問い合わせがあったとしても,AppDynamicsならその時間帯に何が起きていたのかすぐに表示できます。
 またAppDynamicsは単にレスポンスに掛かる時間を計測したり,平均値と比較したりするだけでなく,夜間や特定の曜日の特定の時間だけ処理が重くなるといった普段のトレンドも自動で学習していきます。そのため,トレンドにそぐわない処理の重さが発生したときにのみ通知するといったことも可能で,それだけ担当者の負担を軽減できます」
(田中氏)

サーバーリソースの状況を,普段のトレンドと比較することも容易
【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義 【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義


不具合やパフォーマンス低下の原因を速やかに特定し修正可能に


 日本ではようやく存在を知られ始めたといった段階のAPMツールだが,AppDynamicsは全世界で評価されているソリューションであり,田中氏が説明したように大手ゲーム企業の導入実績もある。それを受けて新日鉄住金ソリューションズでも,日本のゲーム企業へのAppDynamicsの提供を拡大していきたいとのこと。

 AppDynamicsをゲーム運用に導入することの大きなメリットは,ゲームのパフォーマンス低下に伴うユーザー離れなどのビジネス機会損失を減らせることと,パフォーマンス管理に関するコストを抑えられることである。

 「たとえば配信を開始したばかりのスマホゲームが,不具合やパフォーマンス落ちの連続でまともに遊べなかったりすると,ユーザー評価欄に酷いコメントが並びますよね。いったんそうなってしまうと評価を覆すのはかなり難しくなってしまいますが,AppDynamicsを導入することにより,どこが原因なのかを早期に発見し,問題が表面化する前に修正できるわけです」(田中氏)

 「AppDynamicsによる自動化に伴って関連する工数が減りますから,その分単純にコストを削減できます。また専門のエンジニアを常駐させる必要もなくなりますから,そこでもコストを抑えられるでしょう。
 さらにアーケードの対戦ゲームの中でも,サーバーを介したネット対戦をメインに据えたものでは稼働時に回線が落ちないよう,ネットワークの設計に余裕を持たせるケースが多く見られます。その場合もAppDynamicsを導入すれば,今ほどコストを掛けずに済むのではないでしょうか」
(叶氏)


 また現在,新日鉄住金ソリューションズでは,AppDynamicsの無償評価支援サービスを展開している。このサービスは,AppDynamicsのライセンスを1か月間無償で提供するという内容で,導入を検討する企業の既存システムとの適合チェックができる上,セットアップの支援や操作に関する初期トレーニング,メールによるQ&Aといったテクニカルサポートも受けられる。

 「無償の評価期間中でも,専門のエンジニアがサポートに付きますし,またコントロールサーバーもクラウド環境で用意されていますので手間は掛かりません。無償期間のあと引き続きAppDynamicsをお使いいただく場合には,そのままクラウド環境を使っていただいてもいいですし,お客様のサーバーにコントロールサーバーを移すこともできます。機能面はもちろんのこと,価格面にも自信を持っていますので,今現在,スマホゲームやオンラインゲームのパフォーマンス管理にコストを割いている企業様には,この機会にぜひ一度AppDynamicsを試していただきたいですね」(叶氏)

【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義


ところで新日鉄住金ソリューションズとは


【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
 ここまで説明してこなかったのだが,AppDynamicsを扱う「新日鉄住金ソリューションズ」という,ちょっと厳つい名前に及び腰な人もいるかもしれない。もともとの新日鉄住金は「新日鐵」と「住友金属」が合体してできた会社だが,「新日鉄住金ソリューションズ」と聞くと両者関係のシステム屋さんをまとめた会社なのかなと漠然と思っている人もいるだろう。ゲーム業界とは全然関係なさそうな会社に思えてもしかたない。

 さて,現在のようなインターネットが一般化する以前にも全国規模のネットワークは存在した。たとえば銀行などのオンライン業務はずっと前から行われていた。しかし,それらよりもさらに前に,日本で一番最初にオンライン業務を展開していたのが実は新日鐵なのだ。全国の工場を結び,独自のシステムで生産管理などを行っていたという。こういった経緯から,同社のネットワーク技術は国内でも一流の実力を誇り,とくにパフォーマンスにこだわったシステム構築を得意としている。
 現在では,機械学習などを用いたデータ分析やAIで世界でもトップレベルにある同社だが,絶対の安全性と極端に高いパフォーマンスの両方を要求される株式売買のオンラインシステムなどを構築しているのも同社である。東証並みのパフォーマンスが要求されたという,某国産オンラインゲームのバックエンド構築を担当するなど,表に見えないところでゲーム業界とも無縁ではない会社だ。

 AppDynamics以前にはサーバーの管理やチューンなどでは自社製ツールを使っていたという同社だが,実際,AppDynamicsと同等とまではいかなくてもフリーウェアなどを複数組み合わせることで似たようなシステムを作るのは不可能ではないという。ただし,構築や運用の試行錯誤は必要で,管理運用ではそれなりに優秀な技術者を割り当てる必要がある。AppDynamicsであれば運用に専門知識は必要なく,優秀な技術者はゲーム本体の開発に向けることができる。
 大雑把にサーバーのCPUやストレージの負荷状況や通信量をモニタリングするツールだけでも問題の発見はできる。しかし問題の特定にはどれくらいの時間がかかるだろうか? なにもトラブルがなければよいのだが,いくら注意を払ってもトラブルを完全に排除することは難しい。そして,長い期間をかけて開発した新作ゲームも,初動のトラブルでうまく対応できなければ巻き返しは非常に困難なのだ。

 パフォーマンス重視のサーバー管理をしていた同社が真っ先に飛びついたAPMツールは,単にサーバー管理を簡単にするだけでなく,システムのボトルネックを見抜き,解決の示唆まで行えるものだった。そのサポート範囲がサーバーアプリケーションだけでなく,モバイルアプリケーションにまで広がったことで,AppDynamicsはゲーム業界に最適のAPMツールとなっているといえるだろう。

 AppDynamicsに関するさらなる詳細は,新日鉄住金ソリューションズの公式サイトから問い合わせることが可能だ。スマホゲームやオンラインゲームのパフォーマンス管理や,それにかかるコストに頭を悩ませているという担当者は,一度アプローチしてみてはどうだろうか。

AppDynamics製品情報ページ