突発的なアクセス数の増大についても、事前のスケジューリングやアラートに合わせたスケールアップなど、多重化された負荷対応の機構が円滑に稼働することで、運用開始から数ヶ月経った現在では、専任の担当者が不要となっています。
グリー株式会社は 『インターネットを通じて、世界をより良くする。』 をミッションに掲げ、ソーシャル・ネットワーキング・サービス(SNS) GREE をはじめ、世界初のモバイルソーシャルゲームを開発するなど、日本のモバイルインターネットサービスを牽引してきました。近年ではネイティブシフトをテーマに掲げ、アプリ開発スタジオ Wright Flyer Studios などから数多くのスマートフォン向けゲームアプリをリリースしているほか、メディア事業、広告事業、投資事業にも注力しています。
この Wright Flyer Studios からリリースされているスマートフォン向けゲームアプリのひとつに『アナザーエデン 時空を超える猫(以下『アナザーエデン』)』があります。このタイトルでは、「今一度、時空を超えて冒険の旅に出よう」をキャッチフレーズに、往年の JRPG 黄金期の濃密なゲーム体験をスマートフォン上で実現することを目指して、2017 年 4 月から配信されています。
また、グリー株式会社では、2015 年に 約 1 年という短期間で 20 を超えるサービス、数千台のオンプレミスサーバーを AWS へ全面移行し、大幅なコスト削減やインフラ調達時間の短縮を実現し、500 名のエンジニア全員で AWS を活かした開発運用体制を構築、運用しています。
モバイルソーシャルゲームの開発は、ますます高度化、長期化してきています。サーバーアプリケーションの運用に多数の人員を割くことよりも、豊かなゲーム体験の構築に注力することが求められると同時に、サービスイン後の運用では、短期間での爆発的な負荷の増大への対処に加え、スムーズな更新サイクルの早期実現についても強く要求されるようになってきています。この安定的かつ発展的な開発体制の構築・維持と、その後の運用体制への速やかな移行可能性の確保、少人数でのサーバーアプリケーション開発および運用の継続といった課題を克服するため、グリー株式会社では高可用性とスケールアップ性能を兼ね備えた DB を中心に、高度に統合され、自動化された AWS 開発運用体制を模索していました。
「さらに、今回の『アナザーエデン』においては、ソーシャルゲームの可能性を一歩拡大させるような新しいゲーム体験の提供を、サーバーバックエンドも含めたゲームシステムアーキテクチャを再考することで実現できないか、という世界初のモバイルソーシャルゲームを開発した企業としての新たな挑戦も含まれていました。」(鈴木氏)
グリー株式会社にはすでに豊富な AWS の運用実績やノウハウの蓄積があったため、これに依拠してゲームシステムを構築・運用すること自体は最も堅実な選択でした。そのうえで、これまで以上に高度なプレイ体験を実現できるようなゲームサーバーシステム、しかも少人数かつ低コストで運用可能なシステムの実現が求められていました。
そのため、グリー株式会社は『アナザーエデン』において、あえてもっとも得意とする MySQL を中心としたソーシャルゲームのサーバーアプリケーションモデルのベストプラクティスから問いなおし、DB としてはよりシンプルなアーキテクチャといえる KVS を選択することにしました。こうすることで、データの中央集権管理体としてのサーバーアプリケーションの役割を大幅に削減し、より直接的にユーザーの体験へ寄与しやすいクライアントゲームアプリケーション側にデータ生成処理を移譲することができるようになります。
「シンプルでスキーマレスな KVS であれば、他の私たちの制御下にないプロセスも同時に DB 上で実行できます。リソースを事前に設計することが難しく、外部からの監視やメトリックの取得を十分に行えないような、不安定で過酷な運用となるモバイルデバイス上で動作するクライアントアプリケーション側においても、信頼のできる実装が可能だと判断しました。」(鈴木氏)
こうしたコンセプトのもと、『アナザーエデン』では Amazon DynamoDB をメインストレージとし、さらにスタックの単純化を図るために MySQL を利用しないという選択をしました。これによってオートセーブと呼ばれる、通信待ちストレスのない往年の JRPG を彷彿とさせるようなシームレスなゲーム体験の実現が可能になりました。このオートセーブ機構によって、サーバーアプリケーションはクライアントのローカルに存在する DB のミラー機構として動作することになり、サーバーアプリケーションの小型化、開発フェーズ・運用フェーズの双方におけるメンテナンスコストの最小化が実現されました。
また、同時に DynamoDB による高いスケールアウト性能も活用できるようになりました。「たしかに、KVS には集計作業等、いくつか不向きな領域もありますが、こちらについても DynamoDB Streams を経由して、ビッグデータ分析環境へとリアルタイムにログを流し込むことで、むしろより時系列に沿った詳しい分析が可能になるのではないかと考えました。」(于氏)
グリー株式会社では、すでに 北米を中心に提供されている複数のタイトルにおいて DynamoDB を導入しており、基本的にユーザー 1 人ひとりのゲームデータを個別に取り扱えばよいゲーム用 DB として、設計上、パフォーマンス上の適格性や運用の注意点等について事前に情報共有がなされていたことも、今回 DynamoDB が採用される大きな後押しとなりました。
グリー株式会社では、DynamoDB とそれに基づいたオートセーブ機構の構築によって、実際にすべての課題が高いレベルで解決されています。『アナザーエデン』は 2 年半弱というモバイルソーシャルゲームとしては比較的長い開発期間を経たプロジェクトですが、このうちの 2 年程度を、実際に DynamoDB を運用しながら開発を継続してきました。この間に、当初 20 程度だったデータテーブルは数百に増え、現在もバージョンアップに合わせて拡張が続いています。また、こうしたデータセットの拡張には、サーバーサイドエンジニアは基本的に関与していません。
「サーバーサイドのアーキテクチャがシンプルなため、クライアントエンジニアがサーバーアプリケーションの性質や通信モデルを考慮したり、仕様を学習したりするコストも非常に小さくなっています。普段の開発においては、サーバーサイドアプリケーションの存在さえ忘れているほどです。この点は、開発期間中においても 300 万ダウンロードを達成した現在においても同様です。これにより、エンジニアリングリソースをゲームプロダクトにおいてはより商品性に直結する面白さの追求や、そのための分析基盤の充実へと振り分けることができています。」(鈴木氏)
モバイルソーシャルゲームにとって、サービスイン直後の爆発的な負荷増大に対応できるかどうかは、その後のプロダクトの命運をも左右する非常に重要な課題です。しかし同時にサービスイン直後にどのくらいのアクセスが来るのかを事前に予測することは非常に難しいのも現実です。グリー株式会社では、プロダクトの商品性やプロモーションの成果がどの程度のものであるのかは、ローンチ直前まで流動的であることが多く、ギリギリまでその最大化へ向けた努力がなされるため、良い意味でも悪い意味でも事前の予測が裏切られてしまうこともあります。
「この点は『アナザーエデン』についても同様でしたが、DynamoDB のスケールアウト性能が私たちの期待を裏切ることはありませんでした。実際、『アナザーエデン』のサービスイン直後のアクセス数は事前予測の数倍で、数日中に 100 万ダウンロードを達成する規模でしたが、Amazon EC2 および DynamoDB のオートスケーリングによって、サーバーリソースの不足によるサービス停止は一度も起きていませんし、ハードウェアの障害によるものもほとんどありません。」(于氏)
また、アクセスの集中するピークタイムには、深夜の最小値の 5 倍から 10 倍の規模のアクセスがありますが、グリー株式会社では、前日までの負荷傾向から算出した適切なキャパシティ設定を自動で行うことによって、費用を低減することができています。さらに、イベント期間やバージョンアップ直後のような突発的なアクセス数の増大についても、事前のスケジューリングやアラートに合わせたスケールアップなど、多重化された負荷対応の機構が円滑に稼働することで、運用開始から数ヶ月経った現在では、専任の担当者が不要となっています。
「DynamoDB Streams によって、サービスに影響を与えることなく安全にデータ変更のログを分析基盤に流し込むことができるため、すべてのデータ変更の履歴を Amazon S3 上に保存し、各種の KPI の集計や、個別のアドホックな分析を任意のタイミングで過去に遡って実施する準備が整っています。」(于氏)
今回の『アナザーエデン』のオートセーブ機構は同時期にリリースされたゲームアプリでも採用され、よりアグレッシブなモバイルソーシャルゲーム運用モデルにおいても同様に高いパフォーマンスを示すことが確認されています。
「この経験を活かして開発された新プロダクトにおいては、『アナザーエデン』のわずか 2 ヶ月後のサービスインにもかかわらず、サーバーシステム由来のサービス停止は発生しませんでした。こうした実績を受けて、今後の新規開発タイトルにおいても、本機構の採用が検討されています。こうした取り組みを通じて、今後もグリー株式会社は『インターネットを通じて、世界をより良くする。』ようなサービスの創出を続けていきたいと考えています。」(鈴木氏)
AWS クラウドがメディア・エンターテインメント企業でどのように役立つかに関する詳細は、デジタルメディアとエンターテインメントの詳細ページをご参照ください。