Google Cloud Game Servers の一般提供開始: グローバルなゲームのリリースを簡素化
Google Cloud Japan Team
※この投稿は米国時間 2020 年 8 月 19 日に、Google Cloud blog に投稿されたものの抄訳です。
世界中の多くのゲーマーがマルチプレーヤー型ゲームに参加するにつれ、プレーヤーの高まるニーズにデベロッパーはゲームをスケールすることで対応し、優れたゲームプレイ エクスペリエンスを提供すると同時に、土台となる複雑なグローバル インフラストラクチャを管理する必要があります。
この問題を解決するため、多くのゲーム企業が費用のかかる専用ソリューションを構築するか、デベロッパーによる選択と管理が制限されるプリパッケージ ソリューションを選ばざるを得なくなっています。
Google Cloud は今年の初め、オープンソース ゲームサーバーのスケーリング プロジェクトである Agones 上に構築されたマネージド サービス、Game Servers のベータ版のリリースを発表しました。Game Servers はコンテナ オーケストレーション用の Kubernetes と、ゲームサーバー フリート オーケストレーションとライフサイクル管理用の Agones を使用して、ゲームの管理とスケーリングの実現に向け、最新の簡素化された枠組みをデベロッパーに提供します。
本日、本番環境ワークロード向けの Game Servers の一般提供を開始したことをお知らせいたします。Game Servers がインフラストラクチャ管理を簡素化することで、デベロッパーはプレーヤーにより優れたゲームを構築するためにリソースを集中させることができます。Game Servers がゲームの実行にどのように役立つかを示す基本概念について、いくつか詳しく見ていきましょう。
クラスタとレルム
ゲームサーバー クラスタとは、Game Servers における最小単位の概念であり、Agones を実行する Kubernetes クラスタを指します。ユーザーが定義し終えたら、クラスタをレルムに追加する必要があります。
レルムは、ユーザーによって定義されるゲームサーバー クラスタのグループのことで、ゲーム クライアントの観点からは、まとまった単位として扱うことができます。デベロッパーは選択した方法でレルムを定義できますが、レルムの地理的分布は通常、ゲームのレイテンシ要件によって決まります。そのため、大半のゲームはゲーム ホットスポットのレルムを使用して大陸ベースでレルムを定義します(米国、英国、日本は、北米、欧州、アジアのプレーヤーにサービスを提供するなど)。
ゲームに期待することが、特定の国で時間をかけて勢いに乗ることであっても、初日から世界的なヒットを飛ばすことであっても、高可用性とスムーズなスケーリングを確保するために、単一のレルムで複数のクラスタを実行することをおすすめします。
デプロイと構成
レルムとクラスタを定義したら、「デプロイと構成」と呼ばれる概念を使用して、ゲーム ソフトウェアをロールアウトします。ゲームサーバーのデプロイとは、世界中の一部またはすべてのゲームサーバー クラスタにデプロイできる、ゲームサーバー ソフトウェアのバージョンの全記録です。ゲームサーバーの構成は、クラスタ全体にロールアウトされるゲームサーバーのバージョンの詳細を指定することです。
これらの概念を定義したら、次のような Agones と Game Servers の主な違いを認識できるでしょう。
まず、独自のカスタム自動スケーリング ポリシーの定義を管理できるようになります。ゲームをレルムとクラスタにセグメント化し、独自に定義したスケーリング ポリシーと組み合わせることで、デベロッパーは、精度、制御、シンプルさを最適なかたちで調整できます。たとえば、レルムレベルで、地域固有の毎日のゲームパターンに合わせてより多くのサーバーを自動的にプロビジョニングするポリシーを指定したり、世界規模のゲーム内イベントに備えてすべてのクラスタをグローバルに同時にスケールアップしたりできます。
次に、デプロイで特定のレルムを対象とすることで、新しいゲームサーバー バイナリを世界中のさまざまな地域にロールアウトできる柔軟性を獲得できます。これにより、選択したレルムで、新しいソフトウェアのロールアウトの A/B テストやカナリアテストが実行できます。
最後に、Game Servers は可能な限りカスタマイズできるように構築されていますが、テクノロジーだけでは不十分である(勝利を収めていない)ことも認識しています。Google Cloud のゲームの専門家とお客様のチームが協力してリリースの成功に向けて準備を整え、Google Cloud を基盤とする Game Servers を使用することで、ゲームの長期的な成長を確実なものにすることができます。
ゲーム向けのオープン アーキテクチャの構築
私たちは、それぞれのゲームがユニークであり、ゲーム デベロッパーにとってコントロールが最も重要であることを認識しています。デベロッパーはいつでも Game Servers からオプトアウトし、自身で Agones クラスタを管理できます。さらに、基盤となる Kubernetes クラスタに常に直接アクセスできるため、Agones インストールに独自のゲーム固有の機能を追加する必要がある場合は、その作業も行えます。常に、デベロッパー自身が管理することができます。
選択も重要な要素です。現在、Game Servers は Google Kubernetes Engine で実行されるクラスタをサポートしていますが、私たちのチームでは Google Cloud や他のクラウド、オンプレミスといったあらゆる環境でクラスタを実行する機能に取り組んでいます。
ハイブリッド クラウドとマルチクラウドがサポートされているため、デベロッパーはプレーヤーにとって最適な場所でゲームサーバーのワークロードを自由に実行できるようになります。また、Game Servers のカスタム スケーリング ポリシーを使用して、必要に応じて、ハイブリッド環境とマルチクラウド環境全体にグローバル フリートをデプロイする費用を最適化することもできます。
スクウェア・エニックスでアーキテクチャの責任者を務める Elliot Gozanksy 氏は、次のように述べています。「Google Cloud には長年にわたってお世話になっていますが、今は Google Cloud Game Servers から目が離せません。コンテナとマルチクラウドの機能は、今後の大規模なマルチプレーヤー型ゲームにとって必要不可欠な機能であると確信しています。Google Cloud は世界規模でスケールできる柔軟でオープンなソリューションを作成することで、ゲーム デベロッパーへの取り組みを証明し続けています。」
Game Servers は年末まで無料となっており、Kubernetes クラスタの基本的な使用に対してのみ課金されます。Game Servers について詳しくは、Game Server プロダクトのページをご覧ください。クイックスタート ガイドを使用してすぐに使い始めることもできます。また、Google Cloud Next ‘20: OnAir(無料登録はこちら)の Cloud で大規模なグローバル ゲームを開始するソリューションに参加して、あらゆる規模のゲーム デベロッパーが作成したゲームと世界中のプレーヤーを結び付けるために Google Cloud を役立てる方法について詳しく知ることもできます。
-ゲームのための Google Cloud 担当チーフ アーキテクト Rob Martin