Cost-effective, highly reliable web app with Cloud Load Balancing
Your company wants you to build a highly reliable web application with a few public APIs as the backend. You don't expect a lot of user traffic, but traffic could spike occasionally. You want to leverage Cloud Load Balancing, and the solution must be cost-effective for users. What should you do?
Community Insight
The question tests whether you can match Google Cloud's serverless, pay-per-use services to unpredictable traffic; the common trap is defaulting to always-on managed offerings like a GKE cluster or Cloud Spanner, which destroy the cost-effectiveness requirement.
This PCA scenario asks how to architect a highly reliable web application with a few public APIs, low baseline traffic, and occasional spikes, while leveraging Cloud Load Balancing and staying cost-effective. The correct answer pairs Cloud CDN for static assets, Cloud Run to host the APIs, and Cloud SQL for user data behind an HTTP(S) load balancer.
Learners most often pick D (Cloud Storage + Cloud Functions + Firestore) or B (GKE + Cloud Spanner). B is rejected because an always-running zonal GKE cluster plus Cloud Spanner is far too expensive for a low-traffic app, while D fails because Cloud Functions is designed for short-lived event-driven work, not public API endpoints.
Community Discussion (110 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option C satisfies every constraint simultaneously. The question explicitly requires leveraging Cloud Load Balancing, and Cloud CDN is only meaningful in front of an HTTP(S) Load Balancer backend service — so static HTML and images are served from Google's edge cache, cutting latency and origin load. Cloud Run is the most cost-effective compute choice for a low-traffic API that must absorb spikes: it scales from zero, bills only per-request and per-vCPU-time, and is fully managed with multi-zone availability baked in. Cloud SQL in a regional HA configuration provides managed relational storage for user data with synchronous replication and automatic failover, delivering the "highly reliable" guarantee at a fraction of Cloud Spanner's cost. No option balances reliability, spike tolerance, load balancing, and cost as cleanly as C.
Why the Other Options Are Wrong
Option B pairs a zonal GKE cluster with Cloud Spanner, both priced for steady-state, high-throughput workloads — an always-on cluster plus a globally distributed relational database is wildly disproportionate to "a few public APIs" with occasional spikes. Option A uses Cloud CDN and Cloud SQL correctly but selects App Engine for the APIs; while App Engine Standard can scale to zero, Cloud Run is Google's current recommended serverless container platform and is more portable and typically cheaper. Option D is the strongest counter-argument in the comments because Cloud Storage is a legitimate static origin and Firestore is cheaper than Spanner, but Cloud Functions is purpose-built for short-lived, event-driven work rather than long-running or stateful public API endpoints, and Firestore is a NoSQL document store that may not fit relational user data the way Cloud SQL does.
Community Comment Notes
TotoroChina, XDevX, and diluviouniv lean toward D, with XDevX noting "you don't need Cloud Spanner just to store user data" and diluviouniv simply stating "Spanner is expensive" — both observations about B are correct but don't make D superior. MaxNRG and JC0926 push back, with vincy2202 arguing "Cloud Functions is not an apt solution to host public API's" and that "Cloud Run will take care of the odd load spikes & would be economical too." Letonphat raises a technically valid point that "CDN is not storage solution to store static html or image" — true in the strict sense, but the CDN's origin in practice is a Cloud Storage bucket, so the phrasing is exam shorthand rather than a flaw in the option.
Official Reference
Exam Strategy
When a question combines "cost-effective," "occasional spikes," and "Cloud Load Balancing," immediately narrow to serverless options (Cloud Run, Cloud Functions) paired with an HTTP(S) load balancer. Then eliminate any choice that pairs a globally distributed database (Spanner) or always-on cluster (GKE) with low, spiky traffic — that's the cost trap.
Frequently Asked Questions
Why isn't Cloud Storage a better choice than Cloud CDN for the static content here?
Cloud CDN caches content at Google's edge locations and integrates directly with the HTTP(S) Load Balancer the question requires, delivering lower latency and higher reliability than serving straight from a bucket.
Why is Cloud Run preferred over Cloud Functions for hosting the public APIs?
Cloud Run is purpose-built for containerized HTTP services with longer request timeouts and streaming, whereas Cloud Functions targets short-lived event-driven workloads and isn't ideal for public API backends.
Related Analysis
Practice All PCA Questions
Access 81 questions with complete answers and detailed explanations.
View Full PCA Practice Test →