【PR】「神運営」を実現するツール「AppDynamics」をスマホ・オンラインゲームに導入する意義
GamesIndustry Japan Editionの読者であれば,スマートフォンゲームやオンラインゲームを遊んでいるとき,ゲームのレスポンスが極めて悪くなり「やってられるか!」と思ったことが少なからずあるのではないだろうか。
しかし,ネットワークを介したゲームで,こうした状況になったときの原因を特定するのは,サービスを提供している企業にとっても容易なことではない。それは,そもそもプレイヤー自身の環境のせいなのか,ネットワークにトラブルがあるのか,あるいはサーバーサイドに問題が発生しているのか……というところから調査を始めなければならないからだ。サーバーサイドが問題だったとしても,複数が絡み合ったサーバーのどこに問題があるのかを突き止めるのは難しい。
そんなときに活躍するのが「アプリケーションパフォーマンス管理」ツール(以下,APMツール)である。APMは,Webサイトなどアプリケーションのトランザクションすべてを可視化し,パフォーマンス低下などUX(ユーザーエクスペリエンス:使用者の体感)を損なう事象を自動検知してくれるというソリューションだ。
今回,新日鉄住金ソリューションズの田中俊行氏と叶 詠希氏に,同社が取り扱っているAPMツール「AppDynamics」について話を聞いてみた。
AppDynamicsがなぜゲーム運用に必要なのか
「実は弊社自体が,日本における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件について,どれくらいの時間でレスポンスを返せているのかを計測できるようになっている。
さらにクラッシュレポートを見れば,どの種類の端末,どのOS,ゲームのどこで不具合が出ているかが表示される。山のようにあるAndroid端末のすべてでテストをすることが困難である以上,いかに迅速に不具合に対処できるかが重要なのは言うまでもないだろう。
しかしAppDynamicsでは,エージェントをアプリケーションサーバーにインストールするだけで,そうした作業が自動化される。すべての処理についてレスポンスの平均時間などが算出され,パフォーマンスが低下しているのかどうかが可視化されるうえ,あとから追加されたサービスも自動で検知される。
「他社のAPMツールと比較した場合,閾値を自動設定できるのは,今のところAppDynamicsだけです。その分,担当者に掛かる負担が軽減されることも大きなメリットとなります。
また決済などは外部のサービスを利用するケースがほとんどだと思いますが,AppDynamicsではそうした外部のサーバーへのアクセスも可視化され,問題が発生している場合にはきちんと分かるようになっています」(叶氏)
ちなみにデータの管理には管理サーバーが必須となるが,新日鉄住金ソリューションズのクラウドサービス(absonne)が利用できるので管理用の機材を用意しなくてもすぐに使用できる(独自の管理サーバーを立てることは可能)。
3点めは「ソースコードレベルまで原因を追跡」すること。これまた従来であれば,さまざまなサーバーからログを集め,サーバー担当者とネットワーク担当者,データベース担当者がそれらを付き合わせながら長い時間を掛けて特定していくほかなかった。
しかしAppDynamicsなら,問題箇所を発見したら,それがどのサーバーのどの部分なのかを順にクリックしていくだけで特定できる。つまりサービス運用担当者であっても何が原因なのか把握可能となり,すぐ専門の担当者やエンジニアに対応を依頼できるのである。
AppDynamicsの対応言語は,Java,.NET,PHP,Node.js,C++,Pythonとなっており,昨今のスマホゲームやオンラインゲームで使われているサーバーシステムのほとんどに対応可能だ。
「たとえばお客様から『先週木曜日の夜10時から11時頃,サイトがものすごく重かった』という問い合わせがあったとしても,AppDynamicsならその時間帯に何が起きていたのかすぐに表示できます。
またAppDynamicsは単にレスポンスに掛かる時間を計測したり,平均値と比較したりするだけでなく,夜間や特定の曜日の特定の時間だけ処理が重くなるといった普段のトレンドも自動で学習していきます。そのため,トレンドにそぐわない処理の重さが発生したときにのみ通知するといったことも可能で,それだけ担当者の負担を軽減できます」(田中氏)
不具合やパフォーマンス低下の原因を速やかに特定し修正可能に
日本ではようやく存在を知られ始めたといった段階のAPMツールだが,AppDynamicsは全世界で評価されているソリューションであり,田中氏が説明したように大手ゲーム企業の導入実績もある。それを受けて新日鉄住金ソリューションズでも,日本のゲーム企業へのAppDynamicsの提供を拡大していきたいとのこと。
AppDynamicsをゲーム運用に導入することの大きなメリットは,ゲームのパフォーマンス低下に伴うユーザー離れなどのビジネス機会損失を減らせることと,パフォーマンス管理に関するコストを抑えられることである。
「たとえば配信を開始したばかりのスマホゲームが,不具合やパフォーマンス落ちの連続でまともに遊べなかったりすると,ユーザー評価欄に酷いコメントが並びますよね。いったんそうなってしまうと評価を覆すのはかなり難しくなってしまいますが,AppDynamicsを導入することにより,どこが原因なのかを早期に発見し,問題が表面化する前に修正できるわけです」(田中氏)
「AppDynamicsによる自動化に伴って関連する工数が減りますから,その分単純にコストを削減できます。また専門のエンジニアを常駐させる必要もなくなりますから,そこでもコストを抑えられるでしょう。
さらにアーケードの対戦ゲームの中でも,サーバーを介したネット対戦をメインに据えたものでは稼働時に回線が落ちないよう,ネットワークの設計に余裕を持たせるケースが多く見られます。その場合もAppDynamicsを導入すれば,今ほどコストを掛けずに済むのではないでしょうか」(叶氏)
また現在,新日鉄住金ソリューションズでは,AppDynamicsの無償評価支援サービスを展開している。このサービスは,AppDynamicsのライセンスを1か月間無償で提供するという内容で,導入を検討する企業の既存システムとの適合チェックができる上,セットアップの支援や操作に関する初期トレーニング,メールによるQ&Aといったテクニカルサポートも受けられる。
「無償の評価期間中でも,専門のエンジニアがサポートに付きますし,またコントロールサーバーもクラウド環境で用意されていますので手間は掛かりません。無償期間のあと引き続きAppDynamicsをお使いいただく場合には,そのままクラウド環境を使っていただいてもいいですし,お客様のサーバーにコントロールサーバーを移すこともできます。機能面はもちろんのこと,価格面にも自信を持っていますので,今現在,スマホゲームやオンラインゲームのパフォーマンス管理にコストを割いている企業様には,この機会にぜひ一度AppDynamicsを試していただきたいですね」(叶氏)
ところで新日鉄住金ソリューションズとは
さて,現在のようなインターネットが一般化する以前にも全国規模のネットワークは存在した。たとえば銀行などのオンライン業務はずっと前から行われていた。しかし,それらよりもさらに前に,日本で一番最初にオンライン業務を展開していたのが実は新日鐵なのだ。全国の工場を結び,独自のシステムで生産管理などを行っていたという。こういった経緯から,同社のネットワーク技術は国内でも一流の実力を誇り,とくにパフォーマンスにこだわったシステム構築を得意としている。
現在では,機械学習などを用いたデータ分析やAIで世界でもトップレベルにある同社だが,絶対の安全性と極端に高いパフォーマンスの両方を要求される株式売買のオンラインシステムなどを構築しているのも同社である。東証並みのパフォーマンスが要求されたという,某国産オンラインゲームのバックエンド構築を担当するなど,表に見えないところでゲーム業界とも無縁ではない会社だ。
AppDynamics以前にはサーバーの管理やチューンなどでは自社製ツールを使っていたという同社だが,実際,AppDynamicsと同等とまではいかなくてもフリーウェアなどを複数組み合わせることで似たようなシステムを作るのは不可能ではないという。ただし,構築や運用の試行錯誤は必要で,管理運用ではそれなりに優秀な技術者を割り当てる必要がある。AppDynamicsであれば運用に専門知識は必要なく,優秀な技術者はゲーム本体の開発に向けることができる。
大雑把にサーバーのCPUやストレージの負荷状況や通信量をモニタリングするツールだけでも問題の発見はできる。しかし問題の特定にはどれくらいの時間がかかるだろうか? なにもトラブルがなければよいのだが,いくら注意を払ってもトラブルを完全に排除することは難しい。そして,長い期間をかけて開発した新作ゲームも,初動のトラブルでうまく対応できなければ巻き返しは非常に困難なのだ。
パフォーマンス重視のサーバー管理をしていた同社が真っ先に飛びついたAPMツールは,単にサーバー管理を簡単にするだけでなく,システムのボトルネックを見抜き,解決の示唆まで行えるものだった。そのサポート範囲がサーバーアプリケーションだけでなく,モバイルアプリケーションにまで広がったことで,AppDynamicsはゲーム業界に最適のAPMツールとなっているといえるだろう。
AppDynamicsに関するさらなる詳細は,新日鉄住金ソリューションズの公式サイトから問い合わせることが可能だ。スマホゲームやオンラインゲームのパフォーマンス管理や,それにかかるコストに頭を悩ませているという担当者は,一度アプローチしてみてはどうだろうか。