今回の事例は、300 万人以上の人が遊んでいる “剣と魔法のログレス”、500 万ダウンロードを超えた “ロードオブナイツ”、成長を続けるオンラインゲーム市場、特にスマートフォンゲームの市場の中でさえもヒット作を生み出し続けている株式会社 Aiming さんです。

MMORPG やシュミレーション ゲームに強く、以前からオンライン ゲームを作ってきたチームが殆どで、スマートフォンにシフトしても同じように企画し、技術を使っていけていることが強みであると、企画・運営グループ インフラエンジニア マネージャー の野下 洋さんが説明してくれました。

前半はまず、野下さんに Aiming についてと、Google Cloud Platform の選定理由や利用方法をお聞きし、次回、開発グループ リードソフトウェアエンジニア 芝尾 幸一郎さんに BigQuery についてお聞きします。

ゲームをして、ゲームを作る会社

いくつか Aiming さんについて書かれた記事を読んでいると、仕事中でもゲームをするという習慣があるそうですね

ゲームをするのが偉い、という記事もありますよ(笑)。自分を含むインフラチームでもゲームしている人が多いですね。凄く面白いと思っているのが、ゲームをやっていることで、企画の人がいろんな意見を自分からも吸収していくし、みんながゲームをやっていることでいろいろな可能性が生まれる。そういう風通しの良さも含め面白い会社です。その中でも社長が負けず嫌いで、自分で率先してゲームをやりますし、取締役で、インフラチームのトップに萩原という人がいるんですが、とにかくゲームを知っていて、それだけゲームをしている。それを見ていても、もっとゲームをやらないと、となってきます。国内のゲームだけでなく海外のゲームも含めて。


その社長の椎葉さんの話は良く見聞きしますが、会社ではどういった方なんですか?

会社では、フレンドリーな人で、一緒に野球をやったり、フットサル一緒にやったり。大会に一緒に出たりもしてます。尊敬している人です。


大勢の人が遊んでいるゲームを運営されていますが、インフラチームは何人くらい?

東京に 5, 6 人、大阪に 2 人。AGS(Aiming Global Service Inc.)というフィリピンにある子会社に数十人。日本では高レベルの作業をして、週次のメンテナンスは AGS に実施してもらっていますが、まだまだ人材が不足しています。


インフラチームの仕事内容について教えてください。

多岐にわたっていますが、サービスのインフラ部分については、サーバーを構築していくことなのですが、そのとき 2 通りあって、1 つは、今後も増やしていく予定の海外のゲームの導入。このときまず、構成をチェックして、そのままでは問題がある部分が出てくるので、それを修正して構築します。もう一つは、自社で開発する国内向けのゲームを、開発メンバーと話し合ってこういう構成にしよう、こういうふうに作ろうと進めていくことが中心です。その後の運用は AGS にお願いしています。仕組みだけを作って AGS に、というのが理想ですが、そこまではまだ完全にはやれていないですね。

クラウドの採用基準

以前、別の方がされていた講演で、クラウドの採用基準は、様々な意見を集めて、ひたすらクラウド ベンダーの営業と話すという内容を聞きましたが、今はどうしているのですか?

当時は安さ、いかに安くするかを重要視してました。必要な要件をならべて、相見積とって、安くさせて、としていました。今は会社の状況や規模も変化して、コスト面だけでなく、もっと使い勝手だとか、運営までを見越した選定をしていくようにしています。難しいですけどね。


今回古いゲームを Google Cloud Platform に移行したそうですが、それはどういうきっかけから?

そのゲーム(ロードオブナイツの海外版)は、最初は一番実績のある AWS でやってみようかと EC2 を使っており、その後、とあるクラウドサービスへ移行しました。かなりコストに差があったんですよ。でも残念ながら安定性が低かった。それで Google Cloud Platform は使ったことなかったのですが、さらに安かったし、安定しているという話も聞いていたので、使おうとなりました。

それと Google Apps for Work を使っているので認証が楽ということもありました。なぜその点を重要視したかというと、今後セキュリティをさらに意識していく必要があって、認証を Google Apps と連携することで強固にできる、とっかかりとしてはそれもありましたね。


実際に移行の話があってから、どれくらいの期間で移行させたんですか?

社長から直接自分に、安いクラウドにしてほしいという話があって、一週間くらいで Google に決めて、そこから 1 ヶ月もしないうちに移行を終えてますね。2, 3 週間くらいで移行したのかな。Google Cloud Platform の事前評価というのも簡単な評価しかしていないですね。とりあえずゲームを動かすというところにフォーカスして、動けば使ってみようという感じでした。


移行というとプログラムだけじゃなくてデータの移行もあったと思います。それぞれのクラウドの違いからくる、問題はありましたか?

