株式会社gumiのインフラアーキテクチャ
アーキテクチャの工夫ポイント
おもしろさの追求に開発チームが集中するためにはどうすればよいか、という観点から設計しています。
認証や課金といった機能は重要ですが、おもしろさの向上には寄与しない上に継続的な開発が必要です。
そのため全ゲーム共通のマイクロサービス群(図右側の Nativebase、20個以上)として提供しています
各ゲームのAPIサーバーの前段に、全通信をプロキシする自社開発のミドルウェア(GHR)を配置し、認証/セッション管理/課金等をマイクロサービスと連携して処理しています。
これにより、APIサーバーは前処理済みのデータを受け取るだけで済み、ほとんどのゲームのAPIサーバーではプラットフォーム依存の実装が不要な仕組みを実現しています。
これらのマイクロサービスは多くのゲームで共通利用されているため、停止を伴うメンテナンスは行わない他、障害時も影響を局所化しサービス停止を回避するようにしています。
ストレージにはDynamoDBを採用し、プラットフォーム依存部分は分離されているため、デプロイの影響範囲も最小限に抑えられています。
現在のアーキテクチャの課題と今後の改善予定
メンテナンス性、安定性、パフォーマンス、コスト効率は常に追求しています。
現在、ゲーム、マイクロサービス双方でコンテナ化を進めており、ゲームでは各種プログラミング言語への対応速度や開発チームの自由度向上を、マイクロサービスでは独立性を維持しつつリソースの利用率を改善しコストパフォーマンス向上を狙っています。
また、ほぼ全ての要素はコード化されており、新しいゲームや開発環境の追加にも迅速に対応可能となっています。
しかし、開発環境の追加や削除にインフラチームの関与が必要な状況です。これを解消し、開発チームが環境の追加や削除を簡単に行えるような仕組みの構築を目指しています。
他には可観測性を向上させるため、より統合して各種トレース・ログ・メトリクスを集約・閲覧できるような取り組みもしていきたいと思っています。
◆執筆:清水 佑吾 株式会社gumi CTO
【公式サイト】
https://gu3.co.jp/game/
アーキテクチャを構成するツール
会社情報
株式会社gumi
2007年の創業以来、モバイル端末向けSNSの開発から始まり、フィーチャーフォン向けアプリの開発、そして現在では主力のモバイルオンラインゲーム事業に加え、新規事業としてXR領域(VR、AR、MR等)やブロックチェーン領域にも参入し、業容を拡大させています。今後とも、企業理念「Wow the World!」に基づき、すべての人々に驚きと感動を創り届けます。