GCP Case Studies for the Architect Exam — Reference Implementation

A Solution guide to the GCP Architect exam case studies

Google Cloud Platform currently uses three case studies for a certain percentage of its PCA (Professional Cloud Architect) exam questions that serve as an additional context. These case studies describe a fictitious business and solution concept. This article presents possible solution implementations for these case studies.

Note: This article presents solutions for the current version (as of June 2020) of the case studies. These case studies might change in the future which might render these solution implementations invalid. Each case study is linked to the June 2020 version of the fictitious business and solution concept.

Case Study 1 — Mountkirk Games

The description of the case study can be taken from the link above. The following illustration represents a high-level overview of what a possible solution infrastructure might look like.

Image for post
Image for post
This diagram represents a high-level view and doesn’t show all components necessary

Business requirements

  • Increase to a global footprint — Use products such as MIGs in multiple regions around the world with a global load balancer. Store data in Spanner for a global reach. BigTable can also be used for automatic global replication (in total four regions around the world) and using app profiles one can designate which cluster to use in which case.
  • Improve uptime — downtime is loss of players — Keep the system highly available and reliable. Use custom metrics in Stackdriver to be able to scale the system up and down. It is helpful to have Incident Response Teams with clear functional demarcations about everybody’s duties in case of an incident.
  • Increase efficiency of the cloud resources we use — Monitor the average and peak usage of your cloud resources. It is recommended to export the metrics data to BigQuery, in order to analyse the cpu usage and other metrics for a period longer than 6 weeks (Cloud Monitoring keeps the metrics data for that long). Based on this data, decisions can be made on instance type for compute engine etc.
  • Reduce latency to all customers — Use Premium Network Tier. Depending upon how congested traffic on the public internet is, this option can reduce latency considerably. Use Cloud CDN for your data. The latency between Europe and Asia is quite high compared to other regions so if possible, make sure there is a dedicated deployment in Asia-Pacific.

Technical requirements

  1. Dynamically scale up or down based on game activity — Use MIGs
  2. Connect to a transactional database service to manage user profiles and game state — Use Spanner
  3. Store game activity in a timeseries database service for future analysis — Use BigTable
  4. As the system scales, ensure that data is not lost due to processing backlogs — Use Pub/Sub
  5. Run hardened Linux distro — Use Custom Image in Instance Template
  6. Dynamically scale up or down based on game activity — Use Dataflow
  7. Process incoming data on the fly directly from the game servers — Use Pub/Sub and Dataflow
  8. Process data that arrives late because of slow mobile networks — Use Dataflow
  9. Allow queries to access at least 10 TB of historical data — Use BigQuery
  10. Process files that are regularly uploaded by users’ mobile devices — Use Dataflow

Case Study 2— Design4Win

The description of the case study can be taken from the link above. The following illustration represents a high-level overview of what a possible solution infrastructure might look like.

Image for post
Image for post
This diagram represents a high-level view and doesn’t show all components necessary

Business requirements

  • Build a reliable and reproducible environment with scaled parity of production — Use Deployment Manager or Terraform.
  • Improve security by defining and adhering to a set of security and identity and access management (IAM) best practices for cloud — Establish access and security levels at different levels of the Organization and implement Organization Policies. Use Identity-Aware Proxy and Access Context Manager to define who and under what conditions one can access internal apps. Identify people with important roles in the organization such as Organization Admin, Billing Admin, Network Admin, Security Admin and introduce some redundancy (have more than one person with each role).
  • Improve business agility and speed of innovation through rapid provisioning of new resources — Use Deployment Manager or Terraform.
  • Analyze and optimize architecture for performance in the cloud — Consider various compute options such as App Engine, Kubernetes and Cloud Run for microservices. Pub/Sub will replace RabbitMQ while Hadoop and Spark jobs can be run on Cloud Dataproc.

Technical requirements

  • Easily create non-production environments in the cloud — Use Deployment Manager or Terraform.
  • Implement an automation framework for provisioning resources in cloud — Use Deployment Manager or Terraform.
  • Implement a continuous deployment process for deploying applications to the on-premises data center or cloud — Use Jenkins from Cloud Marketplace
  • Support failover of the production environment to cloud during an emergency — Use Cloud DNS
  • Encrypt data on the wire and at rest — Use CSEK
  • Support multiple private connections between the production data center and cloud environment— Use Interconnect and VPN

Case Study 3— TerramEarth

The description of the case study can be taken from the link above. The following illustration represents a high-level overview of what a possible solution infrastructure might look like.

Image for post
Image for post
This diagram represents a high-level view and doesn’t show all components necessary. Here it is assumed that all data is coming through streaming sources.

Business requirements

  • Decrease unplanned vehicle downtime to less than one week — In order to achieve this, it is important to have at least 80% of all of the vehicles to send data over the cellular network so that the data doesn’t get stale. Instead of sending the data over FTP, it is better to stream it straight to the Google Cloud. Use Cloud IoT Core for device registration and management, while Pub/Sub is used for communication.
  • Support the dealer network with more data on how their customers use their equipment to better position new products and services — Share detailed parts maintenance and other reports using Data Studio, depicting customer’s product usage patterns with the dealer network. Use ML Engine / AI Platform to identify further patterns.
  • Have the ability to partner with different companies — especially with seed and fertilizer suppliers in the fast-growing agricultural business — to create compelling joint offerings for their customers — Use data insights from the vast amount of data collected to create better informed products in the agricultural business.

Technical requirements

  • Expand beyond a single data center to decrease latency to the American Midwest and East Coast — Use Deployment Manager or Terraform to create templates / configurations for one data center and use these further to create other data centers.
  • Create a backup strategy — Use Cloud Storage for backup of data, if any, still coming through batch processing. Cloud Storage should also be used as a destination of any export of data from BigQuery.
  • Increase security of data transfer from equipment to the data center — Using IoT Core one can employ PKI and secure transport such as https.
  • Improve data in the data warehouse — Further streaming sources can be added and processed in Dataflow which writes into BigQuery. NRT (Near-Real-Time) Data coming through streaming will improve the value that can be extracted from the data.
  • Use customer and equipment data to anticipate customer needs — Use Datalab, Data Studio and ML Engine to identify and anticipate customer needs.

That’s about it. For all of you preparing for the PCA exam, best of luck!

A Certified Multi-Cloud Architect/Big Data/ML Specialist and Quantum Computing Enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store