Google Cloud Platform: Professional Cloud Architect Exam - Mountkirk Games Case Study

Mountkirk Games: Building Scalable Game Backend and Analytics Platform

Question

Mountkirk Games makes online, session-based, multiplayer games for the most popular mobile platforms.

They build all of their games using some server-side integration.

Historically, they have used cloud providers to lease physical servers.

Due to the unexpected popularity of some of their games, they have had problems scaling their global audience, application servers MySQL databases, and analytics tools.

Their current model is to write game statistics to files and send them through an ETL tool that loads theminto a centralized MySQL database for reporting.

Solution Concept - Mountkirk Games is building a new game, which they expect to be very popular.

They plan to deploy the game's backend on Google Compute Engine so they can capture streaming metrics run intensive analytics, and take advantage of its autoscaling server environment and integrate with a managed NoSQL database.

Business Requirements -Increase to a global footprintImprove uptime " downtime is loss of playersIncrease efficiency of the clous resources we useReduce lateny to all customers Technical Requirements - Requirements for Game Backend Platform 1

Dynamically scale up or down based on game activity 2

Connect to a managed NoSQL database service 3

Run customize Linux distro Requirements for Game Analytics Platform 1

Dynamically scale up or down based on game activity 2

Process incoming data on the fly directly from the game servers 3

Process data that arrives late because of slow mobile networks 4

Allow SQL queries to access at least 10 TB of historical data 5

Process files that are regularly uploaded by users' mobile devices 6

Use only fully managed services CEO Statement - Our last successful game did not scale well with our previous cloud provider, resulting in lower user adoption and affecting the game's reputation.

Our investors want more key performance indicators (KPIs) to evaluate the speed and stability of the game, as well as other metrics that provide deeper insight into usage patterns so we can adapt the game to target users.

CTO Statement - Our current technology stack cannot provide the scale we need, so we want to replace MySQL and move to an environment that provides autoscaling, low latency load balancing, and frees us up from managing physical servers.

CFO Statement -

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

From scenario: Requirements for Game Backend Platform 1

Dynamically scale up or down based on game activity 2

Connect to a managed NoSQL database service 3

Run customize Linux distro.

The solution concept presented in the question requires a platform that can dynamically scale up or down based on game activity, connect to a managed NoSQL database service, and run a customized Linux distro for the game backend platform. For the game analytics platform, it should also dynamically scale up or down based on game activity, process incoming data on the fly directly from the game servers, process data that arrives late due to slow mobile networks, allow SQL queries to access at least 10 TB of historical data, process files that are regularly uploaded by users' mobile devices, and use only fully managed services.

To ensure that the game meets business requirements such as increasing global footprint, improving uptime, reducing latency, and increasing the efficiency of cloud resources used, stress testing must be done. Stress testing involves putting the game under high loads to see how it behaves and ensure that it can handle the expected traffic. This is important to prevent downtime which would result in the loss of players, affecting the game's reputation.

Therefore, the best option is to create a set of static environments in GCP to test different levels of load, for example, high, medium, and low. This will allow the team to identify any issues with the platform's ability to scale dynamically and optimize the platform for maximum efficiency. Creating a scalable environment in GCP for simulating production load or using the existing infrastructure to test the GCP-based backend at scale may not be suitable options as they may not provide accurate results for stress testing. Building stress tests into each component of the application using resources internal to GCP to simulate load may be useful for more targeted testing but may not provide a comprehensive overview of the game's behavior under high loads.