それはないですね。クラウドに依存する作り方はしてないので、CentOS の環境があれば動く構成になっています。ただ、これまで移行してきた中でモレがあったことはありましたけど、それはナレッジ化していたので、ほぼノーミスで今回は移行できましたね。


まだ使われて間もないですが、Google Cloud Platform を利用した感想は?

Compute Engine の)インスタンスを 30 くらい立ち上げていて、以前のクラウドサービスから移行後もサービスに影響を与える問題はゼロ。多少再起動したりということはありましたけど、特に問題なく、ほぼ何の問題もなく動いてますね。


他に利用している Google Cloud Platform のサービスはありますか?

特に BigQuery を使っています。Cloud Storage はまだ使っていないのですが、Amazon の S3 をずっと使ってきて、転送量が高く移行しようかという話は出ています。


オンラインゲームのためのクラウド選定

今後も新しいアプリケーションをリリースしていくと思いますが、オンプレミスも含めて、今後サーバの選び方についてどういう考えを持っていますか。そしてその中での Google Cloud Platform について。

これまで検証をしてきた中で、MMORPG とシュミレーションゲームという 2 つの大きなゲームジャンルで、MMO ではデータベース負荷が激しく、クラウドではまだ怖いところがある。他のプロジェクトでは Fusion IO を使い、物理サーバーを買って、Fusion IO を挿してという形なので、それをそのままクラウドに持って行こうとすると、それに対する知見がないこともあって、クラウドではまだ難しい。でも、もう 1 つ、シュミレーションゲームの方向だと Google を使っていく方向になるかとは思います。あと日本でリリースするときに、日本リージョンがないこと、実際それで特に問題はないことははわかりつつも、海外リージョンの Google を国内向けのタイトルで使う程のこだわりはなくて、そのゲームにあわせた最適なクラウドを選ぶときに、最適であるという観点から日本のリージョン使えるベンダーを選ぶことも、その 1 つの要素であるので。

その他に、英語対応しているのも必須です。AGS でも使えるようにしなければならないので。それと料金が安いのと、中には無茶苦茶なプロジェクトもあって、リリースするまでの期間が長い、例えば 4 月にリリースするとと言っていたのが 1 年延期みたいなことがあるので、無料期間設けてもらったりとか、そういったところを柔軟に対応してもらえると本当に助かりますね。

作りの面でも、共有ストレージを作れない、1 つのサーバ上に何台かの仮想サーバーを立てて、スケールアウトしていくクラウドがあるのですが、そうなると物理サーバがメンテするとき全部止めないといけない。でも共有ストレージ化されているのだったら、vMotion のような機能で動かせ続けられるので、そういったメンテナンス性がどの程度かというのは意識しています。セキュリティ面では、コントロール パネルに対してどういうセキュリティが設定できるかということは見てて、例えば IP 制限がかけられるとか、パスワードの定期変更の通知があるかといったことは見てますね。性能はあまり見れていないですが、ベンチマークして、指標を立てるということはやっています。


サーバーは、自動でスケールさせるようにしているのですか、それともあらかじめ必要なリソースを確保しておく?

前もって確保させていますね。うちのゲーム、例えばログレスを見るとわかると思うのですが、ワールドという概念があるゲームが多くて、それはインフラエンジニアからすると素晴らしいと思っていて、人数を制御できるので。ゲームとしては、良い面も悪い面もあって、ユーザーのみんなが同じところで遊べた方が絶対にいいですけど、ただそうはいってもサーバ障害が起こるよりはいいですから。それで、ローンチする前に 2, 3 ワールド準備しておくんですね。ある程度のユーザーが集まってきたら負荷をみて、別のワールドに流すようにしながら、ある程度ワールド増やしていく。その後、時間がたって、サーバに対してのデイリーのアクティブが下がってきたら、今度はユーザーをマージさせるようにしてるんですよ。そこで気になるのが、サーバーが最初増えるので、ワールド区切るようにしていくと、サーバの台数に制限があるクラウドは使えないです。そういう運営を見据えた選定はしてますね。


高速なリージョン間通信を活かしたゲーム作り

今後 Google Cloud Platform をどう使っていきたいか、何かあれば教えてください。

他のリージョン間でもローカル通信できるというのはいいですね。結局なくなってしまったんですけど、使いたいというプロジェクトもあったんですよ。でも、それを使ったゲームが作れたらとは思っています。

あと、サーバーを立てて MySQL をインストールして使うわけですけど、Google なら Cloud SQL があるように、そういうものを使っていくのがベストだと思うので、使っていく方向を探りたいですね。以前、my.cnf をいじる職人さんがいましたが、そういうことに頭を使わずに済むようになったらいい。何億というレコードになると性能という問題に直面しますが、そこは Google が良きに計らってくれて、こちらはデータを入れておけばいいというような。仕事なくなるかもしれないですけど(笑)


次回後半は、BigQuery の利用について話していただきます!





■ Google Cloud Platform のその他の導入事例はこちらから