What is ‘MountKirk games’ ?

‘MountKirk games’ is a fictitious company name used as a case study in Google Cloud platform (GCP). The company develops mobile games for its global user base. It aims to leverage on high scalability, continuous deployment, real-time analytics, minimum latency features offered in GCP for their future multiplayer game releases.

Why this case study is important?

MountKirk games is one of the case studies included in the Google Professional Cloud Architect (PCA) certification examination. We can expect maximum of 10 questions based on any two case studies listed in the examination guide.

For tips, resources and more helpful information on PCA exam, please read my blog – Six steps to Google Professional Cloud Architect Certification

Blog

How to approach the solution ?

The solution approach consists of simple four steps method as mentioned in my previous blog in detail.

  • Identify GCP products or services based on company requirements.
  • Identify the knowledge gaps and do the relevant readings.
  • Refer the industry best practices guidelines.
  • Draw the solution diagram and discuss it with colleagues.

Company overview

Mountkirk Games makes online, session-based, multiplayer games for mobile platforms. They have recently started expanding to other platforms after successfully migrating their on-premises environments to Google Cloud. Their most recent endeavor is to create a retro-style first-person shooter (FPS) game that allows hundreds of simultaneous players to join a geo-specific digital arena from multiple platforms and locations. A real-time digital banner will display a global leaderboard of all the top players across every active arena.

Solution concept

The company is building a new multiplayer game that they expect to be very popular. They plan to deploy the game’s backend on Google Kubernetes Engine so they can scale rapidly and use Google’s global load balancer to route players to the closest regional game arenas. In order to keep the global leader board in sync, they plan to use a multi-region Spanner cluster (gaming database).

Existing technical environment

The existing environment was recently migrated to Google Cloud, and five games came across using lift-and-shift virtual machine migrations, with a few minor exceptions. Each new game exists in an isolated Google Cloud project nested below a folder that maintains most of the permissions (IAM) and network policies. Legacy games with low traffic have been consolidated into a single project. There are also separate environments for development and testing.

Business requirements

  • Support multiple gaming platforms and multiple regions.
  • Minimize latency.
  • Support rapid iteration of game features.
  • Optimize for dynamic scaling.
  • Use managed services and pooled resources.
  • Minimize costs

Products/services Identified

  • Integration via Cloud Pub/Sub to ingest real-time event messages sent from a large number of mobile apps.
  • Multi-regional GKE clusters with auto-scaling feature enabled for scalable environments based on user gaming activity.
  • CI-CD pipeline using Cloud Repository, Jenkin builds, Docker, Container registry, Terraform tools.
  • Content Delivery Network (CDN) along with Global Load Balancer provides content closer and faster to users with reduced latency within service level objective limits.

Technical requirements

  • Dynamically scale based on game activity.
  • Publish scoring data on a near real-time global leaderboard.
  • Store game activity logs in structured files for future analysis.
  • Use GPU processing to render graphics server-side for multi-platform support.
  • Support eventual migration of legacy games to this new platform.

Products/services Identified

  • Kubernetes Engine provides dynamic scalability feature to grow in size in case of higher traffic.
  • Memorystore is in-memory database on cloud provides rapid access to scoring data on global leaderboards.
  • Google Cloud Storage is the recommended place to store large files like game activity logs for future processing.
  • Cloud Dataflow transforms the JSON event into structured, schema-based data.
  • BigQuery – all gaming data is loaded into the BigQuery analytics engine.

Executive statement

Our last game was the first time we used Google Cloud, and it was a tremendous success. We were able to analyze player behavior and game telemetry in ways that we never could before. This success allowed us to bet on a full migration to the cloud and to start building all-new games using
cloud-native design principles.

Our new game is our most ambitious to date and will open up doors for us to support more gaming platforms beyond mobile. Latency is our top priority, although cost management is the next most important challenge. As with our first cloud-based game, we have grown to expect the cloud to enable advanced analytics capabilities so we can rapidly iterate on our deployments of bug fixes and new functionality.

Proposed Solution Diagram

Based on the above requirements, we find that the central theme of the case study is ‘To provide Global gaming platform with scalability, low latency, high analytics capability’.

High level components
Game telemetry reference cloud architecture in GCP
Game telemetry reference cloud architecture

Solution Description

The frontend components of the gaming architecture include:

  • Game platform services that provide extra-game functionality.
  • Dedicated game servers that host the game.

The backend components of the gaming architecture include:

  • Game state, persisted in the system of record and stored in the game database like Cloud Spanner.
  • An analytics stack that stores and queries analytics and gameplay events.

In the gaming world, millions of mobile devices send the real-time event messages simultaneously. These events are ingested at scale with Cloud Pub/Sub. The Dataflow pipelines transform JSON event into structured, schema-based data for storing in BigQuery data warehouse for further analytics.

Cloud Storage is used to store large files like historical game activity logs from cloud logging for batch processing. The Dataflow pipelines processes the batch load before storing in BigQuery engine for analytics. Cloud Dataprep is a tool to visually exploring, cleaning and preparing structured and unstructured data for analysis.

Google Data Studio is a data visualisation tool which allows to create and share interactive gaming leaderboards using data in BigQuery. Other data visualization tools such as Looker, Google Sheets and Microsoft Excel are capable of directly running the BigQuery queries within them.

Further Reading – TerramEarth case study solution.

Blog

Sample Case Questions

  • MountKirk Games needs to build out their streaming data analytics pipeline to feed from their game backend application. What GCP services in which order will achieve this?
  • The gaming company wants to set up a real-time analytics platform for their new game. The new platform must meet their technical requirements. Which combinations of Google Cloud Technology will meet all of their requirements?
  • Mountkirk Games has deployed their new backend on Google Cloud Platform (GCP). You want to create a thorough testing process for new versions of the backend before they are released to the public. You want the testing environment to scale in an economical way. How should you design the process?
  • MountKirk Games uses Kubernetes and Google Kubernetes Engine and wants to Use GPU processing to render graphics server-side. But GPUs are expensive so they are planning to use preemptible GPU nodes. What do they have to perform for the above solution?

Checkout 200+ practice exam questions here – Google Professional Cloud Architect Certification – Practice Exam  

Hope you find this case study solution useful for PCA certification examination preparation.

Written exclusively for ReviewNPrep.com – By Manoj P. (Connect with me on LinkedIn).

References: