GCPIT・資格

【GCP Professional Cloud Architect認定試験】ケーススタディ回答例:Mountkirk Games

スポンサーリンク

GCP初学者
GCP初学者

GCP Professional Cloud Architectのケーススタディが読み解けない(泣)

おつまみ
おつまみ

そのお悩み解決します!

GCP Professional Cloud Architect認定資格を勉強している皆さん!

試験問題に出てくるケーススタディはもう読みましたか?

  • 分からない用語だらけで、何が書いてあるか全然わからない。
  • どのようなサービスが使用できるかよく分からない。

私の第一声です。同じように思った方も多いはず。

そこで、今回はケーススタディの1つである【Mountkirk Games】を構成図付きで解説します。
GCP Professional Cloud Architect認定資格を受験する方の参考になれば嬉しいです。

それではどうぞ!

本記事の対象者
  • これからGCP Professional Cloud Architect認定資格を受験予定の方
  • ケーススタディ例が読み解けなくて悩んでいる方
諸注意

ケーススタディとは

GCP Professional Cloud Architect認定試験ではケーススタディと呼ばれる、架空の会社をテーマにしたクラウド導入事例が引用されます。

このケーススタディのビジネス要件・技術要件に合わせて適切なサービスを選択する問題が出題されます。

試験中にケーススタディの内容を表示することができるため覚える必要はありませんが、事前に内容を理解しておくと、スムーズに適切なサービスを選択することができるようになりますよ!

それでは、さっそくケーススタディをみていきましょう。

ケーススタディ:Mountkirk Games

会社概要

Mountkirk Games は、モバイル プラットフォーム向けにセッション ベースのオンライン マルチプレーヤー型ゲームを開発しています。オンプレミス環境から Google Cloud への移行を終え、 他のプラットフォームへの拡張を始めたところです。

最近は新たな挑戦として、レトロスタイルのファースト パーソン シューティング(FPS) ゲームを制作しています。このゲームでは、複数のプラットフォームと場所から何百人ものプレイヤーが同時に地域別のデジタル アリーナに参加できます。リアルタイムのデジタルバナーで、プレイ中のアリーナのすべてのトップ プレイヤーをグローバル リーダーボードに表示します。

ケーススタディ: Mountkirk Games

会社概要からは、Mountkirk Gamesは既にオンプレミス環境から Google Cloud への移行を終え、今後プラットフォームを拡張していく予定ということが分かりますね。

新たなゲームプラットフォームの要点は、

・地域別に何百人ものプレイヤーが参加(システム負荷が高くなる)
・リアルタイムデータ分析・処理が必要


ということが分かります。

ソリューションのコンセプト

Mountkirk Games が開発中の新しいマルチプレーヤー型ゲームは、大人気になることが予想されています。 ゲームのバックエンドは Google Kubernetes Engine にデプロイする予定です。これにより、 迅速にスケーリングできるようになり、Google のグローバル ロードバランサを利用して、 プレイヤーを最も近い地域のゲームアリーナにルーティングすることも可能になります。グローバル リーダーボードの同期を維持するために、マルチリージョン Spanner クラスタを使用する予定です。

ケーススタディ: Mountkirk Games

コンセプトからは、会社概要であがった要点を解決するためのサービスが3つあげられています。

迅速にスケーリング
Google Kubernetes Engine(GKE)
プレイヤーを最も近い地域にルーティング
Cloud Load Balancingグローバル外部 HTTP(S) ロードバランサ
グローバルリーダーボードの同期を維持
Cloud Spanner

既存の技術的環境

同社は最近、既存の環境を Google Cloud に移行しました。少数の例外を除き、 リフト&シフトによる仮想マシンの移行で 5 つのゲームを移行しました。 新しいゲームはそれぞれに分離された Google Cloud プロジェクトに配置され、 権限とネットワーク ポリシーのほとんどを管理しているフォルダの下にネストされています。 トラフィックの少ない従来のゲームは 1 つのプロジェクトにまとめました。 開発とテストのための環境も個別に用意されています。

ケーススタディ: Mountkirk Games

既存の技術的環境を整理すると、このようになります。

GCP初学者
GCP初学者

急に構成図がややこしくなった。。

おつまみ
おつまみ

大丈夫!1つずつ解説していくね!

①リフト&シフトによる仮想マシンの移行で 5 つのゲームを移行。

リフト&シフトって?
オンプレミスで稼働しているシステムをクラウドへそのまま移行(リフト)した後、クラウドのマネージドサービスを徐々に利用し、クラウド最適化(シフト)すること

今回は移行先として、仮想マシンを選択していますね。
そのため、Compute Engine(VM)で自動スケーリングするためにマネージドインスタンスグループ(MIG)を使用できます。

②新しいゲームはそれぞれに分離された Google Cloud プロジェクトに配置され、 権限とネットワーク ポリシーのほとんどを管理しているフォルダの下にネストされています。トラフィックの少ない従来のゲームは 1 つのプロジェクトにまとめました。

