Here's one sample solution. We'll start with a scalable game hosting servers. The servers will be Compute Engine instances. We'll create a server template, and use instance groups for auto-scaling. We'll use HTTPS load balancing with an autoscaler. To complete the picture, we'll create custom metrics on the servers that are directly related to the game engine. Pass those through Stackdriver, and use the custom metrics to scale up and down the servers. There's a lot more we can do. There are Linux images available that are regularly maintained. So, we need to consider whether those are secure enough for the business requirements, or if we'll need to develop a custom image. We could also have considered using App Engine and Cloud Endpoints as an alternative solution, but it wouldn't meet all the requirements for custom metrics. Data store is fully managed servers that will be an excellent choice for preserving game state. We can probably also store user profile in Data store. Alternatively, we could use a Cloud SQL instance for profiles. Finally, there's the analytics workflow. We can use BigQuery to accumulate the game statistics. The data set can be loaded with 10 terabytes of historic data. We want to use Cloud Pub/Sub to provide a buffer for live data, and late data, removing timing considerations from the ingesting process. Then, for mobile devices we can have them upload their data to cloud storage. If we need to do batch data processing, or streaming data processing to prepare the data, or clean the data, then Cloud Dataflow would be a good choice, since it's server-less and auto-scaling