Findy Tools
開発ツールのレビューサイト
検索結果がありません

神魔狩りのツクヨミアーキテクチャ

Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加

神魔狩りのツクヨミアーキテクチャ

会員限定コンテンツです。無料登録すると制限なしでお読みいただけます。
無料登録してアーキテクチャを見る
最終更新日 投稿日

アーキテクチャの工夫ポイント

アーキテクチャ選択の背景や意図

『神魔狩りのツクヨミ』では、運用負荷の削減とコスト効率の向上を目指し、コロプラ従来のGKEベースのアーキテクチャから、Cloud Runを中心としたフルマネージドサービス構成を選択しました。
GKEクラスタを全く構築しなくて済むようにデプロイパイプライン、キューバックエンド、モニタリングなどにもフルマネージドサービスを利用しています。
また、生成AIのアーキテクチャは別の観点で効率化をしています。

アプリケーションサーバー(Cloud Run)

アプリケーションはCloud Run上で動かしています。
GKEからCloud Runへ移行する1つ目の大きなメリットとしてはGKEクラスタそのものの管理が不要であることです。
GKEアップグレードから解放されることが運用面において大きな作業コスト削減になります。
2つ目の大きなメリットとしてはゼロスケールが出来ることです。
特に開発環境においてメリットがあり、縮退スケジュールを組まなくても人がアクセスしている時だけインスタンスが起動するため、就業時間以外のコストをゼロにできます。
ゼロスケール状態でアクセスするとコールドスタートになるため、コンテナの起動速度が遅いと初回アクセス時に少しもたついてしまいますが、ほとんどの環境では許容できます。
QA環境や本番環境などコールドスタートの影響を抑えたい環境では最低1台起動しておくように調整しています。

デプロイパイプライン(Cloud Deploy)

デプロイにはCloud Deployを利用しています。
Cloud Run上でAPIサービスを構築するだけの場合、GKEに比べてマニフェストはシンプルになるため、 HelmではなくKustomizeを採用しました。
Cloud Deploy上でイベントが発生すると特定のPub/Subトピックにメッセージが公開されるため、それをサブスクライブしてSlack通知をすることでデプロイの進行がリアルタイムにわかるようにしています。
Cloud Deploy標準のCloud Run用カナリアデプロイ機能を利用して安全なリリースも実現しています。

キューバックエンド(Cloud Tasks)

キューバックエンドにはCloud Tasksを利用しています。
Laravel用のカスタムドライバライブラリを作成し、他のキューバックエンドとの違いを意識せずにアプリケーション開発ができるようにしました。
Cloud TasksからはHTTPターゲットタスクとして、Cloud Run上に構築したキューサービスに対してpush型でジョブのリクエストがされるようにしています。
Cloud Tasks側で自動的にExponential Backoffでリトライをしてくれるのも便利です。

モニタリング(Cloud Monitoring + Datadog)

モニタリングにはCloud MonitoringとDatadogを併用しています。
インフラメトリクスはCloud Monitoringで収集する一方、アプリケーション固有のメトリクス(ゲーム内イベントの処理数など)はDatadogで管理しています。
Datadogではダッシュボードや監視設定を柔軟に作成できるため、インフラメトリクスだけでは捉えられないアプリケーション特有の挙動を監視し、早期にサービスの異常に気付けるように活用しています。
またDatadog関連として、Cloud Run環境特有のDatadog導入の工夫については、Findy Toolsに寄稿した「Google Cloud RunでのDatadog APM活用事例」でも詳しく紹介しています。
https://findy-tools.io/products/datadog/5/391

生成AIプラットフォーム

今作ではゲームに組み込まれている画像生成AIが特徴的な点です。
プラットフォームにはRunPod Secure Cloudを利用しています。
画像生成ワークロードに最適化されたRTX4090などのGPUがGoogle CloudのL4と比較して同等以下のコストで利用できることが採用の大きな理由です。

現在の課題と今後の改善予定

固定のGCE VMインスタンスを立ち上げて利用しているコンポーネントやフルマネージドではあっても固定の料金がかかってしまうコンポーネントがまだ存在するため、さらにフルマネージドサービスや利用実態にあわせたコスト効率にできるようなサービスを活用していきたいと考えています。
コストの効率化もさることながら、サービスの開発運用における本質的な作業に関係者が集中できる環境を目指しています。

◆執筆:駒崎 大輔 @dkkoma
株式会社コロプラ 技術基盤本部 第2バックエンドエンジニア部 サーバー基盤グループ LCEチーム

アーキテクチャを構成するツール

会社情報

株式会社コロプラ

株式会社コロプラ

コロプラは「“Entertainment in Real Life” エンターテインメントで日常をより楽しく、より素晴らしく」をミッションに掲げ、『白猫プロジェクト』、『ドラゴンクエストウォーク』をはじめ、遊んで稼げるブロックチェーンゲーム『Brilliantcrypto』など多種多様なゲームを展開しています。