フォルダへの権限とネットワークポリシーの管理はCloud IAMを使用できます。

③開発とテストのための環境も個別に用意されています。

各フォルダ毎に環境を用意することで、ユーザへのサービス提供を迅速に行うことができます。

ビジネス要件

・複数のゲーム プラットフォームに対応する
・複数のリージョンに対応する
・ゲーム機能の迅速な反復型開発に対応する
・レイテンシを最小化する
・動的スケーリングに最適化する
・マネージド サービスとプールされたリソースを利用する
・費用を最小限に抑える

ケーススタディ: Mountkirk Games

ここからが今回構成を変更していく要件になります。
要件毎に使用できるサービスを紹介していきますね。

・複数のゲームプラットフォームへは、バックエンドにGoogle Kubernetes Engine(GKE)を使用することで急なスパイクにも対応できます。
※Unityエンジンを使用すると、複数のゲームプラットフォームへの対応が可能のようです。詳細は公式ブログを確認してみて下さい。

・ソリューションのコンセプトにもあげた、Google Kubernetes Engine(GKE)Cloud Load Balancingグローバル外部 HTTP(S) ロードバランサ)、Cloud Spannerを使用します。

・デベロッパーツールCloud Soure Repositories/Cloud Build/Cloud Container Registry/(総称してCI/CD)で迅速な反復型開発に対応できます。

・既に使用しているGKE・Spannerはマネージドサービスです。他には、Stack driverで監視のモニタリングを行えます。
・費用を最小限に抑えるためには、利用コストの管理が必要です。BigQueryへ課金データをエクスポートすることでコスト管理を行うことができます。詳細は公式ブログを確認してみて下さい。

技術的要件

・ゲーム アクティビティに基づいて、動的にスケーリングする
・ほぼリアルタイムのグローバル リーダーボードにスコアデータを公開する
・ゲーム アクティビティ ログを後で分析できるように構造化ファイルに保存する
・マルチプラットフォーム サポートのためにグラフィックス サーバー側を GPU 処理でレンダリングする
・将来的に既存のゲームをこの新しいプラットフォームに移行できるようにする

ケーススタディ: Mountkirk Games

・ビジネス要件⑤と同じく、Google Kubernetes Engine(GKE)Cloud Spannerを使用します。

・リアルタイムでのデータ公開は、頻出のアーキテクチャです!

おつまみ
おつまみ

この構成は必ずおさえておきましょう!

ポイント:リアルタイムデータ処理のアーキテクチャ

Pub/Sub(メッセージングサービス)→Dataflow(ETL)→Bigtable(データ蓄積)
※リアルタイムをそこまで求めない場合はBigtableではなく、BigQueryも使用可能です。

BigtableとBigQueryの違いは、ケーススタディ例「TerramEarth」に載せています。
分からない方はこちらも確認してみて下さい。

・ログ分析の構造化ファイル保存には、NoSQL ドキュメント データベースであるFireStore(DataStoreモード)が使用できます。
※FireStoreはDataStoreの次世代バージョンです。詳しい違いは、公式ドキュメントを確認してみて下さい。

・GKEにGPUを搭載してレンダリング処理に対応することができます。

・VMに移行していた既存のゲームもクラウド最適化にするために、他と同様な構成で移行できます。

経営陣のメッセージ

当社の最新のゲームに Google Cloud を初めて利用し、大成功しました。プレイヤーの行動とゲームのテレメトリーを、 以前にはできなかった方法で分析できるようになりました。この成功がきっかけで、クラウドに完全に移行する方針が定まり、 新しいゲームはすべてクラウドネイティブ設計の原則に基づいて制作するようになりました。 次のゲームは当社にとって史上最大の挑戦であり、初めてモバイル以外のゲーム プラットフォームに対応する予定です。 レイテンシが最優先事項であり、その次に重要な課題は費用管理です。当社初のクラウドベース ゲームの経験から、 クラウドを利用した高度なアナリティクス機能にも期待するようになりました。 迅速な反復型開発によってバグ修正や新機能のデプロイを加速したいと考えています。

ケーススタディ: Mountkirk Games

最後の経営陣のメッセージでは、ビジネス要件と技術的要件の優先事項が記載されています。①レイテンシー → ②費用管理 ③分析機能 → ④開発管理の順のようです。

最終的には、このような構成図でまとめることができます。

まとめ:ケーススタディを把握して、合格を掴もう!

回はGCP Professional Cloud Architect認定資格のケーススタディの回答例【Mountkirk Games】を紹介しました。

本番試験では、ケーススタディの内容を表示することができるため覚える必要はありませんが、内容を理解しておくと、スムーズに適切なサービスを選択することができるようになりますよ。

本記事がGCP Professional Cloud Architect認定資格を受講する方の参考になれば嬉しいです。

それでは、これからも一緒に学んで、自己価値を高めていきましょう~!

最後まで、お読み頂きありがとうございました!

コメント

タイトルとURLをコピーしました