01 · GCP Architecture Framework¶
Google publishes the Architecture Framework — five pillars for evaluating any GCP design: Operational Excellence, Security/Privacy/ Compliance, Reliability, Cost Optimization, and Performance Optimization. This module isn't new CLI syntax; it's the lens for reviewing everything built in Levels 1-3, plus the tooling GCP gives you to audit against it.
The five pillars, applied¶
| Pillar | Question it asks | GCP tooling |
|---|---|---|
| Operational Excellence | Can we deploy, observe, and recover without heroics? | Cloud Build, Cloud Monitoring, Cloud Logging, runbooks |
| Security, Privacy, Compliance | Least privilege? Data protected at rest/in transit/in use? | IAM, VPC-SC, SCC, CMEK, Assured Workloads |
| Reliability | Does it survive a zone/region failure? What's the RTO/RPO? | Multi-region, health checks, SLOs, chaos testing |
| Cost Optimization | Are we paying for capacity we use? | Committed use discounts, rightsizing recommender, budgets |
| Performance Optimization | Does it scale to 10x load without a redesign? | Load testing, autoscaling, caching, CDN |
Every design decision trades between these — a single-region deployment optimizes cost and simplicity at the expense of reliability; that's a valid choice if stated explicitly, not a default made by omission.
Using the Architecture Review checklist in practice¶
Google's gcloud recommender surfaces automated suggestions mapped to
several pillars directly from your actual usage:
gcloud recommender recommendations list \
--project=my-project \
--recommender=google.compute.instance.MachineTypeRecommender \
--location=us-central1-a
# NAME PRIMARY_IMPACT
# .../recommendations/abcd-1234 COST: reduce cost by resizing e2-standard-8 to e2-standard-4
gcloud recommender recommendations list \
--project=my-project \
--recommender=google.iam.policy.Recommender \
--location=global
# .../recommendations/efgh-5678 SECURITY: remove unused role roles/editor from user:dev@example.com
Recommenders don't auto-apply — each recommendation includes an
associatedInsights reference and an operation you review and apply
explicitly:
gcloud recommender recommendations mark-claimed \
--recommendation=abcd-1234 \
--recommender=google.compute.instance.MachineTypeRecommender \
--location=us-central1-a \
--etag=ETAG_VALUE
Gotcha — recommenders need history to generate signal. A newly created project or resource often shows zero recommendations for weeks — the underused-resource and IAM recommenders both need a baseline observation window (typically ~28 days) before they have enough data to recommend anything. Don't read "no recommendations" as "this is optimal" for a young project.
A worked trade-off: the same service, two ways¶
Design A — cost-optimized: single-region Cloud Run, Cloud SQL with no replica, no CDN. Cheapest, RTO measured in hours (restore from backup), no protection from a regional outage.
Design B — reliability-optimized: two-region Cloud Run behind a global LB, Spanner multi-region, Cloud CDN. RTO near-zero, but Spanner's per-node cost and cross-region write latency are the price, and the design is meaningfully harder to operate (more moving parts to monitor).
Neither is "correct" in isolation — Design A is right for an internal tool where a few hours of downtime is a non-event; Design B is right for a customer-facing payments path. The Architecture Framework's value is forcing that justification to be explicit and reviewed, rather than inherited from whatever the last engineer happened to build.
Landing zone concept¶
A landing zone is the pre-built org structure — folders, projects, baseline IAM, baseline org policies, logging sinks — that new workloads land into, so every new project starts compliant instead of getting audited into compliance after the fact.
gcloud resource-manager folders create --display-name="Production" --organization=123456789012
gcloud resource-manager folders create --display-name="Non-Production" --organization=123456789012
gcloud resource-manager folders create --display-name="Shared-Services" --organization=123456789012
gcloud resource-manager folders list --organization=123456789012
# DISPLAY_NAME PARENT_ID
# Production organizations/123456789012
# Non-Production organizations/123456789012
# Shared-Services organizations/123456789012
Org policies (Level 3, Module 04) and default IAM bindings attached at the
folder level inherit automatically to every project created underneath —
so "Production" can enforce compute.vmExternalIpAccess: denyAll and every
project in it inherits that without per-project setup. Module 05 of this
level covers folder/project structuring in depth.
Cheat sheet¶
| Command | Purpose |
|---|---|
gcloud recommender recommendations list |
Pull automated cost/security/performance suggestions. |
gcloud recommender recommendations mark-claimed |
Record that you're acting on a recommendation. |
gcloud resource-manager folders create |
Build landing-zone folder structure under an org. |
| Five pillars (Ops, Security, Reliability, Cost, Performance) | The lens for every architecture review. |
How It Actually Works¶
The Well-Architected Framework's five pillars aren't independent checklists — they're competing forces that architecture decisions actually trade off against each other in the underlying infrastructure. Adding redundancy for reliability (multi-zone, multi-region deployment) mechanically increases cost (more running resources) and often operational complexity (more failure modes to reason about, more replication lag to manage), which is why a well-architected system explicitly documents which pillar it's optimizing for a given component rather than trying to maximize all five simultaneously. Performance efficiency and cost optimization intersect at the resource- sizing level in a very literal way: GCP bills machine types and disk tiers on fixed pricing, so the "efficient" configuration is the smallest resource that meets your latency SLA, discoverable only by load-testing against real traffic patterns — architectural review at this level is fundamentally an exercise in reading utilization metrics against SLA targets, not applying abstract principles.
Exercise¶
Take the multi-tier CI/CD project from Level 3 Module 10 and score it
against all five pillars — one sentence each on what it does well and one
gap. Then run (or describe, if quota-limited) gcloud recommender
recommendations list against a real or sample project for both the
MachineTypeRecommender and IamRecommender, and note what pillar each
returned suggestion maps to.