Professional Cloud Architect Exam | Mountkirk Games Case Study

Mountkirk Games: Building a New Game Backend Platform

Question

Mountkirk Games makes online, session-based, multiplayer games for 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 them into 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 cloud resources we useReduce latency to all customers Technical Requirements - Requirements for Game Backend PlatformDynamically scale up or down based on game activityConnect to a transactional database service to manage user profiles and game stateStore game activity in a timeseries database service for future analysisAs the system scales, ensure that data is not lost due to processing backlogsRun hardened Linux distro Requirements for Game Analytics PlatformDynamically scale up or down based on game activityProcess incoming data on the fly directly from the game serversProcess data that arrives late because of slow mobile networksAllow queries to access at least 10 TB of historical dataProcess files that are regularly uploaded by users' mobile devices Executive Statement -

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

D.

Based on the provided requirements, the recommended solution is to use Google Compute Engine for the game backend platform and game analytics platform. The backend platform needs to dynamically scale up or down based on game activity and connect to a transactional database service to manage user profiles and game state. The platform also needs to store game activity in a timeseries database service for future analysis and ensure that data is not lost due to processing backlogs. The platform should run on a hardened Linux distro. On the other hand, the analytics platform needs to dynamically scale up or down based on game activity and process incoming data on the fly directly from the game servers. It should also process data that arrives late because of slow mobile networks and allow queries to access at least 10 TB of historical data. Additionally, the analytics platform should process files that are regularly uploaded by users' mobile devices.

Given these requirements, the recommended solution is to create a global load balancer with managed instance groups and autoscaling policies. This solution provides high availability and allows the game backend and analytics platforms to dynamically scale up or down based on game activity. Managed instance groups allow for easy scaling of instances and autoscaling policies ensure that there are enough instances to handle the load. The global load balancer ensures that the game is available to players worldwide and reduces latency.

There are two options for the type of instances to use: preemptible or non-preemptible Compute Engine instances. Preemptible instances are cheaper, but Google can terminate them at any time with a 30-second notice. Non-preemptible instances are more expensive, but they are not terminated until the user stops them or deletes them.

Option A recommends using network load balancers and preemptible Compute Engine instances. While this is a valid solution, it is not the best fit for the requirements. Network load balancers are used to distribute traffic among instances in the same region, but they do not provide global load balancing. Preemptible instances are cheaper, but they are not suitable for a production environment where high availability and uptime are critical.

Option B recommends using network load balancers and non-preemptible Compute Engine instances. While non-preemptible instances are more suitable for production environments, this solution does not provide global load balancing, which is a requirement.

Option C recommends creating a global load balancer with managed instance groups and autoscaling policies, which is the best solution for the requirements. However, it recommends using preemptible instances, which may not be suitable for a production environment where uptime and availability are critical.

Option D recommends creating a global load balancer with managed instance groups and autoscaling policies and using non-preemptible Compute Engine instances. This solution provides high availability, scalability, and global load balancing, which is the best fit for the requirements.

Therefore, the recommended solution is option D: Create a global load balancer with managed instance groups and autoscaling policies. Use non-preemptible Compute Engine instances.