LoginSignup
4
1

More than 3 years have passed since last update.

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

Posted at

ケーススタディ回答例【Mountkirk Games】

GCP Professional Cloud Architect認定試験で出題されるケーススタディの回答例を作ってみました。

本記事は公式模擬試験とMahesh様の解説を元に作成しました。Mahesh様の動画はYouTubeで複数Partにわたり非常に的確な解説がされているため、非常に参考になりました:clap::clap::clap:

はじめに

  • この記事はあくまでも回答例です。実際に試験を受ける時点では機能追加・変更があったり、試験問題中で要件が追加・変更され、最適解が変わる可能性があります。
  • 各種サービスの最新情報はGCP公式ドキュメントから手に入れましょう:grinning:

回答例【Mountkirk Games】

これは Professional Cloud Architect 認定試験で使用される可能性のあるケーススタディの例です。試験問題を補足するコンテキストを提供するためのもので、架空の会社やソリューションのコンセプトについて説明しています。

Mountkirk Games は、モバイル プラットフォーム向けにセッション ベースのオンライン マルチプレーヤー型ゲームを開発しています。Mountkirk Games は、すべてのゲームの開発にサーバーサイドの統合開発環境を利用しています。これまでは、クラウド プロバイダから物理サーバーをリースしてきました。
いくつかのゲームは予想を上回る人気を博したため、世界中のオーディエンス、アプリケーション サーバー、MySQL データベース、分析ツールのスケーリングに関する問題が生じました。
Mountkirk Games の現行のモデルでは、ファイルに書き込まれたゲームの統計情報が ETL ツールによって送信され、中央の MySQL データベースにレポート用に読み込まれます。

  • 収集したデータはGCSに書き込み。
  • ETLはDataflowを使う。
  • MySQLはOLTPシステムなので、レポート用途に使うのはイマイチ。
  • レポート用途のDBサーバはMySQLからBQに移行する。

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

Mountkirk Games が開発中の新しいゲームは、大人気になることが予想されています。そこで、ゲームのバックエンドを Compute Engine にデプロイしようと計画しています。これにより、ストリーミング指標の取得や集中的な分析が可能になります。さらに、Google の自動スケーリング可能なサーバー環境を活用でき、マネージド NoSQL データベースと統合することもできます。

  • コンセプト通り、バックエンドはGCEをまず検討していく。
  • ストリーミング指標はPub/Subによって収集し、ETLツール(Dataflow)を介してBQに挿入、BQで分析する。
  • GCEは自動スケーリングのためにManaged Instance Group(MIG)にする。マネージドNoSQLはBigTableとDatastoreが候補となる。デフォルトでグローバルに展開可能, かつ複数行Transactionに対応しているDatastoreの方が有力。

2. ビジネス要件

  • グローバル規模にまで拡張する
  • 稼働率を向上させる(ダウンタイムが発生すると、プレーヤーを失うことになるため)
  • 使用するクラウド リソースの効率を向上させる
  • すべてのユーザーのレイテンシを低減する

3. 技術的要件

ゲーム バックエンド プラットフォームの要件
1. ゲーム アクティビティに基づいて動的にスケールアップまたはスケールダウンする
2. トランザクション データベース サービスに接続して、ユーザー プロフィールとゲーム状態を管理する
3. 将来の分析のために、時系列データベース サービスでゲーム アクティビティを保存する
4. システムがスケールしたときに、バックログの処理によってデータが失われないようにする
5. 強化された Linux ディストリビューションを実行する

  1. GCE MIG
  2. Datastore
  3. BQ or BigTable → 分析用途なのでBQ
  4. Dataflow
  5. Shilded VM

ゲーム分析プラットフォームの要件
1. ゲーム アクティビティに基づいて動的にスケールアップまたはス ケールダウンする
2. 着信データをゲームサーバーから迅速に直接処理する
3. 低速なモバイル ネットワークが原因で遅延したデータを処理する
4. 10 TB 以上の履歴データに対してクエリを実行できるようにする
5. ユーザーのモバイル デバイスから定期的にアップロードされるファイルを処理する

  1. BQ
  2. Pub/Sub+Dataflow
  3. Dataflow
  4. BQ
  5. GCS+Pub/Sub+Dataflow

4.エグゼクティブの声明

前回成功したゲームでは、当時利用していたクラウド プロバイダでスケーリングがスムーズに行えなかったため、ユーザーの利用数が伸びずゲームの評価にも悪影響を及ぼしました。当社の投資家が必要としているのは、ゲームの速度と安定性を評価するための重要業績評価指標(KPI)です。また、対象ユーザーに合わせてゲームを改良できるように、ユーザーの使用パターンに関する詳細な分析情報を提供する指標も求められています。さらに、当社の現在のテクノロジー スタックでは必要なスケーラビリティを実現できません。そのため、現在の MySQL から自動スケーリングと低レイテンシの負荷分散が可能な環境へと移行し、物理サーバーの管理作業を不要にしたいと考えています。

ケーススタディ回答例

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1