Cloud Run Multi-Region App with Spanner as Relational Store
Short answer
B Deploy the containerized app to Cloud Run in multiple regions behind a global HTTPS load balancer and use Cloud Spanner as the horizontally scalable, multi-region relational datastore.
Question
You need to build and deploy a containerized web application to Google Cloud. The application is very write-heavy and requires a relational database as its data store. The application needs to be highly available in multiple cloud regions. You want to minimize operational overhead while following Google-recommended practices. What should you do?
Key Takeaways
The question tests the ability to match a write-heavy, multi-region, relational, low-ops requirement set to the right managed services — the trap is choosing Cloud SQL (relational but not natively multi-region) or assuming Firestore/Bigtable satisfy a relational requirement.
This PCA design question asks how to host a write-heavy, containerized web application across multiple Google Cloud regions with a relational datastore while minimizing operational overhead. The verdict: Cloud Run services deployed in multiple regions behind a global HTTPS load balancer, backed by Cloud Spanner, is the Google-recommended pattern.
Common mistake: Option A is the most tempting wrong choice: Cloud SQL is relational and familiar, but its high-availability replica is confined to a single region, so multi-region resilience requires cross-region read replicas plus manual promotion — which both raises operational overhead and violates the stated requirement.
Expert Analysis
Why the Answer Is Correct
Cloud Run is the serverless container platform: you deploy a container image and Google handles node provisioning, patching, scaling, and cluster lifecycle, which directly satisfies the "minimize operational overhead" requirement without asking you to run GKE control planes or node pools. Pairing it with a global external HTTPS load balancer gives a single anycast VIP that routes users to the closest healthy regional Cloud Run backend, delivering multi-region availability for the application tier. Cloud Spanner is a fully managed, horizontally scalable, strongly consistent SQL database that supports synchronous multi-region configurations (for example nam-eur-asia1), so it meets both the "relational database" and "highly available in multiple cloud regions" requirements in one service. Spanner is also the natural answer for a write-heavy workload because write throughput scales out by splitting data across spans rather than being capped by a single primary instance, which is the fundamental limitation of Cloud SQL. Taken together, Cloud Run + global HTTPS LB + Spanner is the only option that satisfies every stated constraint simultaneously.Why the Other Options Are Wrong
Option A fails on two counts: Cloud SQL HA is regional — its standby lives in a second zone within one region, so true multi-region durability would need cross-region read replicas and manual failover, adding exactly the operational burden the question tells you to avoid; and multi-region GKE clusters require you to operate separate clusters plus ingress/federation logic. Option C proposes Firestore, which is a document (NoSQL) database — multi-region locations do not make it relational, so it violates an explicit requirement regardless of its excellent availability story. Option D proposes Cloud Bigtable, a wide-column NoSQL store designed for analytical/sequential workloads; it does not support joins, foreign keys, or transactions in the relational sense, and Google explicitly positions Bigtable as not a fit for general relational OLTP. Both C and D also saddle you with GKE standard cluster management, contradicting the low-overhead goal.Community Comment Notes
The single community comment selected B and framed the reasoning exactly as the official Google architecture guidance does, noting "Cloud Run = serverless containers, low ops" and "Global HTTPS Load Balancer = global frontend," then identifying "Spanner = relational database with horizontal scaling and multi-region high availability." That learner's breakdown is consistent with Google's documented positioning of Spanner as the managed relational option for horizontally scaled, multi-region workloads, so the community consensus here aligns with the independent analysis rather than merely being a popularity vote.Official Reference
Exam Strategy
When a scenario combines containers + multi-region + relational + write-heavy + low ops, go straight to the two serverless-friendly pairings and eliminate databases by data model first: Firestore and Bigtable are NoSQL, so any option using them for a "relational database" requirement is instantly out. Then judge the survivor on regional vs multi-region HA semantics — Cloud SQL HA is single-region, leaving Spanner as the multi-region relational answer.
Frequently Asked Questions
Why is Cloud SQL rejected when it is a relational Google Cloud database?
Cloud SQL high availability is regional only; true multi-region resilience needs cross-region read replicas plus manual failover, which breaks both the HA and low-operational-overhead requirements.
Why don't Firestore and Bigtable qualify as the relational data store?
Firestore is a document database and Bigtable is a wide-column NoSQL store; neither provides full relational semantics such as joins, foreign keys, and standard SQL transactions.
Why prefer Cloud Run over GKE for this application?
Cloud Run is serverless containers — no cluster, node pool, or control-plane management — so it minimizes operational overhead while a global HTTPS load balancer still provides multi-region entry.
Discussion 1 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded.
From public community threads 1
-
0d8df8b 👍 1 Answered BCloud Run = serverless containers, low ops Global HTTPS Load Balancer = global frontend Spanner = relational database with horizontal scaling and multi-region high availability
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All PCA Questions
Access 81 questions with complete answers and detailed explanations.
View Full PCA Practice Test →