Case Study Review: Mountkirk Games

Credit goes to Indro Bhattacharya for this series of case study posts

As most of you know by now, the Google PCA (Professional Cloud Architect) exam was revamped on May 1st, 2021. With the new version of the exam, and having cleared it myself last month, I noticed some significant changes. Some of the key changes from the previous version of the exam are:

  • The questions are more conceptual than straightforward

  • Introduction of new areas like Anthos and MLOps

  • Longer questions

  • Multiple services being tested on a question (like a true architect!)

  • All new case studies

In this blog post, I will outline how I went about solving the new case studies. I will post the exact document I wrote, and which since May 14th 2021, over 240 Googlers across the globe have used as part of their exam prep. I want to thank the many Googlers who took time to comment and improve the document to get it to its current state. Big shout out to Iman for allowing me to post this on his amazing website. I hope this material will help in your prep as well.

If you haven’t already, please read the exam deep dive to understand the overall strategy and key objectives to study for the Professional Cloud Architect exam.

All the best!

Mountkirk Games

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.

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 and network policies. Legacy games with low traffic have been consolidated into a single project. There are also separate environments for development and testing.

Solution concept

Mountkirk Games 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. 

Business Requirements

  • Support multiple gaming platforms (mobile, desktop, tablets) 

  • Support multiple regions (Clusters in multiple regions) 

  • Support rapid iteration of game features (CI/CD)

  • Minimize latency (CDN)

  • Optimize for dynamic scaling

  • Use managed services and pooled resources (managed services)

  • Minimize costs (managed services)

Technical requirements

  • Dynamically scale based on game activity (k8s)

  • Publish scoring data on a near real–time global leaderboard (Memorystore)

  • Store game activity logs in structured files for future analysis (Cloud Logging, GCS)

  • Use GPU processing to render graphics server-side for multi-platform support (k8s)

  • Support eventual migration of legacy games to this new platform 

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 (BQ) so we can rapidly iterate on our deployments of bug fixes and new functionality (Cloud Build)

Basic evaluation

1) Client

Online game platform

  • Previous success on GCP has led to an ambitious project to create a new multiplayer game with the aim to support more gaming platforms

2) Values

  • Already have a plan in place with general design for the infrastructure and some requirements.

  • Wants to adopt CI/CD and expand to multiple gaming platforms.

3) Immediate Goals

  • Reduce latency and support larger gamer footprint

  • Keep costs low

  • Enable advanced analytics

  • Enable rapid deployments

Technical evaluation

1) Existing Environment

  • Games hosted on VMs

  • Legacy games consolidated into a single project

  • Separate Environments for dev and test

2) Technical Watchpoints & Proposed Solutions

  • 100s of users joining simultaneously from across the globe

    • Create K8 backends in multiple regions (regional replication)

  • Use Global HTTPS LB to balance traffic

    • Store user profiles in Cloud Datastore

  • Global leaderboard to update in real time

    • Cloud Memorystore is the best solution for low latency storage of leaderboard results. Spanner is high cost and not required here.

  • Store game activity logs in structured files for future analysis

    • Game activity logs can be logged using Cloud Logging, and then stored on GCS. These logs can later be analyzed using BQ when needed 

  • Support rapid iteration of game features

    • Mountkirk games should implement a DevOps process (Terraform & Cloud Build) to increase developer productivity and enable rapid iteration of game features

Products: k8s (Game server), Cloud datastore (User Profiles), Memorystore (leaderboards), Cloud Logging (Game activity logs), GCS (Log storage for analysis), Terraform & Cloud Build (rapid iterations on game features)

Stay tuned for case study reviews on each of the four business cases on the exam. In the meantime, don’t forget to check out the exam deep dive! Best of luck to you throughout your studies, you’ll do GREAT!

Iman Ghanizada

Iman is an Author & Cloud Security Dude at Google Cloud.

https://thecertsguy.com
Previous
Previous

Case Study Review: EHR Healthcare

Next
Next

How to pass the Google Cloud Professional Cloud Architect exam in 30 days or less!