Google Cloud Marketplace を介し Redis Enterprise でマッチメイキングを実現
Google Cloud Japan Team
何百万人ものプレーヤーをオンラインでつなぐスケーラブルなデータレイヤー
※この投稿は米国時間 2022 年 12 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。
対戦相手に満足できなかったマルチプレーヤー ゲームをプレーしたことがありますか?このシナリオはよくあることで、おそらく誰にとっても理想的な体験ではないでしょう。
ゲーム開発者は、少なくとも同等程度の実力のプレーヤー同士が対戦できるように心がけます。プレーヤー同士のマッチングを正確に行うことは、マルチプレーヤー ゲームにとって必須条件です。なぜなら、適切なマッチングを行うことで維持率と収益を増やせるからです。何より、プレーヤーのゲームのリピート率が向上し、取引高を上げることができます。
マッチメイキング機能は必要不可欠ですが、効果的なマッチメイキング機能を開発するのは困難な作業です。スキルレベルやその他多くの属性を瞬時に評価することが求められます。ゲームにおけるマッチメイキングは、どのプレーヤーもゲーム セッションに参加するために長時間待つことはないため、非常に迅速に行う必要があります。
課題
ハードウェアとソフトウェア両方の進化により、何百人ものプレーヤーがマッチングされてゲームまたは体験を楽しむ大規模なゲームも可能となっています。人気ゲームの同時プレーヤー数は、増加の一途をたどっています。現在、人気ゲームの同時プレーヤー数は、ゲーム、曜日、時間帯によって、300 万~1,000 万人1となっています。
プレーヤー層が拡大している一方で、期待されるレイテンシは短くなっています。この 2 つの力から、水平方向にスケーラブルで超高速なマッチメイキング用バックエンドの必要性が高まっています。このため、Google は Unity と提携し、Open Match というフレームワークを作成しました。Open Match は Kubernetes 上で動作し、Redis がデータレイヤーとなります。目標は、一から再開発しなくても済み、開発者がゲームに向けてプレーヤーをつなぐロジックに集中できるよう、自動スケーリング可能なマッチメイキング フレームワークを作ることでした。前回は Open Match と Memorystore の併用について説明しましたが、今回は Google Cloud Marketplace における Redis Enterprise について説明します。
Google Cloud Marketplace における Redis Enterprise
ハードウェアとソフトウェアの両方の進歩により、1 ゲームあたりにより多くの同時プレーヤーと大人数のプレーヤーがゲームに参加する中、スケーラビリティが Open Match の最重要課題となっています。Open Match は Kubernetes 上で動作するため、コンピューティング レイヤーが GKE のクラスタ オートスケーラーなどの技術で自動スケーリング可能で、通常は DevOps エンジニアにとって大きな問題にはなりません。しかしながら、データレイヤーでスケーラビリティと高可用性を確保することは、Open Match の DevOps チームにとって面白みのない作業です。
スケーラビリティと高可用性の課題に対する第一歩として、OSS Redis に代わり、Redis Enterprise Cloud で Open Match フレームワークを立ち上げました。Redis Enterprise は直線的にスケールでき、ダウンタイムを必要とせずボタンをクリックするだけでスケールできるため、スケーラビリティの負担が大幅に軽減されます。そのうえ、高可用性は、管理コンソールのスライダーで管理できます。
Redis Enterprise Cloud は、24 時間 365 日サポートと 99.999% の SLA が保証されたフルマネージド型サービスで、料金は 1 つの Google Cloud アカウントを通じてわかりやすい形で請求されます。
VPC ピアリング
Redis Enterprise Cloud は、Google Cloud Marketplace または Terraform プロバイダを通じて、数分でデプロイできます。データベースを作成したら、Google Cloud のプロジェクト名とネットワーク名を提供することで、GKE クラスタが所属する VPC と Redis のマネージド VPC をピアリングできます。ピアリングが完了すると、GKE クラスタがデータベースのプライベート エンドポイントを通じて Redis Enterprise データベースに接続できるようになります。
Redis Enterprise Cloud での Open Match の使用
新しく作成した Redis Enterprise Cloud データベースがプロビジョニングされたのであれば、使用準備が整っています。以下の helm コマンドを実行して、Redis Enterprise Cloud インスタンスを指す GKE クラスタに Open Match をインストールできます。
たとえば、次のようになります。
このチュートリアルに沿って Open Match デモをデプロイして実行し、マッチを生成して Redis Enterprise の動作を確認できます。
まとめ
Redis Enterprise on Google Cloud は、20 以上の Google Cloud リージョンにまたがるアクティブ - アクティブ地理的分散機能により、線形スケーラビリティ、高可用性(99.999% SLA)を保証し、世界規模でのゲームのリリースをサポートします。ユーザーの急増は、ゲームの成功のための現実的かつ重要な機会です。ゲーム会社はこのような瞬間に備え、プラットフォーム上でプレーヤーを維持するために可能な限りのことを行う必要があります。Open Match with Redis Enterprise を採用することで、正確で、互換性が高く、超高速なマッチメイキング機能を大規模に実現できます。
次のステップ
脚注:
1. Fortnite Player Count - 現在のプレーヤー数は?
この記事は、Redis のクラウド パートナー ソリューション アーキテクトである Gilbert Lau 氏に寄稿していただきました。
- Redis、シニア パートナー ソリューション アーキテクト Volkan Civelek 氏
- Google デベロッパー アドボケイト Jon Foust