Master the cloud, from the ground up.
Google Cloud & AWS, taught from first principles — stories, analogies, and visuals before the jargon. Built around four certifications: Cloud Digital Leader, Associate Cloud Engineer, Professional Cloud Architect, and Generative AI Leader.
Designed for a complete beginner. Progress is saved locally in your browser. Always verify current exam details on the official certification pages (in References) — they change over time.
The Restaurant You Don't Own
The single analogy that makes cloud computing click — and why almost every company moved off its own servers.
Imagine you love pizza, so you decide to open a pizzeria. The old way: buy the building, the ovens, the freezers, hire staff, and pay for all of it every month — even on a slow Tuesday when three customers show up. You guessed how big to build. Guess too small and you turn customers away on Friday night; guess too big and you bleed money on empty tables.
Now imagine a different deal: a giant, beautifully-equipped kitchen you can rent by the minute. Need two ovens at lunch and twenty at dinner? You get exactly that, and you pay only for the oven-minutes you used. Someone else owns the building, fixes the ovens, and guards the door. That rented kitchen is the cloud, and the pizzeria is your app.
For decades, running software meant doing the 'own-the-building' version. A company that wanted a website bought physical servers — specialised computers — installed them in a room with air-conditioning and backup power (a data center), and hired people to keep them alive. This is called on-premises (or 'on-prem'): your computers, in your building, your problem.
Cloud computing flipped the model. Instead of owning the machines, you rent computing power over the internet from a provider who owns enormous data centers — Google, Amazon, or Microsoft. You spin resources up in minutes, pay only for what you use, and hand the physical headaches to them.
The deepest idea here is turning a big upfront purchase into a running tab. In finance terms, cloud converts capital expenditure (CapEx) — a large one-time buy of servers you hope you'll grow into — into operating expenditure (OpEx) — a flexible monthly bill that tracks what you actually used. This one shift is why startups can launch globally on a credit card, and why the exam keeps coming back to it.
#The five traits that make something 'cloud'
The US standards body NIST gave the definition everyone still uses. Real cloud computing has five essential characteristics — a useful checklist for telling genuine cloud from a rebranded server rental.
| Trait | Plain meaning |
|---|---|
| On-demand self-service | You provision resources yourself, instantly, without filing a ticket and waiting for a human. |
| Broad network access | Reachable over the internet from anywhere, on any device. |
| Resource pooling | The provider's giant pool of hardware is shared across many customers (you never see the seams). |
| Rapid elasticity | Scale up for the dinner rush and back down after — automatically, in minutes. |
| Measured service | Everything is metered, so you pay only for what you consume. |
Think of electricity. You don't own a power station; you plug in, draw exactly the watts you need, and get one metered bill. Before the grid, factories built their own generators (on-prem). The grid turned power into a utility. Cloud did the same thing to computing — which is why people call it 'utility computing'.
Owning and running servers is expensive, slow to change, and forces you to guess capacity years ahead. Most of that hardware sits idle most of the time, and a traffic spike or a hardware failure becomes your emergency.
A provider builds data centers at massive scale, slices the hardware into rentable virtual pieces, and exposes them through a self-service console and API. You request what you need, when you need it, and release it when you're done.
Netflix, Spotify, your bank's app, and most startups since 2010 run this way. Even traditional enterprises are mid-migration. 'Cloud-first' is now the default posture for new systems.
Misconception: 'The cloud is just someone else's computer, so it's nothing new.' The hardware is indeed someone else's computer — but the model is the innovation: self-service, elastic, metered, API-driven. That combination is what lets you go from an idea to a globally-deployed app before lunch, which no amount of owning servers ever allowed.
- The cloud = renting computing over the internet instead of owning servers in your building (on-premises).
- It converts a big upfront hardware purchase (CapEx) into a flexible pay-for-what-you-use bill (OpEx).
- NIST's five traits: on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service.
- The model — self-service, elastic, metered — is the real innovation, not the hardware.
Why Everyone Moved: The Six Real Benefits
The concrete reasons businesses migrate — and the honest trade-offs they accept in return.
'Move to the cloud' isn't one benefit; it's a bundle. The Cloud Digital Leader exam is built around being able to name these benefits and match them to a business situation. Here they are, each with the situation that makes it matter.
#The benefits, with the moment each one earns its keep
| Benefit | When it saves you |
|---|---|
| Elasticity / scalability | A retailer's traffic 20×'s on Black Friday. Cloud adds capacity for those hours, then removes it — no idle servers for the other 364 days. |
| Speed / agility | A team can launch a new service in an afternoon instead of waiting 3 months to procure hardware. Faster experiments, faster business. |
| Cost (pay-as-you-go) | You stop paying for peak capacity you only use occasionally. Spend tracks actual usage. |
| Global reach | Deploy to data centers near users in Tokyo, Frankfurt, and São Paulo in minutes — low latency everywhere, no building required. |
| Reliability / resilience | Spread across multiple data centers so one failure doesn't take you down. Built-in backups and recovery. |
| Security & managed upkeep | The provider patches hardware, secures the physical site, and offers tools most companies couldn't build alone. |
A clean way to remember the economic core: cloud replaces 'pay for peak, waste the rest' with 'pay for what you use.' Picture a chart of demand that spikes and dips. On-prem, you must own enough servers for the tallest spike, so the gap between that flat capacity line and the wiggly demand line is pure waste. Cloud lets the capacity line hug the demand line.
Cloud is not automatically cheaper. A steady, predictable workload that runs 24/7 at constant load can sometimes be cheaper on-prem. Cloud wins decisively on variable, unpredictable, or fast-growing workloads — and on speed and global reach almost always. A mature 'leader' knows cloud is about agility and capability as much as raw cost.
#The honest trade-offs
- Less direct control — you don't touch the physical hardware, and you adapt to the provider's way of doing things.
- Cost can surprise you — pay-as-you-go means an unmonitored mistake (a forgotten big machine) runs up a bill. Budgets and alerts matter.
- Vendor lock-in risk — deeply adopting one provider's unique services can make leaving costly. Architecture choices can reduce this.
- Connectivity dependence — no internet, no access. Mitigated with good network design but real.
- Six core benefits: elasticity, speed/agility, pay-as-you-go cost, global reach, reliability, managed security.
- Economic core: replace 'pay for peak, waste the rest' with 'pay for what you use.'
- Cloud isn't automatically cheaper — it wins on variable/unpredictable/growing workloads, agility, and reach.
- Honest trade-offs: less hardware control, surprise costs without governance, lock-in risk, internet dependence.
The Three Service Models: IaaS, PaaS, SaaS
How much of the stack you manage versus how much the provider manages — explained with a pizza.
This is the single most-tested concept on the foundational exam. Cloud services come in layers defined by who manages what. The more the provider manages, the less you worry about — but the less you control. Three names: IaaS, PaaS, SaaS.
The famous 'Pizza as a Service' analogy. You want pizza for dinner; how much do you do yourself? • Make it at home — you buy everything, use your own oven, do all the work. (This is on-premises.) • Take-and-bake — the shop makes the pizza; you bake it in your oven. You manage less. (IaaS — you still handle the 'oven': the operating system and up.) • Delivery — they cook it; you provide the table, drinks, and dining room. (PaaS — you just bring your code and data.) • Dining out — you show up and eat; they do everything. (SaaS — you just use the finished product.)
#Who manages what
| You manage → | On-prem | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Application & data | You | You | You | Provider |
| Runtime / OS | You | You | Provider | Provider |
| Virtualization / servers | You | Provider | Provider | Provider |
| Storage & networking | You | Provider | Provider | Provider |
| Physical data center | You | Provider | Provider | Provider |
Read that table as a staircase. Each step hands one more layer to the provider. IaaS gives you raw building blocks (virtual machines, disks, networks) and maximum control — you install and patch the operating system. PaaS hands over the OS and runtime too, so you 'just deploy code.' SaaS is the finished application you simply log into.
| Model | You get… | Real examples |
|---|---|---|
| IaaS | Raw virtual machines, storage, networks. You control the OS. | Compute Engine (Google), EC2 (AWS) |
| PaaS | A platform to run code without managing servers/OS. | App Engine, Cloud Run (Google); Elastic Beanstalk (AWS) |
| SaaS | A ready-to-use application over the web. | Gmail, Google Workspace, Salesforce |
'Serverless' is a popular flavour of PaaS. There are still servers — you just never see or manage them, and you can scale to zero (pay nothing when idle). Cloud Run and Cloud Functions are serverless. We'll go deep on these later; for now, slot serverless mentally under 'PaaS, taken to its conclusion.'
Classify each into IaaS, PaaS, or SaaS:
(a) You rent a bare virtual machine and install your own database on it. (b) You upload your web app's code and the platform runs and scales it; you never touch an OS. (c) Your sales team logs into a CRM website to track deals.
Show answer
- IaaS / PaaS / SaaS differ by who manages what — it's a staircase handing more to the provider at each step.
- IaaS = raw VMs & control (Compute Engine, EC2). PaaS = run your code, no OS worries (App Engine, Cloud Run). SaaS = finished app (Gmail, Salesforce).
- Serverless is PaaS taken to its limit: no visible servers, scale to zero.
- More provider management = less work but less control. Match the model to how much control the scenario needs.
Public, Private, Hybrid & Multi-Cloud
The deployment models — who the cloud is for, and the strategies real enterprises actually use.
Service models (IaaS/PaaS/SaaS) describe what you rent. Deployment models describe where it lives and who it's for. Four terms cover it.
| Model | What it means | Best for |
|---|---|---|
| Public cloud | Shared provider infrastructure (Google, AWS, Azure) open to all customers. | Most workloads; startups; elasticity and reach. |
| Private cloud | Cloud-style infrastructure dedicated to one organisation (in their data center or hosted). | Strict regulatory, data-residency, or legacy needs. |
| Hybrid cloud | A connected mix of public + private (or cloud + on-prem). | Enterprises migrating gradually, or keeping sensitive data private while bursting to public for scale. |
| Multi-cloud | Using more than one public provider (e.g. Google and AWS). | Avoiding lock-in, best-of-breed services, resilience. |
Most large enterprises today are hybrid and multi-cloud, by reality more than by plan. They have legacy systems on-prem they can't move overnight, sensitive workloads they keep private, and new systems in one or more public clouds. This is exactly why you are learning both Google Cloud and AWS — fluency across providers is now a core professional skill, not a luxury.
Hybrid is like keeping a home office (private, always yours, for sensitive work) while also renting co-working desks (public cloud) when your team grows for a project. Multi-cloud is renting desks from two different co-working companies so you're never hostage to one landlord's prices or outages.
Google Cloud's answer to hybrid/multi-cloud is Google Distributed Cloud and GKE Enterprise (formerly Anthos) — tools to run and manage workloads consistently across Google Cloud, other clouds, and on-prem. You don't need deep detail for the foundational exam, but recognise the names and what problem they solve: consistency across environments.
- Public (shared, open to all — most workloads), Private (dedicated to one org — strict compliance), Hybrid (connected mix), Multi-cloud (more than one public provider).
- Real enterprises are mostly hybrid + multi-cloud — which is why cross-provider skill (Google and AWS) is valuable.
- Google's hybrid/multi-cloud tooling: GKE Enterprise / Google Distributed Cloud — consistency across environments.
What a Computer Is, Cloud-Style
Compute, storage, and networking — the three resources every cloud service is assembled from.
Strip away the hundreds of product names and every cloud reduces to three kinds of resource. If you can hold these three in your head, the giant product catalogues stop being intimidating — each product is just a specialised packaging of one or two of them.
| Resource | What it does | The everyday analogy |
|---|---|---|
| Compute | Runs your code — the 'thinking' (CPU) and short-term working memory (RAM). | The chef actively cooking. |
| Storage | Keeps your data — files, databases, backups — so it persists. | The pantry and freezer holding ingredients. |
| Networking | Moves data between users, services, and the outside world. | The waiters, doors, and roads connecting everything. |
When a user loads your app, all three fire in sequence: a request travels over the network to a compute resource, which reads and writes data in storage, and sends a response back over the network. Every cloud architecture, however grand, is some arrangement of these three primitives.
#CPU, RAM, and disk — the three you'll keep choosing between
- CPU (vCPUs) — processing power; how much 'thinking' per second. More vCPUs = handle more work at once.
- RAM (memory) — fast short-term workspace; data the CPU is actively using. Run out and things slow or crash.
- Disk (storage) — durable space where data lives when not in active use. Survives restarts.
A chef at a desk: the chef's speed is the CPU, the desk surface where they lay out what they're working on right now is RAM (small, fast, cleared each night), and the filing cabinet behind them is disk (large, slower, permanent). Picking a cloud machine is mostly choosing how fast a chef and how big a desk you need.
When you rent a virtual machine, you literally choose these numbers — e.g. '4 vCPUs, 16 GB RAM, 100 GB disk.' Google calls these machine types (like e2-standard-4); AWS calls them instance types (like t3.large). Same idea, different names. Choosing the right size for the job is a daily cloud skill and a core exam theme.
- Every cloud reduces to three resources: compute (runs code), storage (holds data), networking (moves data).
- Compute itself is CPU (speed), RAM (fast working memory), and disk (durable storage).
- Renting a VM = choosing these numbers (a machine type / instance type).
- Every architecture, however complex, is an arrangement of these primitives.
Virtualization: Slicing One Computer Into Many
The foundational trick that makes the whole cloud economically possible.
In the early 2000s, data centers were full of physical servers each running a single application — and each sitting around 10% busy. Companies were paying for ten machines to do the work of one, because you couldn't safely run multiple apps on one box without them interfering. Then virtualization went mainstream, and the economics of computing changed permanently.
Virtualization is software that carves one physical computer into several isolated virtual machines (VMs), each behaving like its own independent computer with its own operating system. The thin layer of software that performs this carving and keeps the VMs apart is called a hypervisor.
A physical server is an apartment building; virtualization is the floor plan and walls that turn it into separate flats. Each tenant (VM) has their own locked door, kitchen, and bathroom and never sees the neighbours — yet they all share the same foundation, plumbing, and roof (the physical hardware). The landlord (hypervisor) keeps everyone separate and fairly shares the building's utilities.
This is the enabler of cloud's resource pooling and pay-per-use. A provider buys one powerful physical machine, slices it into many VMs with a hypervisor, and rents the slices to different customers — each isolated and safe. Hardware that used to sit 90% idle now runs near capacity, and you can rent exactly a 2-vCPU slice instead of a whole server. No virtualization, no cloud as we know it.
When you launch a Compute Engine instance on Google Cloud or an EC2 instance on AWS, you are getting a VM — a virtualized slice of one of the provider's physical machines, running in one of their data centers. You experience it as 'your own computer,' but it's a tenant in a very large building.
Misconception: 'A VM is slower or fake compared to a real computer.' A well-provisioned VM runs production workloads for nearly the entire internet. The overhead of the hypervisor is small. The isolation is strong enough that competitors safely run on the same physical hardware. VMs are not a compromise — they're the standard unit of cloud compute.
- Virtualization slices one physical computer into many isolated virtual machines (VMs), each like its own computer.
- The hypervisor is the software layer that creates and isolates the VMs.
- This is what makes cloud economics work: rent a slice, run idle hardware near capacity, isolate customers safely.
- A Compute Engine or EC2 instance is a VM — a tenant in the provider's building.
Containers: Lighter, Faster, Portable
Why the industry moved from shipping whole virtual machines to shipping tiny, consistent 'boxes' of software.
A developer says the five most cursed words in software: 'But it works on my machine!' The app runs fine on her laptop and breaks on the server, because the two environments differ in some invisible way — a library version, a setting, a missing dependency. Containers were the industry's answer to this exact pain.
A container packages an application together with everything it needs to run — its code, libraries, and settings — into one standardised, portable unit. That unit runs identically on a laptop, a test server, or a cloud data center, because it carries its whole environment with it. Docker is the tool that made containers mainstream.
Think of shipping containers (the metal kind). Before them, loading a ship meant hand-packing barrels, sacks, and crates of all shapes — slow and chaotic. The standardised steel box meant any port, crane, or ship could handle any cargo the same way. Software containers did this for code: a uniform box that any machine can run, regardless of what's inside.
#Containers vs. virtual machines
Both isolate workloads, but at different levels. A VM virtualizes a whole computer including its own operating system — heavy, but very isolated. A container shares the host's operating system kernel and only packages the app and its dependencies — far lighter and faster to start.
VIRTUAL MACHINES CONTAINERS +------+ +------+ +-----+ +-----+ +-----+ | App | | App | | App | | App | | App | | Libs | | Libs | | Libs| | Libs| | Libs| | OS | | OS | <-each! +-----+ +-----+ +-----+ +------+ +------+ | shared host OS | | Hypervisor | | container engine | | Host OS/HW | | Host OS / HW | +---------------+ +--------------------+ Heavy: full OS each Light: share one OS
| Virtual Machine | Container | |
|---|---|---|
| Contains | A whole OS + app | Just the app + its dependencies |
| Size | Gigabytes | Megabytes |
| Startup | Minutes | Seconds |
| Isolation | Very strong (own OS) | Strong (shared OS kernel) |
| Best for | Running different OSes; max isolation | Packaging apps; microservices; portability & scale |
Containers are the unit of modern, cloud-native applications because they're small, start instantly, and run anywhere identically. You can pack many on one machine and spin up hundreds in seconds to handle load. This is why the next idea — Kubernetes, for orchestrating thousands of containers — became so central, and why Google Cloud's GKE and Cloud Run are container-first services you'll meet repeatedly.
The progression to remember: physical server → virtual machine → container → serverless. Each step packages workloads smaller, starts them faster, and hands more management to the platform. The exam loves questions that hinge on knowing a container is lighter and more portable than a VM.
- A container packages an app with everything it needs to run, so it behaves identically everywhere — solving 'works on my machine.'
- Containers share the host OS, so they're far lighter and faster than VMs (megabytes & seconds vs gigabytes & minutes).
- Docker popularised containers; they're the unit of cloud-native apps and microservices.
- Progression: physical → VM → container → serverless, each smaller, faster, more managed.
How the Internet Finds Your App: Networking Basics
IP addresses, DNS, regions, zones, and latency — the vocabulary the foundational exam explicitly expects.
The CDL exam guide names specific networking terms you must know. None are hard once you see them as parts of one story: how a request travels from a user to your app and back. Let's walk that journey.
#Addresses and names: IP and DNS
- IP address — every device on a network has one, like a postal address (e.g.
142.250.72.78). It's how machines find each other. - DNS (Domain Name System) — the internet's phone book. It translates a human name like
google.cominto the IP address machines actually use. You remember the name; DNS remembers the number. - ISP (Internet Service Provider) — the company that connects you to the internet in the first place.
DNS is a contacts app. You tap 'Mum' (a name you remember); your phone dials her actual number (which you don't). Type google.com and DNS looks up the IP address behind it. Google Cloud's DNS service is Cloud DNS; AWS's is Route 53.
#Where your app physically lives: regions and zones
Providers build data centers all over the world and organise them in a two-level hierarchy you must know cold:
| Term | What it is |
|---|---|
| Region | A specific geographic area (e.g. us-central1 in Iowa, asia-south1 in Mumbai) containing multiple data centers. |
| Zone | One or more data centers within a region, isolated so a failure in one zone doesn't take down another. |
Put your app in a region close to your users to cut latency (the delay before data arrives). Spread it across multiple zones in that region so a single data-center failure doesn't take you offline. 'Region for proximity, multiple zones for resilience' is a phrase worth memorising — it's the foundation of every reliable design later in the course.
- Latency — the time delay for data to travel. Lower is better; closer regions mean lower latency.
- Bandwidth — how much data can flow per second (the 'width of the pipe').
- Edge / CDN — provider locations even closer to users that cache content for speed. Google's is Cloud CDN; the global network backbone is a major Google selling point.
- Subsea cables & fiber — the physical undersea and underground cables Google partly owns that make its global network fast and reliable (the exam explicitly mentions these).
Google heavily markets its private global network — including subsea cables — as a differentiator: your traffic spends more time on Google's fast private backbone and less on the public internet. For the exam, link 'Google's global infrastructure & network' to the benefits of low latency, reliability, and global reach.
- IP address = a machine's address; DNS = the phone book turning names into IPs (Cloud DNS / Route 53).
- Region = a geographic area of data centers; Zone = an isolated data center within a region.
- Design rule: region near users for low latency, multiple zones for resilience.
- Latency, bandwidth, edge/CDN, and Google's private global network (incl. subsea cables) are named exam terms.
What Digital Transformation Actually Means
Cutting through the buzzword to the real business change underneath — and cloud's role in it.
'Digital transformation' is on every executive's slide deck and means little until you ground it. For the CDL exam, you need the business definition, the drivers, and how cloud enables it.
Digital transformation = using digital technology (especially cloud, data, and AI) to fundamentally change how an organisation operates and delivers value — not just digitising old processes, but reimagining them. A bank that lets you deposit a cheque by photographing it didn't just move a paper form online; it rethought the whole interaction.
Digitising vs. transforming: scanning your paper filing cabinet into PDFs is digitising (same process, electronic). Replacing the cabinet with a system that auto-files, searches instantly, and flags anomalies is transforming. Cloud is what makes the second one affordable and fast for ordinary companies.
#Why organisations transform (the drivers)
- Customer expectations — people expect instant, personalised, always-on digital experiences.
- Competition & speed — digital-native rivals move fast; incumbents must match them.
- Data as an asset — companies sit on data they could turn into insight and new products.
- Cost & efficiency — automate manual work; stop running expensive legacy systems.
- Resilience — events like the pandemic proved that flexible, remote-capable, scalable systems survive shocks.
Google frames cloud as the foundation that makes transformation possible: elastic infrastructure to build on, data tools to turn information into insight, and AI to build intelligent products — all without owning data centers.
A 'leader' connects technology to business outcomes. The exam rarely asks 'what does product X do' in isolation; it asks 'a company wants outcome Y — which approach helps?' Train yourself to read for the business goal (faster launches, happier customers, lower cost, new revenue) and match cloud capability to it.
- Digital transformation = using cloud, data, and AI to fundamentally change how an organisation operates and delivers value — not just digitising old processes.
- Drivers: customer expectations, competition/speed, data as an asset, cost/efficiency, resilience.
- Cloud is the foundation: elastic infrastructure + data tools + AI.
- Think in business outcomes, not products — that's the CDL mindset.
Google Cloud's Infrastructure & The 'Why Google' Story
Global network, sustainability, and the open/multi-cloud stance — the differentiators the exam wants you to articulate.
The CDL exam expects you to articulate why an organisation might choose Google Cloud specifically. These are the talking points — all genuine differentiators Google emphasises.
| Differentiator | The pitch |
|---|---|
| Global private network | One of the largest private networks on earth, incl. subsea cables — fast, reliable, low-latency reach worldwide. |
| Sustainability | Google matches 100% of its electricity use with renewable energy and aims to run on 24/7 carbon-free energy; its data centers are highly efficient. A real factor for ESG-conscious buyers. |
| Open & multi-cloud | Strong support for open source (Google created Kubernetes) and tools (GKE Enterprise) to run across clouds — less lock-in. |
| Data & AI leadership | BigQuery for analytics and Vertex AI / Gemini for AI are widely seen as best-of-breed — Google's research heritage. |
| Security by design | Built on the same infrastructure that secures Gmail, Search, and YouTube at planetary scale. |
Notice these map straight to the benefits from Part 1: network → global reach + low latency; security → managed security; open → less lock-in. The exam wants you to take a business concern and reach for the matching Google strength.
Sustainability shows up more than newcomers expect. If a scenario mentions a company with carbon or ESG goals, Google Cloud's carbon-free energy commitments and Carbon Footprint reporting tool are the intended connection.
- 'Why Google' talking points: global private network, sustainability, open/multi-cloud, data & AI leadership, security by design.
- Each maps to a Part-1 benefit — match the business concern to the strength.
- Sustainability (renewable matching, carbon-free goals, Carbon Footprint tool) is a recurring exam theme for ESG scenarios.
Total Cost of Ownership, CapEx & OpEx
The money concepts — how leaders compare the true cost of cloud vs owning, beyond the sticker price.
Money questions are core to a leader's role. Three terms recur: CapEx, OpEx, and TCO. We met CapEx/OpEx in Part 1; here we make them decision tools and add TCO.
| Term | Meaning | Cloud angle |
|---|---|---|
| CapEx (Capital Expenditure) | Big upfront purchases of assets you own (servers, buildings). | On-prem is CapEx-heavy. |
| OpEx (Operating Expenditure) | Ongoing pay-as-you-go running costs. | Cloud shifts spend to OpEx. |
| TCO (Total Cost of Ownership) | The complete cost of something over its life — not just purchase, but power, cooling, staff, maintenance, downtime. | Cloud's value often hides in the costs people forget to count. |
The classic mistake is comparing only the sticker price of a cloud VM vs a server you'd buy. Real TCO of owning includes electricity, cooling, the building, the IT staff who patch and babysit it, the spare capacity you bought 'just in case,' and the cost of downtime when it fails. Counting all of that, cloud frequently wins even when the raw compute looks pricier — and you gain agility for free.
Owning a car vs. ride-hailing. The car's price tag isn't its TCO — add insurance, fuel, parking, repairs, depreciation, and the hours it sits idle in your driveway. For someone who drives occasionally, ride-hailing (pay-per-use, no ownership burden) can be cheaper and more convenient. Same logic, servers vs cloud.
Google Cloud also offers pricing innovations a leader should name: per-second billing, sustained-use discounts (automatic discounts for running VMs a lot in a month), committed-use discounts (commit to 1–3 years for big savings), and preemptible/Spot VMs (cheap, interruptible capacity). These let cost-conscious organisations cut bills substantially.
- CapEx = big upfront owned assets; OpEx = ongoing pay-as-you-go; cloud shifts CapEx→OpEx.
- TCO counts the whole cost of ownership — power, cooling, staff, spare capacity, downtime — not just sticker price.
- Counting true TCO (plus agility) often makes cloud the better deal even when raw compute looks pricier.
- Google cost levers: per-second billing, sustained-use & committed-use discounts, Spot/preemptible VMs.
The Compute Options & How to Choose
Compute Engine, GKE, Cloud Run, App Engine, Cloud Functions — five ways to run code, and when each fits.
Google Cloud gives you several ways to run code, along the spectrum from 'most control, most work' (a raw VM) to 'least control, least work' (fully serverless). Knowing which to reach for is tested on both CDL (conceptually) and ACE (practically), so learn it well once.
| Service | What it is | Reach for it when… |
|---|---|---|
| Compute Engine | IaaS — raw virtual machines you control. | You need full control of the OS, or are migrating existing VMs as-is ('lift and shift'). |
| Google Kubernetes Engine (GKE) | Managed Kubernetes — orchestrates many containers. | You run containerised apps at scale and want fine control over how they run. |
| Cloud Run | Serverless containers — run a container, scale to zero, pay per use. | You have a container and just want it run and auto-scaled without managing clusters. |
| App Engine | PaaS — deploy code, Google runs and scales it. | You want to deploy an app fast without managing infrastructure. |
| Cloud Functions | Serverless functions — tiny snippets that run on an event. | You want to run a small piece of code in response to an event (a file upload, a message). |
The mental staircase from Part 1, now with products: Compute Engine (IaaS) → GKE / App Engine (PaaS-ish) → Cloud Run / Cloud Functions (serverless). As you descend, you manage less and the platform does more. The decision question is always: how much control do I actually need, and how much operational work do I want to avoid?
Transport again: Compute Engine is owning a car (total control, you maintain it). GKE is running a fleet with a logistics manager (powerful, complex). Cloud Run / App Engine is ride-hailing (show up, go, pay per trip). Cloud Functions is a single courier errand triggered when needed.
On the AWS side, the rough equivalents are: Compute Engine → EC2; GKE → EKS; Cloud Run → App Runner / Fargate; App Engine → Elastic Beanstalk; Cloud Functions → Lambda. We'll build a full Google↔AWS mapping later, but start noticing the parallels now — it makes learning the second provider far faster.
- Five compute options on a control↔convenience spectrum: Compute Engine (VM) → GKE → App Engine → Cloud Run → Cloud Functions.
- Choose by how much control you need vs how much ops work you want to avoid.
- Cloud Run/Functions are serverless (scale to zero); Compute Engine is raw IaaS control.
- AWS parallels: EC2, EKS, Elastic Beanstalk, App Runner/Fargate, Lambda.
Storage Options: Objects, Blocks & Files
Cloud Storage and the storage classes — plus the three fundamental kinds of storage and when each is right.
Data has to live somewhere, and 'storage' isn't one thing — there are three fundamental types. Knowing the difference prevents the most common beginner architecture mistakes.
| Type | What it holds | Google product |
|---|---|---|
| Object storage | Whole files as 'objects' in a flat bucket — images, videos, backups, data files. Hugely scalable. | Cloud Storage |
| Block storage | Raw disks attached to a VM, like the hard drive of a computer. | Persistent Disk / Hyperdisk |
| File storage | A shared network file system many machines mount at once. | Filestore |
Quick rule of thumb: objects for files you store and retrieve as wholes (a photo, a backup) — the workhorse of the cloud; block for the operating-system disk a single VM boots from; file when several machines need to share the same folder. The exam most often tests Cloud Storage (object), so anchor on that.
Object storage is valet parking — you hand over your whole car (file) and get a ticket (a unique address); you don't care which spot it's in, and the lot is effectively infinite. Block storage is your own private garage attached to your house (VM). File storage is a shared office supply room everyone on the floor can walk into.
#Cloud Storage classes: matching cost to access frequency
Within Cloud Storage, you pick a storage class based on how often you'll access the data. Less-frequent access = cheaper storage, but higher retrieval cost. This is a favourite exam topic.
| Class | Designed for | Example |
|---|---|---|
| Standard | Frequently accessed ('hot') data. | A website's active images. |
| Nearline | Accessed less than ~once a month. | Monthly reports. |
| Coldline | Accessed less than ~once a quarter. | Quarterly archives. |
| Archive | Rarely accessed — long-term cold storage. | Legal records kept for years. |
Storage classes connect to a money-saving feature called lifecycle policies: automatically move objects from Standard → Nearline → Coldline → Archive as they age, so you stop paying hot prices for cold data. A leader frames this as automatic cost optimisation; an engineer (ACE) configures it.
- Three storage types: object (Cloud Storage — files as whole objects, the workhorse), block (Persistent Disk — a VM's disk), file (Filestore — shared file system).
- Cloud Storage classes trade storage price against access frequency: Standard → Nearline → Coldline → Archive (hot to cold).
- Lifecycle policies auto-move ageing data to colder, cheaper classes.
- Object storage = valet parking (hand over the whole file, get an address).
Databases: SQL, NoSQL & the Google Lineup
Relational vs non-relational, and which Google database solves which problem — Cloud SQL, Spanner, Firestore, Bigtable.
Files are one thing; structured, queryable data is another. That's what databases are for. The first fork in the road is relational (SQL) vs non-relational (NoSQL) — a named exam concept.
| Relational (SQL) | Non-relational (NoSQL) | |
|---|---|---|
| Shape | Tables of rows & columns, like spreadsheets with strict structure. | Flexible — documents, key-values, wide columns. |
| Strength | Complex queries, transactions, consistency (e.g. banking). | Massive scale, flexible/changing data, speed. |
| Query language | SQL (Structured Query Language). | Varies by system. |
| Example data | Orders, customers, accounting. | User profiles, IoT sensor streams, product catalogues. |
Relational is a meticulous accountant's ledger — every entry in the right column, totals always balance, perfect for money. NoSQL is a flexible notebook — you can jot different things on each page, scale to millions of pages, and find them fast, but it won't enforce strict structure for you.
#Google's database lineup, by job
| Product | Type | Best for |
|---|---|---|
| Cloud SQL | Relational (MySQL/PostgreSQL/SQL Server) | Standard relational apps — the default managed SQL database. |
| Cloud Spanner | Relational, globally distributed | Huge-scale relational needs with global consistency (e.g. global banking). |
| Firestore | NoSQL document | App data, user profiles, mobile/web backends — flexible & real-time. |
| Bigtable | NoSQL wide-column | Massive high-throughput data — IoT, time-series, analytics feeds. |
| BigQuery | Analytics warehouse (covered next lesson) | Analysing huge datasets with SQL. |
Map the scenario to the product by two questions: Is the data relational (needs strict tables and transactions) or flexible/huge? and What scale? Relational + normal scale → Cloud SQL. Relational + global massive scale → Spanner. Flexible app data → Firestore. Enormous high-speed non-relational streams → Bigtable.
'Managed' is the key word. With Cloud SQL you get a database without patching the OS, configuring replication, or running backups yourself — Google handles the undifferentiated heavy lifting. The leader's framing: managed services let teams focus on their app, not on database administration.
- First fork: relational/SQL (strict tables, transactions, consistency) vs non-relational/NoSQL (flexible, massive scale).
- Google lineup: Cloud SQL (managed relational default), Spanner (global relational), Firestore (NoSQL documents/app data), Bigtable (huge NoSQL streams).
- Match by relational-or-flexible and scale.
- Managed = Google handles patching, backups, replication so teams focus on the app.
BigQuery & The Data Journey
Data warehouses, the lake-warehouse pipeline, and why BigQuery is Google's crown jewel for analytics.
Operational databases (last lesson) run your app. Analytics is different: asking big questions across mountains of data — 'which products sell best by region over three years?' That's what a data warehouse is for, and Google's is BigQuery, a star of the CDL exam.
BigQuery is a serverless, fully-managed data warehouse: you load enormous datasets and ask questions in plain SQL, and Google's engine scans terabytes in seconds — no servers to manage, scaling handled for you. Its serverless nature is the headline: no infrastructure, pay for what you query.
#The data journey: ingest → store → process → analyse → act
The exam frames data as a journey through stages. Recognise the vocabulary and a representative Google tool for each.
| Stage | What happens | Google tool |
|---|---|---|
| Ingest | Get data flowing in, often in real time. | Pub/Sub (messaging) |
| Store | Hold raw data cheaply at scale (a 'data lake'). | Cloud Storage |
| Process | Clean and transform it into useful shape. | Dataflow |
| Analyse | Run analytical queries over huge data. | BigQuery (warehouse) |
| Visualise | Turn results into dashboards & insight. | Looker / Looker Studio |
Data lake vs data warehouse: a lake is where all the raw water (data) pools — unfiltered, cheap, everything kept (Cloud Storage). A warehouse (BigQuery) is the bottling plant: structured, cleaned, ready to query and serve. Pipelines (Dataflow) move and purify water from lake to warehouse.
Two more names worth recognising: data governance (managing data quality, access, and compliance — the exam calls this essential to a successful data journey) and Looker (Google's business-intelligence/visualisation platform). If a scenario says 'analyse huge datasets with SQL, no infrastructure,' the answer is almost always BigQuery.
- BigQuery = serverless, managed data warehouse for fast SQL analytics over huge data — Google's analytics crown jewel.
- The data journey: ingest (Pub/Sub) → store (Cloud Storage lake) → process (Dataflow) → analyse (BigQuery) → visualise (Looker).
- Data lake = raw cheap storage of everything; warehouse = cleaned, structured, query-ready.
- Data governance (quality, access, compliance) is essential to the journey.
Enterprise Use Cases: Compute, Storage & Data in Production
Ten real production architectures — the exact services, sizing logic, and trade-offs — showing how the compute, storage, and data decisions from this Part actually play out at enterprise scale.
The exam teaches you the menu: Compute Engine or Cloud Run, Standard or Coldline, Cloud SQL or Spanner or Bigtable. Production teaches you which combination to order, in what portions, and why the wrong combination quietly costs a company millions or falls over during its busiest hour. This lesson is the bridge — ten enterprise systems, each built from the exact products you just learned, with the real mechanics: the autoscaler thresholds, the lifecycle-rule JSON, the row-key design, the SQL. Nothing here is decorative. Every number is the kind of number a solutions architect actually writes into a design doc.
Every one of these ten systems is solved by answering the same four questions in order: How spiky is the load? Does the workload need to remember anything between requests? What's the acceptable staleness of a read? What's the blast radius if this component fails? Get those four answers right and the product choice — VM vs. container vs. serverless, SQL vs. NoSQL, Standard vs. Archive — falls out almost automatically. Get them wrong and no amount of over-provisioning saves you.
#The decision lens: four questions before you pick a service
Before any of the ten case studies, here's the reusable framework that produced every decision inside them. Architects don't start from a service name — they start from the shape of the problem.
| Question | If the answer is "yes / high" | If the answer is "no / low" |
|---|---|---|
| Is load spiky or predictable? | Autoscaling compute (MIGs, Cloud Run, GKE HPA) with headroom for burst | Fixed-size reserved capacity, often cheaper per unit |
| Does it need to remember state between requests? | A database or persistent disk behind it — the compute layer stays disposable | Pure serverless (Cloud Functions/Cloud Run) with no attached state |
| Can reads tolerate staleness? | Read replicas, caching layers (Memorystore), eventual consistency (Bigtable) | Strong consistency required — Cloud SQL primary, or Spanner for global scale |
| What's the blast radius on failure? | Multi-region, multi-zone redundancy, automated failover | Single-zone is an acceptable, cheaper trade-off |
Hold that table in your head. Every case study below is one or two of those four levers, pulled hard, for a specific business reason.
#Compute in production: three enterprise patterns
Use case 1 — Flash-sale checkout for a global e-commerce retailer. A retailer runs a once-a-quarter flash sale that drives 40× normal traffic for roughly ninety minutes, then falls back to baseline. Provisioning for peak year-round would mean paying for 40× capacity that sits idle 99% of the time — the single most common compute-sizing mistake enterprises make. The fix is a Managed Instance Group (MIG) running the checkout service on e2-standard-4 instances (4 vCPU, 16 GB — enough headroom for a Java or Node checkout process plus its connection pool), with autoscaling driven not by CPU alone but by a custom Cloud Monitoring metric: pending-request queue depth published by the load balancer. CPU-based autoscaling reacts too late for a flash sale — by the time CPU hits 70%, the queue has already backed up and customers are seeing timeouts. Queue-depth-based scaling reacts to the leading indicator instead of the lagging one.
gcloud compute instance-groups managed set-autoscaling checkout-mig \
--zone=us-central1-a \
--max-num-replicas=120 \
--min-num-replicas=6 \
--target-load-balancing-utilization=0.65 \
--cool-down-period=90 \
--update-stackdriver-metric=custom.googleapis.com/checkout/queue_depth \
--stackdriver-metric-single-instance-assignment=25The MIG sits behind a global external HTTPS Load Balancer with two backend regions (us-central1 and europe-west1), so a regional capacity ceiling or zonal outage during the sale's peak minute doesn't take checkout offline entirely — traffic simply spills to the healthy region. The ninety-second cooldown period matters as much as the scale-up threshold: scale down too aggressively right after the peak and you're re-provisioning (and re-warming caches, re-establishing DB connection pools) for the long tail of stragglers still checking out.
The financial case for autoscaling over static peak-provisioning is worth actually running the numbers on, because it's the argument that gets this pattern approved in a budget review. Provisioning 120 e2-standard-4 instances year-round to cover a 90-minute quarterly spike, at a representative on-demand rate, runs to tens of thousands of dollars a month in pure idle capacity — instances doing nothing 358 days a year. The autoscaled fleet instead averages 6 instances baseline, bursts to 120 for roughly 90 minutes four times a year, and pays only for that burst window. The difference isn't a rounding error; it's typically a 90%+ reduction in the compute line item for this service, which is precisely why "provision for peak" is the single costliest instinct a new architect brings into their first capacity-planning conversation.
Autoscaling has a floor worth knowing: cold-start time. A brand-new e2-standard-4 instance takes on the order of 30–60 seconds to boot, register with the load balancer, and pass a health check — during which it contributes nothing to capacity. That's exactly why the checkout MIG never scales from 6 to 0; the 6-instance floor absorbs the first seconds of a spike while the autoscaler's newly-requested instances are still booting. For workloads where even that gap is unacceptable, teams pre-warm capacity a few minutes ahead of a known event (a scheduled flash sale, unlike an organic traffic spike, is exactly this case) using a scheduled scaling policy rather than relying on reactive autoscaling alone.
The two-region design also has a cost implication that's easy to miss until the first invoice: if the checkout service in one region needs to talk to a database or cache instance that only exists in the other region, every one of those calls crosses a cross-region network boundary, which Google prices separately from — and higher than — traffic that stays within a region. The common fix is to keep each region's compute talking to a same-region copy of anything latency- or cost-sensitive (a regional read replica, a regional cache), and reserve genuinely cross-region calls for the low-frequency case — like the rare failover itself — rather than the steady-state request path. Designing the multi-region architecture without checking where the data lives relative to the compute is one of the most common ways a "resilience" upgrade quietly turns into a recurring network-egress cost line nobody budgeted for.
Use case 2 — Batch video transcoding for a media company. A streaming service ingests thousands of hours of raw camera footage nightly and must transcode each file into six delivery formats (different resolutions and codecs) before morning. This is the textbook case for Spot VMs (Compute Engine's current name for what used to be called preemptible instances): the workload is stateless per-chunk, restartable, and has zero user-facing latency requirement — exactly the profile Spot pricing is built for, typically 60–91% cheaper than on-demand in exchange for Google's right to reclaim the instance with 30 seconds' notice.
The architecture: a Cloud Tasks queue holds one task per video chunk. A MIG of Spot c2-standard-16 instances (compute-optimized — transcoding is CPU-bound, not memory-bound) pulls tasks, transcodes, and writes output directly to Cloud Storage. The critical design decision is checkpointing: each worker writes progress to Cloud Storage every 30 seconds so that if Google reclaims the VM mid-job, the replacement worker resumes from the last checkpoint instead of restarting the whole chunk. Without that, Spot's cost savings get eaten by wasted re-computation. The autoscaler here is queue-depth-driven again, but inverted from the checkout example: it scales toward throughput (minimize total transcode time within a cost ceiling), not toward latency.
"Spot VMs are unreliable, so don't use them for production workloads" is only half true. Spot VMs are unreliable for any individual instance. They're extremely reliable for a fleet running a checkpointed, horizontally-parallel batch workload — Google reclaiming 5% of a 200-instance transcoding fleet at any moment barely dents total throughput. The rule: Spot for stateless, restartable, horizontally-scaled work; standard or committed-use for anything a single user is waiting on synchronously.
Use case 3 — Real-time multiplayer game backend. A game studio runs persistent match sessions where 40 players share one authoritative game-state simulation, ticking 20 times a second, for the 15–30 minutes a match lasts. This workload is the opposite of the transcoding case: it's stateful (the match simulation lives in one process's memory — you can't move it mid-match without disrupting all 40 players) and latency-critical (players need sub-50ms round trips or the game feels broken).
The architecture is a regional GKE cluster with a dedicated node pool of c2-standard-8 machines (compute-optimized, since tick-rate simulation is CPU-bound), running one game-server Pod per match with session affinity so all 40 players' traffic is pinned to that one Pod for the match's duration. Because this is UDP traffic (game state updates, not HTTP), the front door is a Network Load Balancer (passthrough, Layer 4) rather than the HTTPS load balancer used in the checkout example — passthrough LBs preserve the client's source IP and add near-zero latency overhead, which matters when every millisecond is visible to a player.
(passthrough, L4)"] LB --> N1["Node pool: c2-standard-8
Match Pod A (40 players)"] LB --> N2["Node pool: c2-standard-8
Match Pod B (40 players)"] N1 --> R["Redis (Memorystore)
match registry & matchmaking"] N2 --> R
A Horizontal Pod Autoscaler here doesn't scale an individual match — a match's player count is fixed by game design — it scales the number of match Pods, driven by a custom metric (concurrent active matches) rather than CPU, since a lightly-populated match still needs its own dedicated Pod for isolation. A separate, small Memorystore for Redis instance holds the matchmaking registry — which matches exist, which node they're on — so the load balancer and matchmaking service know where to route a rejoining player after a disconnect.
There's a subtlety here worth naming explicitly: plain Kubernetes Deployments assume Pods are interchangeable — if one dies, any replacement is equally good, because a stateless web server doesn't care which Pod serves a given request. A game server violates that assumption completely: if the Pod hosting a live 40-player match dies, the replacement Pod is worthless to those 40 players — their match state is gone, not resumable elsewhere. This is why production game-server fleets on GKE typically run Agones, an open-source project (originally built by Google and Ubisoft) that layers game-server-aware primitives on top of Kubernetes: a GameServer custom resource with an explicit lifecycle (Ready → Allocated → Shutdown) instead of the generic Pod lifecycle, a Fleet controller that keeps a warm pool of Ready servers standing by so matchmaking never waits on a cold boot, and a FleetAutoscaler that scales the warm-pool buffer based on allocation rate rather than CPU. The mental model: standard Kubernetes autoscaling answers "how much capacity do we need," while Agones additionally answers "which specific, stateful instance is this player's match living on, and how do we make sure Kubernetes never tears it down mid-match."
#Storage class decisions that save (or cost) millions
Use case 4 — Medical imaging archive for a hospital network. A hospital network generates roughly 2 TB of DICOM medical images (MRI, CT, X-ray) per day across its facilities. Regulatory requirements (in most jurisdictions) mandate retaining these for seven years, but access patterns are sharply front-loaded: an image is accessed frequently in the first 30 days after a diagnosis, occasionally over the following year for follow-up care, and then almost never — except on the rare occasion of a malpractice review or a patient requesting historical records.
This access curve is the canonical case for a Cloud Storage lifecycle policy that automatically moves objects down the class ladder as they age, rather than a human ever manually re-classifying files:
{
"lifecycle": {
"rule": [
{ "action": {"type": "SetStorageClass", "storageClass": "NEARLINE"},
"condition": {"age": 30} },
{ "action": {"type": "SetStorageClass", "storageClass": "COLDLINE"},
"condition": {"age": 365} },
{ "action": {"type": "SetStorageClass", "storageClass": "ARCHIVE"},
"condition": {"age": 1825} },
{ "action": {"type": "Delete"},
"condition": {"age": 2555} }
]
}
}Two details separate a compliant architecture from a merely functional one here. First, every object is encrypted with a Customer-Managed Encryption Key (CMEK) via Cloud KMS rather than Google's default encryption — this is what makes a signed Business Associate Agreement (BAA) under HIPAA meaningful, because the hospital (not just Google) controls key rotation and can cryptographically revoke access. Second, Object Versioning is enabled, so an accidental overwrite or deletion during an EHR system integration doesn't silently destroy a patient record — the prior version remains recoverable. The cost impact of the lifecycle policy alone is substantial: Archive-class storage runs at a small fraction of Standard's per-GB price, so five-year-old images that are almost never read cost a small fraction of what leaving them in Standard would.
One operational detail worth getting right before it surprises an on-call radiologist: unlike some competing clouds' deepest-archive tiers, Cloud Storage's Archive class has no retrieval delay — an Archive object is available with the same millisecond-scale API latency as a Standard object the moment it's requested, the trade-off is purely a higher per-operation cost for that access, not a wait. A five-year-old scan needed urgently for a malpractice review or an emergency re-consult comes back immediately, not after a multi-hour restore job. That distinction matters enough to state explicitly in a design doc, because an architect who's worked with archival tiers on other platforms will reasonably assume otherwise — and design an unnecessary "restore ahead of time" workflow around a constraint that doesn't actually apply here.
Use case 5 — Trade-data retention for a financial services firm. A brokerage must retain every trade record for seven years under financial regulations, with an extra wrinkle: regulators require that the data be provably immutable — not just backed up, but architecturally incapable of being altered or deleted by anyone, including the firm's own administrators, before the retention period expires. This is what Bucket Lock is for: a retention policy that, once locked, cannot be shortened or removed by any principal, including the project owner, until every object in the bucket has individually aged past the retention period.
gcloud storage buckets update gs://trade-records-archive \
--retention-period=2555d
gcloud storage buckets lock-retention-policy gs://trade-records-archive
# After this command, the retention period cannot be reduced or removed —
# by anyone — until every object has aged past 2555 days.The bucket is provisioned in a dual-region configuration (specifically a placement like nam4, spanning two US regions), trading a small latency and cost premium over single-region storage for a 99.95%+ availability SLA and geographic redundancy — acceptable given that a full regional outage during an audit request would itself be a regulatory problem. A separate, equally locked bucket holds access logs for every read of the trade-records bucket, because "who looked at this record and when" is often as regulator-relevant as the record itself.
It's worth distinguishing the retention policy above from a related but different tool: an object hold. A retention policy is time-based and set once at the bucket level — every object is protected until it individually ages past the fixed period. A hold is per-object and open-ended — placed on a specific record the moment, say, a litigation notice arrives naming that trade, and it blocks deletion of that one object regardless of the bucket's retention period, until someone with permission explicitly releases it. A firm typically runs both simultaneously: the seven-year Bucket Lock policy as the regulatory floor that applies to everything, and per-object holds layered on top for any record additionally pulled into active litigation — because litigation timelines don't respect a fixed regulatory retention window, and a record needed for a lawsuit filed in year six can't be allowed to age out on schedule just because the standard retention clock says it's about to expire.
Use case 6 — Video-on-demand origin storage for a streaming platform. Where the previous two cases were about aging data down the class ladder, VOD origin storage is the opposite pattern: content stays in Standard class indefinitely because it might be requested at any moment (a five-year-old catalog title can suddenly trend), but the real cost and performance lever is Cloud CDN sitting in front of the bucket. The origin bucket is provisioned as multi-region (not dual-region — VOD wants the broadest possible geographic footprint for lowest origin latency), and Cloud CDN caches the actual video segments at edge locations close to viewers, so the origin bucket serves a given segment once per cache-refresh window rather than once per viewer.
Access control adds one more real-world layer: rather than making objects public, the platform issues signed URLs with a short expiry (minutes, not hours) generated by the backend at playback-request time, so a URL can't be captured and shared to bypass subscription checks. The mechanics: the signing key never leaves the backend; the URL embeds an expiry timestamp and a signature; Cloud Storage (and Cloud CDN, which honors the same signed-URL scheme) validates the signature and timestamp on every request before serving bytes.
The economics of this architecture live almost entirely in the cache hit ratio. Every request Cloud CDN can serve from an edge cache never touches the origin bucket at all — no origin egress charge, and single-digit-millisecond latency to the viewer instead of a round trip to the bucket's region. For a catalog with a small number of trending titles driving the majority of concurrent viewing (the standard long-tail distribution any VOD platform sees), a well-tuned cache — reasonable TTLs on cache keys, cache keys that don't accidentally vary by irrelevant query parameters and fragment the cache — routinely holds a 90%+ hit ratio, meaning the origin bucket only ever serves the initial fetch of a segment plus the long tail of rarely-watched catalog depth. Drop that hit ratio through a cache-key misconfiguration (say, including a per-session token in the cache key, so every viewer's request looks unique to the cache) and origin egress costs can jump by an order of magnitude overnight for identical viewing traffic — a failure mode that shows up as a billing anomaly days before anyone thinks to check the CDN configuration.
#Choosing (and scaling) the right database under load
Use case 7 — Global dispatch for a ride-sharing platform. A ride-sharing company needs to match riders to drivers across dozens of cities on multiple continents, with a hard requirement that two riders can never be matched to the same driver at the same instant — a classic strong consistency problem at global scale, which rules out both a single-region Cloud SQL instance (can't serve low-latency writes globally from one region) and a purely eventually-consistent NoSQL store (can't guarantee the no-double-booking invariant).
This is the case Cloud Spanner exists for. A multi-region Spanner instance (configuration nam3, spanning three US regions, or a comparable global config) gives external consistency — every transaction appears to happen at a single, real point in global time — backed by Google's TrueTime API, which bounds clock uncertainty across data centers to single-digit milliseconds using atomic clocks and GPS receivers in every region. The schema uses interleaved tables: a Drivers parent table and a DriverLocations child table interleaved into it, which physically co-locates each driver's location history with their driver row on disk — so "find this driver's current location" is a single-row read rather than a join across shards.
Most distributed databases can tell you the order two transactions happened in, but not with confidence whether they were genuinely simultaneous or just close together — like two people in different cities describing "just now" without synchronized watches. TrueTime is Spanner giving every data center a genuinely synchronized watch, accurate to a few milliseconds, using real atomic clocks and GPS antennas installed in Google's data centers. Instead of guessing at ordering after the fact, Spanner can wait out its known uncertainty window before committing a transaction, then guarantee that any transaction which reads afterward — anywhere in the world — sees a state consistent with real-world time. That's what lets the dispatch system say, with certainty, "driver B was already assigned when driver A's request arrived," even when the two requests hit servers on different continents milliseconds apart.
| Requirement | Why Spanner, not Cloud SQL or Bigtable |
|---|---|
| Global writes, no double-booking | Spanner gives external consistency across regions; Cloud SQL is single-region for writes |
| Relational queries (joins across drivers, rides, payments) | Spanner speaks SQL with full relational semantics; Bigtable has no joins |
| 99.999% availability target | Only Spanner's multi-region configuration is rated for five-nines |
The trade-off is cost and complexity: Spanner's multi-region pricing and operational model are overkill for a system that doesn't need cross-region strong consistency — which is exactly why the next two cases use different databases entirely.
Use case 8 — Inventory and order management for a national retailer. A retailer's order-management system needs strong consistency too (don't sell the last unit of a product to two customers simultaneously), but only within a single country's operations — there's no requirement to coordinate inventory writes across continents in real time. This is the profile for Cloud SQL for PostgreSQL with regional high availability: a primary instance with a synchronous standby in a second zone of the same region, so a zonal failure triggers an automatic failover with no data loss, without paying Spanner's multi-region premium.
The failover mechanics matter for how the application is built, not just how the database is configured. Because the standby replicates synchronously, every write transaction only commits once the standby has confirmed it received the change — the guarantee that makes zero-data-loss failover possible, at the cost of every write paying the latency of that cross-zone round trip. When the primary zone actually fails, Cloud SQL detects it, promotes the standby, and repoints the same connection endpoint to the new primary — typically inside a minute, though the number that matters more to the application team is what happens to in-flight connections during that window: they're dropped, and the application has to reconnect. This is why a production retail checkout service is built with connection-retry logic using exponential backoff rather than assuming the database connection is always live — a failover that the database layer handles gracefully can still surface as a five-second checkout error to a customer if the application layer doesn't expect the connection to ever drop.
Two more pieces complete the picture. Reporting and analytics queries (nightly sales dashboards, inventory forecasting) run against a read replica rather than the primary, so a long-running analytical query never competes for I/O with a customer's checkout transaction — a mistake that shows up in almost every "why is checkout suddenly slow" incident review. And a Memorystore for Redis instance sits in front of the database as a cache for the highest-read-frequency data — product catalog pages and current stock counts — using a cache-aside pattern: the application checks Redis first, and on a cache miss reads Cloud SQL and populates Redis for next time, with a short TTL (say, 30 seconds for stock counts) balancing freshness against database load.
Use case 9 — IoT telemetry ingestion for a manufacturing plant. A factory floor has 50,000 sensors reporting temperature, vibration, and throughput readings once per second — roughly 50,000 writes/second sustained, each a small, structured, time-series data point, with a query pattern that's almost always "give me the last N readings for sensor X" rather than complex joins. This profile — massive write throughput, simple key-based lookups, no relational joins needed — is Bigtable's exact design target, and a poor fit for both Cloud SQL (can't sustain that write rate on a single primary) and Spanner (paying for strong cross-row transactional consistency the workload doesn't need).
The detail that separates a working Bigtable schema from a broken one is row-key design. A naive key like sensorID-timestamp causes a hotspot: since Bigtable stores rows in sorted key order and splits them across nodes by key range, and since all 50,000 sensors are writing near-simultaneous timestamps, writes concentrate onto whichever node currently owns the "now" range instead of spreading across the cluster. The fix is a reversed timestamp combined with the sensor ID: sensorID#(Long.MAX_VALUE - timestamp). This does two things at once — it spreads writes across the key space (and therefore across nodes) since each sensor's ID prefix puts it in a different part of the sort order, and it makes the most recent reading for any sensor the first row when scanning that sensor's prefix, which is exactly the "last N readings" query the application actually runs.
| Row key design | Effect |
|---|---|
sensorID-timestamp (naive) | Hotspots — all writes land near the same key range at any given moment |
sensorID#(MAX-timestamp) (reversed) | Writes spread across nodes; latest reading is first row on scan |
Hotspotting rarely shows up in a load test built around average throughput — it shows up in production, weeks later, once traffic patterns stop being artificially uniform. A common version of this incident: a Bigtable cluster performs fine in staging with synthetic, evenly-distributed test keys, ships to production with a timestamp-leading row key, and runs fine too — right up until a subset of sensors on one production line start reporting every 100 ms instead of every second during a high-throughput shift. Suddenly a handful of nodes are absorbing a disproportionate share of writes, write latency on those specific rows climbs, and the on-call engineer's first instinct is to add nodes to the cluster — which does nothing, because more nodes can't help a key range they're not routing any of the hot writes to. The fix is never capacity; it's always the row key. This is precisely why row-key design gets reviewed as a first-class architecture decision before a Bigtable schema ships, not patched reactively after an incident.
Column families group related readings (a metrics family for temperature/vibration/throughput) so the application can fetch just the columns it needs per query rather than the whole row, and the cluster runs on SSD storage (versus HDD) because the access pattern is latency-sensitive point lookups rather than large sequential scans, where HDD's lower cost-per-GB would otherwise be the better trade.
Sizing the cluster itself follows directly from the 50,000 writes/second the plant generates. Bigtable throughput scales roughly linearly with node count, with SSD-backed nodes commonly planned around a few thousand rows of simple writes per second each as a starting estimate — meaning a cluster in the range of 15–20 nodes gives comfortable headroom over the sustained 50,000/sec figure, rather than sizing to the bare minimum and having zero margin the first time a production line adds sensors. That planning number is always a starting estimate, not a guarantee — actual throughput per node depends on row size and access pattern — which is exactly why teams load-test against production-realistic row keys and payload sizes before finalizing cluster size, rather than trusting a back-of-envelope number all the way to launch.
#BigQuery in the real enterprise data journey
Use case 10 — Real-time bidding analytics for an ad-tech platform. An ad exchange processes on the order of 200,000 bid events per second across its network, and product, finance, and fraud-detection teams all need to query this data — some in near-real-time (a fraud dashboard flagging anomalous bidding patterns within minutes), some in daily batch (advertiser billing reconciliation run each morning). This is the data journey from Lesson 4.4 (ingest → store → process → analyse) at genuinely large scale, and every stage matters.
(~200K/sec)"] --> PS["Pub/Sub
(ingest, buffers bursts)"] PS --> DF["Dataflow
(windowed aggregation,
schema validation)"] DF --> BQ["BigQuery
(streaming insert,
partitioned + clustered)"] BQ --> FD["Fraud dashboard
(near-real-time query)"] BQ --> BILL["Billing job
(nightly batch query)"]
Pub/Sub absorbs the raw event stream and, critically, buffers the bursts — ad auction traffic isn't a flat 200K/sec, it spikes hard around high-value ad placements, and Pub/Sub decouples the ingestion rate from the processing rate so a momentary spike doesn't overwhelm downstream systems. Dataflow reads from Pub/Sub, applies a windowed aggregation (rolling up raw bid events into per-minute summaries for the fraud pipeline while passing raw events through unmodified for the billing pipeline), validates schema, and writes to BigQuery via streaming inserts rather than batch loads, since the fraud dashboard's near-real-time requirement means data has to be queryable within seconds of arrival, not after an hourly batch job.
The BigQuery table itself is where enterprise-scale cost control actually happens. It's partitioned by DATE(event_time) and clustered by advertiser_id:
CREATE TABLE adtech.bid_events ( event_time TIMESTAMP, advertiser_id STRING, bid_amount_usd NUMERIC, won BOOL, placement_id STRING ) PARTITION BY DATE(event_time) CLUSTER BY advertiser_id; -- The billing job only scans the partitions (days) and the advertiser -- clusters it actually needs — not the full multi-petabyte table: SELECT advertiser_id, SUM(bid_amount_usd) AS total_spend FROM adtech.bid_events WHERE DATE(event_time) = '2026-06-30' AND advertiser_id = 'adv-48213' AND won = TRUE GROUP BY advertiser_id;
That last point is the one enterprises learn the hard way: BigQuery's on-demand pricing bills per byte scanned, so an unpartitioned, unclustered multi-year events table turns every single query — including one that only needs yesterday's data for one advertiser — into a full-table scan. Partitioning and clustering aren't performance nice-to-haves here; they're the difference between a billing job costing cents and one costing hundreds of dollars, run every single night. For workloads with predictable, sustained query volume, the platform team can also switch from on-demand to flat-rate slot reservations — pre-purchased query capacity at a fixed monthly cost — trading pay-per-byte variability for cost predictability once volume is high and steady enough to make that trade favorable.
The fraud dashboard's near-real-time requirement adds one more piece: dashboards that re-run similar aggregation queries every few seconds — "current bid volume and average price by advertiser, last 5 minutes" — are exactly the pattern BigQuery BI Engine exists to accelerate. BI Engine is an in-memory analysis layer that sits transparently in front of the tables a dashboard queries most, so repeated, similar aggregation queries over the same hot dataset get served from memory rather than re-scanning storage on every refresh — turning a dashboard that felt sluggish at a five-second refresh interval into one that feels instant, without the team hand-building a separate caching layer or duplicating data into a different serving store. It's a natural fit specifically because the fraud team's query pattern is narrow and repetitive (a fixed handful of dashboard panels, refreshed constantly) rather than broad and exploratory (the finance team's ad-hoc billing investigations, which BI Engine's hot-data cache wouldn't meaningfully help).
#Applying the lens: all ten cases side by side
Run back through the ten systems above against the four-question framework from the start of this lesson, and the pattern that produced every service choice becomes explicit rather than implicit:
| Use case | Load shape | Dominant lever pulled |
|---|---|---|
| 1. Flash-sale checkout | Extreme spike, predictable timing | Autoscaling compute, multi-region LB |
| 2. Batch transcoding | Steady, stateless, restartable | Spot pricing + checkpointing |
| 3. Game backend | Steady count, stateful per-session | GKE + Agones, passthrough LB |
| 4. Medical imaging | Front-loaded access, long retention | Lifecycle policy + CMEK |
| 5. Trade-data retention | Write-once, regulatory hold | Bucket Lock (immutability) |
| 6. VOD origin | Unpredictable per-title popularity | Cloud CDN cache hit ratio |
| 7. Ride-share dispatch | Global, consistency-critical | Spanner + TrueTime |
| 8. Retail inventory | Single-region, consistency-critical | Cloud SQL HA + read replicas + cache |
| 9. IoT telemetry | Massive write throughput, simple keys | Bigtable + row-key design |
| 10. Ad-tech analytics | High-volume stream, mixed query needs | Partitioning/clustering + BI Engine |
Notice what's not in that "dominant lever" column: the actual product name is almost secondary to the property of the workload that made the decision obvious once named. That's the transferable skill here. On the exam, and in a real design review, you won't be asked to recite what Bigtable is — you'll be handed a paragraph describing 50,000 writes a second with no relational query needs, and the job is recognizing that paragraph as the Bigtable shape before the word "Bigtable" ever appears in the question.
A logistics company has a fleet-tracking table in BigQuery: one row per GPS ping, roughly 2 billion rows/year, queried almost exclusively as "show me this truck's route for a given day." The table currently has no partitioning or clustering, and a single day's-route query for one truck is scanning the entire multi-year table. What two changes would you make, and why do they specifically target this query pattern?
Show answer
PARTITION BY DATE(ping_time)) so a single-day query only scans one partition instead of multiple years of data, and cluster by truck_id so that within the matched day's partition, BigQuery further narrows straight to that one truck's rows instead of scanning every truck's pings for the day. Together they turn a full-table scan into a scan of roughly one truck's one day of data — the exact shape of the query the business actually runs.sensorID-timestamp, and the team notices severe write hotspotting on a small number of nodes. What's the most direct fix?- Every architecture decision above traces back to the same four questions: load shape, statefulness, consistency needs, and blast radius — learn to ask those before reaching for a service name.
- Compute: spiky + stateless work (flash sales, batch transcoding) wants autoscaling MIGs or Spot VMs with queue-depth-driven scaling; latency-critical stateful work (game servers) wants GKE with session affinity and a passthrough Network LB.
- Storage: lifecycle policies should mirror the real access curve of the data (Standard → Nearline → Coldline → Archive), CMEK and Bucket Lock turn compliance policy into technical guarantees, and Cloud CDN — not the storage class — is usually the real performance lever for high-traffic public content.
- Databases: Spanner earns its cost when you need strong consistency across regions; Cloud SQL with regional HA and read replicas covers the much more common single-region-consistency case; Bigtable wins on raw write throughput but demands deliberate row-key design to avoid hotspotting.
- BigQuery: partitioning and clustering aren't optional polish — on-demand pricing bills per byte scanned, so an unpartitioned table turns every narrow query into a full-table-scan bill.
AI & ML Without the Jargon
The minimum mental model a leader needs: what machine learning is, and the business problems it actually solves.
You don't need to build models to lead AI initiatives, but you must speak the language. Here's the leader-grade mental model.
Artificial Intelligence (AI) is the broad goal of machines doing tasks that need 'intelligence.' Machine Learning (ML) is the main way we get there today: instead of writing rules by hand, you show a system thousands of examples and it learns the pattern itself. A spam filter isn't programmed with every spam rule — it learns from millions of labelled emails.
Teaching a child to recognise dogs: you don't recite a definition ('four legs, fur, tail…') — you point at dogs until they get it. ML is the same: feed examples (data), the system learns the pattern, then it recognises new cases it's never seen. Data is the teacher.
#The business problems ML solves
| Pattern | Business question | Example |
|---|---|---|
| Prediction | What's likely to happen? | Will this customer churn? What will sales be? |
| Classification | Which category is this? | Is this transaction fraud? Is this review positive? |
| Recommendation | What should we suggest? | 'Customers also bought…' |
| Understanding content | What's in this text/image/audio? | Read receipts, transcribe calls, detect objects. |
| Generation | Create new content | Draft text, images, summaries (generative AI — Part 18+). |
The leader's discipline: ML needs good data. 'Garbage in, garbage out' is iron law — a model trained on biased or poor data produces biased or poor results. When a scenario hypes an AI project, the mature question is 'do we have the right data, and is it good?' Data readiness, not algorithms, is usually the real constraint.
Misconception: 'AI will figure it out without good data.' AI is not magic; it's pattern-learning from examples. Without representative, high-quality data, even the best model fails. Equally, AI can encode and amplify the biases in its training data — which is why responsible AI (Part 20) matters to leaders, not just engineers.
- AI = the goal; ML = the dominant method: learn patterns from example data instead of hand-coded rules.
- ML business patterns: prediction, classification, recommendation, content understanding, generation.
- Data quality is the real constraint — garbage in, garbage out; AI can amplify bias.
- Leaders ask 'do we have the right, good data?' before hyping the algorithm.
Google's AI Ladder: APIs to Custom Models
Pre-trained APIs, AutoML, and Vertex AI — three rungs of effort, and Gemini as Google's flagship.
Google offers AI at three levels of effort, so a business can pick how much custom work it wants to do. The exam expects you to match a business need to the right rung.
| Rung | What it is | Use when… |
|---|---|---|
| Pre-trained APIs | Ready-made AI Google already built — call it, no training needed (Vision, Speech-to-Text, Translation, Natural Language). | Your need is common (read text from images, translate, transcribe). Fastest, easiest. |
| AutoML (in Vertex AI) | Train a custom model on your data with minimal ML expertise. | You need a model specific to your data but lack a team of ML experts. |
| Custom models (Vertex AI) | Full platform for ML experts to build, train, and deploy bespoke models. | You have data scientists and unique, complex needs. |
Think effort vs. customisation. Pre-trained APIs = zero effort, zero customisation — borrow Google's brain. AutoML = some effort, model tuned to your data, little expertise needed. Custom on Vertex AI = most effort and expertise, fully bespoke. Always start at the lowest rung that solves the problem.
Buying clothes: pre-trained API is off-the-rack (instant, cheap, fits most). AutoML is tailored alterations (your measurements, minimal skill needed). Custom Vertex AI is a bespoke suit hand-made by a tailor (maximum fit, maximum effort and cost).
#Vertex AI and Gemini
- Vertex AI — Google's unified platform that ties the whole ML lifecycle together: data, training, AutoML, deployment, and access to foundation models. The one name to know for 'doing ML on Google Cloud.'
- Gemini — Google's flagship family of generative AI (multimodal) models, available through Vertex AI and across Google Cloud. The headline name for generative AI on Google.
Branding moves fast here: Google is consolidating its generative-AI and agent tooling (you'll see names like Vertex AI, Gemini, and newer agent platforms). For the exam, anchor on the concepts and the rung-of-effort idea; for current product names, the official cert pages (in References) are the source of truth — they were shifting as of early 2026.
- Google's AI ladder by effort: pre-trained APIs (borrow Google's brain) → AutoML (custom model, little expertise) → custom models on Vertex AI (bespoke, expert).
- Always start at the lowest rung that solves the problem.
- Vertex AI = the unified ML platform; Gemini = Google's flagship generative-AI models.
- Product names shift fast — anchor on concepts, verify names on official pages.
Enterprise Use Cases: AI & Machine Learning in Production
Ten real ML systems — the pipeline from raw data to a business decision, the operational discipline that keeps a model trustworthy, and where a human stays in the loop.
The rung-of-effort ladder from the last lesson tells you how much you'll build. It doesn't tell you what actually ships. A prototype that classifies images correctly in a notebook and a fraud-detection system that scores 4,000 transactions a second with a 200-millisecond budget and an audit trail are built from the same underlying model type, but almost nothing else about them is the same. This lesson is the gap between the two — ten production ML systems, the pipeline each one actually runs on, and the operational discipline that keeps a model trustworthy after the data science team has moved on to the next project.
What separates these ten from a portfolio of interesting demos is that every one of them made an explicit decision about latency, about who bears the cost when the model is wrong, and about what happens the day the model's accuracy starts slipping — decisions a leader is expected to weigh in on, not delegate entirely to engineering. That's the lens this lesson builds.
A leader doesn't need to read the model architecture to ask the right question about an ML proposal. Four questions do almost all the work: What decision does this drive? What does the system do when it's wrong? Does the answer need to happen in real time or can it wait until tonight's batch run? And who — or what — checks the model's work after it ships? Every one of the ten systems below is a specific, defensible answer to those four questions — not a generic "we added AI to it." Hold onto them; they resurface, in different words, in every one of the ten case studies that follow.
#The decision lens: four questions before you approve an ML project
Just as with the compute and storage decisions in Part 4, the ten systems below all trace back to a small, reusable framework — the questions that separate an ML project that ships and stays trustworthy from one that demos well and quietly rots. None of the four questions below requires a technical background to ask; they require only the discipline to ask them before signing off on a roadmap item, not after a launch has already gone sideways.
| Question | Why it changes the architecture |
|---|---|
| What decision does the prediction drive? | A recommendation that's mildly wrong costs a missed upsell; a fraud flag that's wrong either blocks a real customer or lets a real loss through — the acceptable error rate is not the same number |
| What does the system do when it's wrong? | Determines whether the model can act autonomously or must hand its output to a human reviewer before anything happens |
| Real-time or batch? | Real-time needs a low-latency online prediction endpoint and a feature store serving fresh data in milliseconds; batch can run overnight against a data warehouse |
| Who checks the model's work after launch? | Every production model degrades as the world changes — the question is whether monitoring catches that before customers do |
#Real-time prediction at consumer scale
Use case 1 — Product recommendations for an e-commerce retailer. "Customers who bought this also bought…" looks like a simple feature and is one of the more architecturally demanding ones at scale, because the constraint isn't accuracy — it's latency. The recommendation has to be computed and returned inside the page's render budget, typically under 100 milliseconds, across millions of concurrent shoppers, each needing a personalized ranking over a catalog that can run to millions of items.
The architecture that makes this tractable is built on two ideas working together. First, every product and every user is represented as an embedding — a vector of numbers capturing "what this item is like" or "what this user tends to want," produced by a model trained offline on historical purchase and browsing data. Second, at request time, the system doesn't re-run the model — it does a nearest-neighbor vector search (on Google Cloud, this is Vertex AI's vector search capability) to find the catalog items whose embeddings sit closest to the shopper's current embedding, which is a fast lookup against a pre-built index rather than a fresh inference. The heavy lifting — training the embeddings — happens in batch, offline, on a schedule; the expensive-looking part in production is actually just a vector-similarity lookup.
browsing data"] --> T["Offline training
(batch, nightly)"] T --> E["Item & user
embeddings"] E --> IDX["Vector index
(Vertex AI Vector Search)"] U["Shopper on page"] --> Q["Real-time query:
nearest neighbors"] IDX --> Q Q --> R["Ranked recommendations
<100ms"]
A feature store sits alongside this to solve a subtler problem: the model needs the same feature computed the same way whether it's training offline on historical data or serving a live request — a mismatch here (called training-serving skew) is one of the most common reasons a model that scored well offline performs noticeably worse once it's live. A feature store like Vertex AI Feature Store keeps a single definition of "this user's average order value over the last 30 days" and serves it consistently to both the training pipeline and the real-time endpoint, so the number the model was trained on and the number it sees in production are computed identically.
One more mechanical detail is worth naming because it's the actual reason this scales: the vector lookup isn't a brute-force comparison against every item in the catalog. Finding the true nearest neighbor among ten million product embeddings by comparing against all ten million, for every single request, doesn't fit inside a 100-millisecond budget. Production vector search instead uses an approximate nearest-neighbor (ANN) algorithm, which pre-organizes the embedding space into a searchable index (Vertex AI Vector Search uses a Google-developed ANN approach) so a query only needs to inspect a small, relevant fraction of the index rather than the whole catalog. The trade explicitly accepted is that the result is the approximate closest match rather than the mathematically guaranteed exact one — a trade that's essentially free in practice, because the difference between the true 1st-closest and 3rd-closest product embedding is rarely a difference a shopper would ever notice, and the latency it buys is the difference between a feature that ships and one that doesn't.
Use case 2 — Real-time fraud detection for a payments company. Fraud detection shares the recommendation engine's latency constraint — a card-present transaction has to be approved or declined in well under a second — but flips the cost-of-error calculus entirely. A recommendation that's slightly off costs nothing; a fraud model has two distinct failure modes with very different price tags: a false positive (blocking a legitimate customer's real purchase) costs a customer-experience hit and, at scale, real revenue and support-ticket volume; a false negative (letting real fraud through) costs the actual fraud loss plus chargeback fees. These aren't symmetric, and the model's decision threshold — the score above which a transaction gets declined — has to be tuned explicitly against the business's actual cost ratio between the two, not left at whatever default balances precision and recall evenly.
"We want the most accurate fraud model" sounds right and is usually the wrong optimization target. A model that's 99.5% accurate by simply approving everything can look impressive on paper in a dataset where 99.5% of transactions are legitimate — while catching zero fraud. Production fraud systems are tuned against precision and recall separately, and the actual target is set by the business's cost ratio (how much does a false decline cost versus a missed fraud loss), not by a single accuracy number that a naive model can game by never predicting the rare class at all.
Architecturally, this pushes the same feature-store pattern from use case 1 into a harder regime: fraud features like "how many transactions has this card attempted in the last five minutes" have to be fresh to the second, not the hour, which means the feature store's online-serving path is backed by a low-latency store (Memorystore-class infrastructure) rather than a data warehouse, updated by a streaming pipeline reading the live transaction stream — architecturally the same Pub/Sub-into-processing pattern from the BigQuery ad-tech example in Part 4, just feeding a feature store instead of an analytics table.
Making the threshold decision concrete: suppose a false decline costs the business an average of $15 in lost margin and goodwill, and a missed fraud transaction averages a $180 loss. That roughly 12-to-1 cost ratio is a direct, defensible input into where the model's decline threshold gets set — it should keep declining transactions until the marginal transaction's fraud probability drops low enough that $180 × (fraud probability) is no longer worth risking against $15 × (probability it's actually legitimate). This is precision/recall tuning made concrete rather than abstract: the team isn't picking a threshold that "feels balanced," they're solving for the threshold that minimizes actual expected dollar loss given the business's real cost structure — and that threshold gets revisited whenever those two cost figures materially change, not set once at launch and forgotten.
#Extraction and generation: where a human stays in the loop
Use case 3 — Insurance claims processing with Document AI. An insurer receives claims as scanned forms, handwritten notes, and photographed receipts — unstructured input that a traditional data pipeline can't parse. Document AI (Google Cloud's specialized OCR-plus-understanding service) extracts structured fields — claimant name, date of loss, claimed amount — from that unstructured input, but the architecture's most important component isn't the extraction model; it's what happens when the model isn't confident in what it extracted.
Every extracted field comes back with a confidence score. The pipeline routes high-confidence extractions straight into the claims system automatically, and routes low-confidence extractions — a smudged handwritten amount, a form layout the model hasn't seen before — into a human review queue, where a claims processor sees the original document side-by-side with the model's best guess and corrects it. This isn't a fallback bolted on for launch-day safety; it's the permanent operating model, because claims data is exactly the kind of high-stakes, long-tail input where 100% automated confidence will never be honest. The business value isn't "replace the claims processor" — it's that the processor now reviews the 8% of claims the model flagged as uncertain instead of reading all 100% of them line by line.
Where that confidence threshold gets set is itself a business decision, not a technical default. Set it too permissively (accepting lower-confidence extractions automatically) and errors slip into the claims system uncorrected — a misread dollar amount that's off by a decimal point processes as-is. Set it too conservatively and the review queue balloons, erasing the automation's value because a claims processor ends up re-checking extractions that were actually correct. Teams typically tune this threshold empirically: sample a batch of the model's low-confidence extractions, have a human verify how many were actually wrong, and set the cutoff at the confidence level where the error rate crosses the business's acceptable tolerance — a number that's revisited as the model is retrained on more corrected examples and its calibration improves.
Use case 4 — Customer service copilot grounded with RAG. A support team wants a generative AI assistant that answers policy questions accurately from the company's own documentation, not from whatever the underlying model happened to learn during training — because a generic large language model asked "what's our refund policy for opened electronics" will confidently generate a plausible-sounding answer that may have nothing to do with the actual policy. This is the failure mode called hallucination, and the fix in production systems is Retrieval-Augmented Generation (RAG): rather than asking the model to answer from memory, the system first retrieves the actually-relevant policy documents and hands them to the model as context, instructing it to answer only from what's provided.
company docs
(Vertex AI Search)"] VS --> CTX["Top-k relevant
policy passages"] CTX --> LLM["Gemini, prompted:
answer only from context"] Q --> LLM LLM --> A["Grounded answer
+ source citation"]
Mechanically: the company's policy documents are chunked and embedded into a vector index (the same nearest-neighbor pattern as use case 1's product recommendations, applied to text instead of products), a customer's question is embedded the same way, the system retrieves the most relevant document chunks, and those chunks — not the model's training data — become the source of truth the model is instructed to answer from. The grounded answer typically ships with a citation back to the source passage, which does double duty: it lets a customer verify the answer, and it gives the support team an audit trail when a customer disputes what they were told. RAG doesn't eliminate hallucination entirely — a model can still misread the retrieved context — but it converts an unbounded "the model might say anything" risk into a bounded "the model might misread this specific passage" risk, which is a categorically easier problem to test and monitor for.
An ungrounded generative model answering a policy question is like asking a new employee who never read the handbook to answer from vague memory of "how these things usually work" — fluent, confident, and sometimes completely wrong. RAG is the equivalent of handing that employee the actual current handbook page open to the right section before they answer, and instructing them to quote it rather than guess. The employee's writing skill is the same either way — what changes is whether their confidence is backed by the actual source document or by a plausible-sounding guess.
One design decision inside the retrieval step has an outsized effect on answer quality: chunk size — how large a piece of a document gets embedded and retrieved as a single unit. Chunk too large (an entire multi-page policy document as one chunk) and the retrieval step returns a lot of irrelevant surrounding text along with the answer, diluting the model's context with noise and making it more likely to latch onto the wrong sentence. Chunk too small (a single sentence) and the retrieved piece can lose the surrounding context that gives it meaning — a sentence like "this applies only to the first 30 days" retrieved without the paragraph naming what "this" refers to is worse than useless. Production RAG systems typically land on a few-hundred-word chunk with a small overlap between consecutive chunks, tuned empirically against the specific document set, rather than a value borrowed from a tutorial.
#Forecasting and inspection: batch and vision workloads
Use case 5 — Demand forecasting for a retail supply chain. Deciding how much inventory to ship to each store next month is a textbook batch prediction problem: there's no need for a millisecond response, because the output feeds a planning process that runs on a weekly or monthly cadence, not a live customer interaction. This changes the entire cost profile — rather than a standing low-latency endpoint (which costs money to keep warm 24/7 whether or not it's being queried), a batch forecasting job spins up compute, scores every store-product combination in the catalog, writes results to a warehouse table, and shuts down, running only when the business actually needs fresh numbers.
The harder architectural decision here isn't the compute pattern — it's the retraining cadence, and it has to be tied to the business's actual seasonality, not a generic default. A retailer with sharp holiday-season demand shifts needs the forecasting model retrained frequently enough to capture that shift as it happens, while a category with flat, stable demand may only need quarterly retraining — retraining on a fixed schedule that ignores this (say, monthly for everything) either wastes compute retraining a model that hasn't meaningfully changed, or worse, leaves a fast-moving category running on a stale model precisely when accuracy matters most.
The cost framing worth internalizing here is that a batch endpoint's compute bill is a direct function of how often it runs and how much data it scores each time — unlike the always-on real-time endpoints in use cases 1 and 2, which incur cost every hour whether or not they're actively serving predictions, a batch forecasting job's cost is simply (frequency) × (data volume per run). This is precisely why the retraining-cadence decision is also a budget decision: retraining a large catalog's full forecasting model weekly instead of monthly isn't free, and the right cadence sits at the point where the accuracy gained from fresher training data is worth more than the extra compute spend — a trade-off a leader can reason about directly without needing to read a line of the model's code.
Use case 6 — Computer vision quality inspection on a manufacturing line. A factory wants to catch defective units — a scratched surface, a misaligned component — using cameras on the production line instead of solely manual inspection. This is a real-time and latency-sensitive vision problem, but with a wrinkle the earlier real-time cases didn't have: the inspection point is physically on a factory floor, not a data center, and a network round-trip to a cloud endpoint for every single unit passing on a fast-moving line can add latency the line's throughput can't tolerate.
This is the case for edge deployment: the trained model (built and validated centrally on Vertex AI, using the full training pipeline and dataset) is exported and deployed to run on hardware at the factory itself, so inference happens locally with no network round trip, and the line only needs connectivity back to the cloud for periodically syncing new model versions and uploading a sample of flagged images for human QA review and future retraining — not for every single inference. The trade-off is real: an edge-deployed model is harder to update instantly (a fix has to be pushed out to every factory's local hardware, not just redeployed to one central endpoint) and typically runs a lighter, distilled version of the model to fit the hardware's compute budget — a deliberate accuracy-for-latency trade the team makes explicitly, not an accident of running out of GPU.
Two techniques make that "lighter version" possible without starting from scratch. Quantization reduces the numerical precision the model's internal calculations run at — from 32-bit floating-point numbers down to 8-bit integers, for instance — which shrinks the model's memory footprint and speeds up inference substantially, at the cost of a small, usually acceptable accuracy loss. Distillation goes further: a large, highly accurate "teacher" model trained centrally is used to train a much smaller "student" model to mimic the teacher's behavior, producing a model built from the ground up to be small rather than a large model merely compressed after the fact. Manufacturing quality inspection typically uses both together — distill down to a compact architecture, then quantize it — because the factory-floor hardware budget is fixed and known in advance, unlike a cloud endpoint where the team can simply provision a bigger GPU if the model needs it.
#Explainability, cascades, and guardrails
Use case 7 — Churn prediction for a subscription business. Predicting which customers are likely to cancel is a batch scoring problem, structurally similar to the demand-forecasting case, but with one hard requirement that changes the model choice itself: the retention team doesn't just want a churn-risk score, they want to know why the model thinks a given customer is at risk, because the intervention (a discount offer, a support outreach, a feature-adoption nudge) depends entirely on the reason. A model that returns "72% churn risk" with no explanation is much less actionable than one that returns "72% churn risk, driven primarily by a 60% drop in login frequency over the last month."
This is where explainability tooling — feature-attribution methods available through Vertex AI's model evaluation — becomes a first-class requirement rather than a nice-to-have. For each prediction, the system doesn't just output a score; it outputs which input features pushed the score up or down and by how much, which is what turns a churn model from a leaderboard the data science team is proud of into a tool the retention team can actually act on. This requirement sometimes pushes the model choice itself toward simpler, more interpretable architectures over a marginally more accurate black-box model — an entirely legitimate trade when the business value depends on the "why," not just the "what."
Mechanically, feature-attribution methods work by measuring how much a prediction would change if a given input feature were absent or held at a neutral baseline value — a customer's predicted churn score drops from 72% to 45% if you hypothetically remove the "login frequency dropped 60%" signal, and that 27-point gap is roughly how much credit that one feature gets for the prediction. Doing this rigorously and consistently across many correlated features (rather than naively removing one feature at a time, which breaks down when features interact) is what the standard attribution methods in Vertex AI's evaluation tooling actually compute, and it's what lets the retention team see a ranked list — login frequency, support ticket count, days since last purchase — rather than a single opaque number.
Use case 8 — Content moderation at platform scale. A platform hosting user-generated content at high volume can't run its most accurate (and most expensive) moderation model against every single post — the cost and latency don't scale. The production pattern is a cascade: a cheap, fast, high-recall first-pass model screens everything and confidently clears the large majority of clearly-fine content in milliseconds; only the smaller fraction it flags as uncertain or potentially violating gets passed to a more expensive, more accurate second-stage model; and the smaller fraction still that even the second-stage model is uncertain about goes to human moderators.
| Stage | Volume handled | Cost per item |
|---|---|---|
| Stage 1 — lightweight classifier | 100% of content | Lowest — optimized for throughput |
| Stage 2 — larger model | Flagged fraction only (typically low single-digit %) | Higher, but applied to a small slice |
| Stage 3 — human moderator | Smallest fraction — genuinely ambiguous cases | Highest, reserved for real judgment calls |
The cascade pattern is the general answer to a specific tension that shows up across almost every large-scale ML system: the most accurate model is usually also the most expensive, and running it against 100% of traffic is rarely the efficient answer once volume gets large — the efficient answer is a cheap filter that handles the easy majority and escalates only genuine ambiguity to progressively more expensive judgment, whether that final judgment is a bigger model or a human.
The stage-1 filter's threshold is deliberately tuned toward high recall at the cost of precision — it's set to flag anything even plausibly borderline, accepting that most of what it flags will turn out fine on closer inspection, because the actual danger in a moderation cascade isn't over-flagging (which just costs a bit of extra stage-2 compute) but under-flagging, letting genuinely violating content slip through the first gate and never reach a stricter model or a human at all. This is the mirror image of the fraud-detection threshold from use case 2: there, the cost asymmetry pushed toward caution on declines; here, it pushes toward caution on escalation. Same underlying technique — tune the decision threshold to the real cost of each error type — applied in the direction each business problem actually demands.
Use case 9 — Generative AI marketing-copy assistant. A marketing team wants a generative AI tool that drafts ad copy and social posts in the brand's voice. Two architectural choices sit at the center of this: whether to reach brand-voice consistency through careful prompting of a general-purpose model (providing brand guidelines and example copy as context on every request) versus fine-tuning a model specifically on the brand's historical copy, and — regardless of which — where the human approval gate sits before anything gets published.
Prompting is faster to stand up, cheaper to maintain, and easy to update the moment brand guidelines change — you edit the prompt, not retrain a model. Fine-tuning captures a more consistent, harder-to-articulate voice (the specific rhythm and word choice a brand has built over years) at the cost of a heavier pipeline: curating a clean training set of approved historical copy, running the tuning job, and re-tuning whenever the brand voice meaningfully shifts. Most enterprise deployments start with prompting and only invest in fine-tuning once prompting's ceiling becomes a demonstrated, recurring problem — not as the default starting point. Either way, generated copy in a regulated or reputationally sensitive industry never publishes automatically; it lands in a review queue where a human marketer approves, edits, or rejects before it goes live — generative AI here is a drafting accelerant, not an autonomous publisher.
Before a draft even reaches that human reviewer, a production deployment adds a layer of automated guardrails — content-safety filters that check the model's output for policy violations (competitor disparagement, unsubstantiated medical or financial claims, off-brand or unsafe language) before it's shown to anyone, catching the class of error a busy human reviewer skimming dozens of drafts a day might miss. These guardrails run as a check on the output, separate from the generation itself, which matters because it means the safety logic can be updated and audited independently of the underlying model — tightening a guardrail after an incident doesn't require retraining or re-prompting the generation model at all, just updating the filter sitting downstream of it.
#The operational backbone: MLOps and monitoring
Use case 10 — Model monitoring and drift detection, tying the other nine together. Every system above shares an unglamorous but non-negotiable requirement once it's live: the world it was trained on keeps changing, and a model that was accurate on launch day silently degrades as customer behavior, fraud patterns, or product catalogs shift underneath it — a failure mode called model drift, and it doesn't announce itself the way a server outage does. Nothing crashes; the model just gets quietly worse, and by the time a business team notices in the numbers, the damage has been accumulating for weeks.
Vertex AI Model Monitoring exists to catch this before a human does, watching for two distinct signals. Training-serving skew compares the statistical distribution of features the model sees in live production traffic against the distribution it was trained on — if the fraud model was trained on transaction amounts averaging $80 and production traffic has quietly shifted to averaging $300 (a new merchant category, a market expansion), that's a skew alert, regardless of whether accuracy has visibly dropped yet. Prediction drift compares the distribution of the model's own outputs over time against its historical baseline — if a churn model that used to flag 5% of customers as high-risk is suddenly flagging 20%, something changed, and it's worth knowing whether that's a genuine shift in customer behavior or a broken upstream feature pipeline before the retention team acts on a flood of alerts that may not be real.
Monitoring is only half the operational story — the other half is how a new model version reaches production safely. The standard pattern is a canary rollout: a newly retrained model is deployed alongside the current production model, initially receiving a small slice of live traffic (often single-digit percent), with its predictions compared against the incumbent model's before traffic is gradually shifted over. If the new version's real-world performance doesn't hold up outside the clean conditions of an offline test set, the rollout stops and reverts with a small blast radius — not after it's already serving 100% of production traffic.
Drift's danger is precisely that it doesn't look like an incident. A common version of the failure: a fraud model performs well for months, and a business slowly expands into a new merchant category the training data never saw much of. Nothing errors. No alert fires from standard infrastructure monitoring, because the service is up, responding fast, and returning scores in the expected range — the model just quietly gets worse at exactly the transactions it's now seeing more of. By the time the fraud-loss numbers in a monthly finance review look wrong, the model has been degraded for weeks, and the team's first instinct — check the servers, check the logs — finds nothing, because there's nothing broken in the infrastructure sense. Only a monitoring system explicitly comparing live feature distributions against the training baseline catches this before the finance review does, which is exactly why skew and drift monitoring gets budgeted as a permanent line item, not a one-time launch task.
This is also where the four-question decision lens closes the loop: the acceptable drift-alert threshold and the retraining trigger aren't generic settings — they're set by question one and two from the start of this lesson. A recommendation engine with cheap wrong-answer costs might tolerate meaningful drift before triggering an automatic retrain; a fraud model, where a wrong answer carries real financial and customer-trust cost, is monitored tightly and retrained on a much shorter leash. The monitoring configuration is a direct expression of how much the business can afford to be wrong, for how long, before someone — or something — has to intervene.
#Applying the lens: all ten systems side by side
Run back through the ten systems above against the four-question framework from the start of this lesson, and the same pattern shows up as it did with the compute and storage decisions in Part 4: the product choice is almost always downstream of a business property, not the other way around.
| Use case | Serving pattern | Human-in-the-loop? |
|---|---|---|
| 1. Product recommendations | Real-time, ANN vector search | No — low cost of error |
| 2. Fraud detection | Real-time, sub-second, fresh features | Automated decline + post-hoc dispute review |
| 3. Claims document extraction | Near-real-time, confidence-gated | Yes — low-confidence extractions reviewed |
| 4. Support copilot (RAG) | Real-time, retrieval + generation | Citation lets customer/agent verify |
| 5. Demand forecasting | Batch, scheduled | No — feeds a planning process |
| 6. Vision quality inspection | Real-time, edge-deployed | Flagged defects get human QA |
| 7. Churn prediction | Batch, with explainability | Retention team acts on the "why" |
| 8. Content moderation | Real-time cascade | Ambiguous cases only |
| 9. Marketing copy generation | Near-real-time, prompted | Yes — every draft reviewed before publish |
| 10. Model monitoring | Continuous, background | Alerts a human when drift is detected |
Notice the pattern in that last column: human-in-the-loop isn't an all-or-nothing design choice, it's a dial, and where it gets set traces directly back to the cost-of-error question. Systems where a wrong answer is cheap (recommendations, background monitoring's routine all-clear) run fully automated. Systems where a wrong answer is expensive or reputationally risky (claims processing, marketing copy, anything flagged as ambiguous in a moderation cascade) keep a human as the final gate. Nowhere in this list is the deciding factor "how sophisticated is the model" — a genuinely sophisticated fraud model still declines automatically because the cost math favors speed, while a comparatively simple content-moderation classifier still routes to a human the moment it's uncertain, because the cost math there favors caution. That's the transferable judgment this lesson is actually teaching: the model's capability and the system's autonomy are two separate design decisions, not one.
None of this requires a leader to write a line of model code, and that's the point of framing it this way. What it requires is the discipline to ask the same four questions of every ML proposal that lands on a roadmap, regardless of how impressive the demo looks: what decision does this drive, what happens when it's wrong, does it need to be instant, and who's watching it after launch. A proposal that can't answer those four cleanly isn't ready to be approved — not because the model is bad, but because nobody has yet decided how much autonomy it's earned.
Carry that discipline into the next lesson, too. Part 6 turns to modernization and security — moving legacy systems onto Google Cloud, the shared-responsibility model, and the trust architecture (IAM, encryption, zero trust) that every one of this lesson's ten systems quietly depends on. A fraud model's feature store, a claims-processing pipeline, a customer support copilot reading internal documentation — none of it is trustworthy in production without the identity, access, and encryption foundation the next module builds. The two parts aren't separate topics; they're the same production system viewed from two different angles.
A healthcare provider wants an ML system to triage incoming patient messages by urgency, so nurses see the most urgent messages first. Using the four-question lens from this lesson, what would you want to know before approving this project — and what does a wrong answer in each direction (over-flagging vs under-flagging urgency) actually cost?
Show answer
- Approve or evaluate an ML proposal against four questions: what decision it drives, what happens when it's wrong, real-time vs. batch, and who monitors it after launch — the architecture follows directly from the answers.
- Real-time systems (recommendations, fraud detection) lean on pre-computed embeddings plus fast vector search, and a feature store to guarantee the same feature value in training and serving.
- Extraction and generation (Document AI claims processing, RAG-grounded support copilots) route low-confidence output to a human reviewer rather than pretending 100% automated confidence is honest — and RAG specifically exists to stop a generative model from confidently answering from memory instead of your actual documents.
- Batch and edge workloads (forecasting, factory vision inspection) trade instant updates and central control for lower cost or lower latency, retrained on a cadence tied to how fast the real world actually changes.
- Cascades (content moderation) route the easy majority through a cheap fast model and escalate only genuine ambiguity to expensive models or humans — the general pattern for scaling accuracy without scaling cost linearly.
- MLOps and monitoring — skew detection, prediction-drift tracking, and canary rollouts — is what keeps a model trustworthy after launch, and every one of the nine other use cases depends on it running underneath, whether or not it's visible in the demo.
Modernizing: Lift-and-Shift to Cloud-Native
The migration strategies and the monolith-to-microservices shift — how legacy gets modern.
Most enterprises aren't starting fresh — they have decades-old 'legacy' systems to modernise. The CDL exam expects the vocabulary of how organisations move and modernise.
#Migration strategies (the 'R's)
| Strategy | Plain meaning |
|---|---|
| Rehost ('lift and shift') | Move existing systems to cloud VMs largely as-is. Fast, low-risk, but doesn't yet exploit cloud-native benefits. |
| Replatform | Move and make a few cloud optimisations (e.g. use a managed database). |
| Refactor / re-architect | Redesign the app to be cloud-native (containers, microservices). Most effort, most benefit. |
| Repurchase | Replace it with a SaaS product. |
| Retire / Retain | Switch it off, or leave it where it is for now. |
There's a trade-off curve: rehost is quick and cheap but leaves the app old-fashioned; refactor is expensive but unlocks elasticity, resilience, and speed. Pragmatic enterprises often lift-and-shift first to get off the old data center, then modernise gradually.
#Monolith → microservices
A core modernization idea: legacy apps are often monoliths — one giant program where everything is tangled together, so a small change risks breaking the whole thing and you must scale all of it at once. Microservices break it into small, independent services that you build, deploy, and scale separately.
A monolith is a Swiss-army knife welded shut — change one tool and you risk the lot. Microservices are a toolbox of separate tools — swap or upgrade the screwdriver without touching the pliers. Containers (Part 2) and GKE/Cloud Run are how microservices are run.
Tie it together: modernization is why containers, Kubernetes, and serverless matter to a business. The leader connects 'we're stuck with a fragile monolith that's slow to change' to 'refactor into microservices on containers, gaining agility and independent scaling.' APIs are the glue that lets microservices (and partners) talk to each other — another named exam term.
- Migration 'R's: rehost (lift & shift, fast), replatform, refactor (cloud-native, most benefit), repurchase (SaaS), retire/retain.
- Trade-off: lift-and-shift is quick but unmodern; refactor is costly but unlocks cloud-native benefits.
- Monolith (one tangled program) → microservices (small independent services) — run on containers (GKE/Cloud Run).
- APIs are the glue connecting microservices and partners.
The Shared Responsibility Model
The single most important security concept in cloud — who secures what, and why people get breached by misunderstanding it.
A company moved to the cloud and assumed the provider now handled all security. They left a storage bucket open to the public internet, and their customer data leaked. The provider's infrastructure was never breached — the customer's configuration was the hole. This scenario, in many forms, is the most consequential misunderstanding in cloud security.
The shared responsibility model divides security between provider and customer. Roughly: the provider secures the cloud (physical data centers, hardware, the core infrastructure); you secure what you put in the cloud (your data, access controls, configurations). It is always shared — never all one party.
SHARED RESPONSIBILITY
YOU (customer) | Your data & access
secure 'IN' the cloud | Your configs & IAM
----------------------+ Your app code
PROVIDER (Google) | Operating system* (varies by model)
secures 'OF' the cloud| Virtualization, hardware
| Physical data centers, network
*Who owns the OS shifts with IaaS / PaaS / SaaSCrucially, the line moves with the service model (callback to Part 1's IaaS/PaaS/SaaS). With IaaS you manage the OS and up, so more security is yours. With SaaS, the provider manages almost everything and your job shrinks to managing user access and your data. Same model, different split.
Google adds a related idea: shared fate. Rather than just drawing a line and walking away, Google says it actively helps customers be secure — with secure defaults, blueprints, and tools — sharing the outcome, not just the responsibility. Recognise both terms.
Misconception: 'The cloud provider handles all security.' The provider secures the infrastructure, but your data, your access controls, and your configurations are your job. Most real cloud breaches are customer misconfigurations (like that open bucket), not provider failures. Internalising this is the difference between safe and breached.
- Shared responsibility: provider secures of the cloud (hardware, data centers, infrastructure); you secure in the cloud (your data, access, configs).
- The dividing line moves with the service model — more is yours under IaaS, less under SaaS.
- Most breaches are customer misconfigurations, not provider failures.
- Google's shared fate goes further — actively helping customers be secure with defaults and tools.
Security Building Blocks: IAM, Encryption & Zero Trust
The core controls every organisation relies on — identity, least privilege, encryption, and the modern security posture.
Beyond the shared-responsibility split, a leader should know the handful of controls that secure 'your' side. These also become hands-on skills in the ACE part later.
#Identity and Access Management (IAM)
IAM answers who can do what on which resource. It's the master control of cloud security: you grant identities (users, groups, applications) specific roles (sets of permissions) on specific resources. Get IAM right and most security follows; get it wrong and nothing else saves you.
- Principle of least privilege — give each identity the minimum access it needs, nothing more. The most important security habit in the cloud.
- Roles — bundles of permissions (e.g. 'can view storage' vs 'can administer everything'). You assign roles, not raw permissions.
- Service accounts — identities for applications and machines (not people) so your code can access resources securely without human passwords.
IAM is a hotel key-card system. A guest's card opens only their room and the gym (least privilege), not other rooms or the safe. Staff cards open more, by role. A service account is like a cleaning-cart's programmed key — it belongs to a function, not a person, and opens exactly the rooms that function needs.
#Encryption and modern posture
| Concept | Plain meaning |
|---|---|
| Encryption at rest | Data is scrambled while stored, so a stolen disk is useless. Google does this by default. |
| Encryption in transit | Data is scrambled while moving across the network, so it can't be read if intercepted. |
| Zero Trust | 'Never trust, always verify' — don't assume anyone inside the network is safe; verify every request. Google's model is BeyondCorp. |
| DDoS protection | Defending against floods of malicious traffic — Google's tool is Cloud Armor. |
Names worth recognising for the exam: Cloud IAM (access), Cloud KMS (managing encryption keys), Security Command Center (Google's central security dashboard for finding risks), BeyondCorp (zero trust), Cloud Armor (DDoS/WAF). You don't configure them for CDL — you recognise what each is for.
- IAM controls who can do what on which resource — the master security control; assign roles (permission bundles) to identities.
- Least privilege (minimum needed access) is the key habit; service accounts are identities for apps/machines.
- Encryption at rest & in transit protect stored and moving data (default on Google Cloud).
- Zero Trust ('never trust, always verify' — BeyondCorp); recognise Cloud KMS, Security Command Center, Cloud Armor.
Reliability, Operations & Cost Control
Keeping cloud healthy and affordable — monitoring, the resource hierarchy, billing controls, and the support that wraps it.
The final CDL domain is about running cloud well: knowing it's healthy, organised, and not bleeding money. These also preview real ACE skills.
#Operations: knowing your systems are healthy
- Monitoring — watching system health and performance (is it up? how fast?). Google's suite is Cloud Monitoring.
- Logging — recording what happened, for troubleshooting and audit. Google's is Cloud Logging.
- Observability — the broader ability to understand why a system behaves as it does, from its monitoring, logs, and traces.
- SLA / SLO / SLI — the language of reliability promises: an SLA is the contractual uptime guarantee; an SLO is your internal target; an SLI is the actual measured number.
#The resource hierarchy: organising cloud
Google Cloud organises everything in a tidy hierarchy: Organization → Folders → Projects → Resources. A project is the basic container where resources live and billing is tracked. Larger companies group projects into folders by team or environment. This structure is where IAM policies and budgets attach, so it underpins both security and cost control.
#Cost control: not getting a surprise bill
- Budgets & alerts — set a spending threshold and get warned (or automate action) before you blow past it.
- Billing reports & cost breakdowns — see where the money goes, by project, service, or label.
- Committed-use & sustained-use discounts, Spot VMs — the cost levers from Part 4.3 applied in practice.
- The discipline of right-sizing — don't run a huge machine for a small job.
Round out with support tiers: Google offers Basic (free), plus paid Standard, Enhanced, and Premium support with faster response times and a Technical Account Manager at the top end. A leader matches the org's criticality to the right support tier. With this, you've covered all six CDL domains — see the roadmap for your exam checkpoint.
- Operations vocabulary: Cloud Monitoring (health), Cloud Logging (records), observability, and SLA/SLO/SLI reliability promises.
- Resource hierarchy: Organization → Folders → Projects → Resources; the project is the core billing/IAM container.
- Cost control: budgets & alerts, billing reports, discounts/Spot VMs, right-sizing.
- Support tiers (Basic→Premium) match cost to criticality. That completes all six CDL domains.
Your Cockpit: Console, Cloud Shell & gcloud
The three ways you actually operate Google Cloud — and why the exam rewards command-line fluency.
The CDL was conceptual; the Associate Cloud Engineer (ACE) is hands-on and scenario-based. Google recommends ~6 months of real experience. The exam heavily tests the command line, so we lead with your three control surfaces.
| Surface | What it is | When you use it |
|---|---|---|
| Cloud Console | The web UI — click through everything visually. | Exploring, learning, occasional tasks. |
| Cloud Shell | A free browser-based Linux terminal with tools pre-installed. | Running commands without setting up anything locally. |
gcloud CLI | The command-line tool that drives Google Cloud. | Real work, automation, and the exam. |
The console is great for learning, but engineers live in the gcloud command line because it's fast, scriptable, and repeatable. The ACE exam leans hard on knowing the shape of gcloud commands. The good news: they follow one consistent grammar, so you learn the pattern once.
#The gcloud command pattern
gcloud <group> <subgroup> <verb> [NAME] --flags gcloud compute instances create my-vm --zone=us-central1-a gcloud storage buckets create gs://my-bucket gcloud projects list gcloud config set project my-project-id
Try these in Cloud Shell (they're safe to read even before you have a project):
• gcloud config list — show your current settings (project, region).
• gcloud projects list — list projects you can access.
• gcloud compute instances list — list your VMs.
• gcloud help — built-in help for any command.
Add --help to any command to see its flags — your most useful exam-prep habit.
Two related tools you must recognise: gsutil was the old command for Cloud Storage (now folded into gcloud storage), and kubectl is the command for Kubernetes/GKE (not a gcloud command — it talks to the cluster directly). The exam may show any of these.
Without running it, predict what this command does: gcloud compute instances create web-1 --zone=us-central1-a --machine-type=e2-medium
Show answer
web-1 in the zone us-central1-a, using the e2-medium machine type (2 vCPU, 4 GB RAM). Reading the grammar: group=compute, resource=instances, verb=create, name=web-1, then flags for zone and size.- Three control surfaces: Console (web UI), Cloud Shell (browser terminal),
gcloudCLI (the engineer's tool the exam tests). - gcloud grammar:
gcloud <group> <resource> <verb> [NAME] --flags— learn the rhythm. - Add
--helpto any command; recognisegsutil(storage, legacy),kubectl(Kubernetes). - Open a free account ($300 credit) and practise — ACE rewards real hands-on fluency.
Projects, Billing & the Resource Hierarchy in Practice
How real environments are organised, how billing attaches, and the structure every IAM policy hangs from.
We met the hierarchy in CDL; now you use it. Everything you create lives in a project, and getting projects and billing right is foundational ACE knowledge (it's ~17% of the exam: 'setting up a cloud environment').
A project is the fundamental unit: it's a container for resources, the boundary for billing, and where most IAM and APIs are enabled. Every resource belongs to exactly one project. Each project has a globally-unique Project ID (you choose it, it can't change) and a Project Number (auto-assigned).
| Level | Purpose | ACE tasks |
|---|---|---|
| Organization | Root node tied to your domain (Workspace/Cloud Identity). | Org-wide policies. |
| Folder | Group projects by team or environment (dev/prod). | Apply IAM/policy to many projects at once. |
| Project | Core container; billing & API boundary. | Create projects, link billing, enable APIs. |
| Billing account | Pays for usage; linked to one or more projects. | Link/unlink billing, set budgets. |
Core setup commands to know:
• gcloud projects create my-app-123 --folder=FOLDER_ID
• gcloud billing projects link my-app-123 --billing-account=XXXXXX
• gcloud services enable compute.googleapis.com — enable an API before using it (a classic 'why isn't this working?' gotcha).
• gcloud config set project my-app-123 — set your active project.
A frequent exam trap: you must enable the API for a service in a project before you can use it (gcloud services enable …). And budgets/alerts attach at the billing-account or project level — the practical version of CDL cost control. Permissions and budgets both inherit down the hierarchy, which is why structure matters.
gcloud services enable compute.googleapis.com activates the Compute Engine API, after which VM creation works. This is a very common real-world and exam gotcha.- A project is the core unit: container for resources, billing boundary, where APIs & IAM attach. Unique Project ID is permanent.
- Hierarchy in practice: Org → Folders → Projects → Resources; permissions & budgets inherit downward.
- You must enable a service's API before using it (
gcloud services enable). - Link a billing account and set budgets/alerts at project/billing level.
IAM in Practice: Roles, Members & Service Accounts
The hands-on version of access control — the member→role→resource model, role types, and the service-account skills the exam loves.
IAM is ~21% of the ACE exam — the biggest single security area. The CDL gave you the idea; now learn the exact model and the commands.
Every IAM policy is one sentence: 'who (member) can do what (role) on which resource.' You bind a member (a user, group, or service account) to a role (a bundle of permissions) on a resource (or project/folder/org, where it inherits down).
WHO CAN DO WHAT ON WHICH RESOURCE member + role + resource/project --------- ----------- ----------------- user:ana@.. roles/storage. project: web-prod group:devs@.. objectViewer serviceAccount:app@..
#The three role types (know the difference cold)
| Role type | What it is | Use |
|---|---|---|
| Basic (primitive) | Owner / Editor / Viewer — broad, project-wide. Too coarse for real security. | Avoid in production; the exam wants you to prefer predefined. |
| Predefined | Fine-grained roles Google maintains per service (e.g. roles/storage.objectViewer). | The right default — least privilege made easy. |
| Custom | You hand-pick the exact permissions. | When no predefined role fits precisely. |
#Service accounts — the heavily-tested part
- A service account is an identity for an application or VM, not a person. Your code uses it to call Google Cloud securely.
- Attach a service account to a VM so the app inherits its permissions — no passwords in code.
- Best practice (and exam answer): prefer short-lived credentials / workload identity over long-lived downloadable service account keys, which are a security risk.
- Give each service account least privilege — only the roles its workload needs.
Practical IAM commands:
• gcloud projects add-iam-policy-binding web-prod --member='user:ana@example.com' --role='roles/storage.objectViewer'
• gcloud iam service-accounts create app-sa --display-name='App SA'
• gcloud projects get-iam-policy web-prod — see who has what.
Notice the recurring member→role→resource shape.
Misconception: 'Just give the app Owner so it works.' Granting broad basic roles (Owner/Editor) is the classic security anti-pattern the exam punishes. The correct instinct is always least privilege: the narrowest predefined (or custom) role that does the job, and short-lived credentials over downloaded keys.
- IAM model: member (who) → role (what) → resource (where); grants at higher levels inherit downward.
- Role types: basic (avoid — too broad), predefined (the right default), custom (exact fit).
- Service accounts are identities for apps/VMs; attach them for least-privilege access without embedded passwords.
- Prefer short-lived credentials / workload identity over downloadable keys. Always least privilege.
Compute Engine: VMs, Images, Snapshots & Autoscaling
Creating and managing virtual machines like an engineer — machine types, disks, images, and groups that scale.
Compute Engine is the bedrock IaaS service and a major ACE topic. You met VMs conceptually; now manage them.
#Creating and sizing a VM
- Machine type — the CPU/RAM combo, e.g.
e2-standard-4(4 vCPU, 16 GB). Families:e2(cost-effective),n2(balanced), plus compute- and memory-optimised. Custom machine types let you pick exact vCPU/RAM. - Boot disk — the disk with the OS image the VM boots from (block storage / Persistent Disk).
- Spot VMs (formerly preemptible) — far cheaper but can be reclaimed anytime; great for fault-tolerant batch work, a known exam cost-saver.
- Zone — every VM lives in one zone; spread VMs across zones for resilience.
#Images and snapshots — the easily-confused pair
| Image | Snapshot | |
|---|---|---|
| What | A template to create new VMs from (a golden OS+software setup). | A point-in-time backup of a disk. |
| Use | Launch many identical VMs. | Restore data / back up; create a disk later. |
| Exam angle | Standardise fleet creation. | Backup & recovery; can be scheduled. |
#Scaling: Managed Instance Groups (MIGs)
One VM doesn't scale. A Managed Instance Group runs many identical VMs from an instance template, and gives you three superpowers: autoscaling (add/remove VMs with load), autohealing (replace unhealthy VMs automatically), and rolling updates. MIGs + a load balancer is the classic scalable, resilient web tier — and a guaranteed exam pattern.
• gcloud compute instances create web-1 --zone=us-central1-a --machine-type=e2-medium
• gcloud compute disks snapshot DISK --snapshot-names=backup-1
• gcloud compute instance-groups managed set-autoscaling …
• gcloud compute instances list
- Size VMs with machine types (or custom); Spot VMs are cheap but reclaimable for fault-tolerant work.
- Image = template to create VMs; Snapshot = point-in-time disk backup (don't confuse them).
- Managed Instance Groups give autoscaling + autohealing + rolling updates from a template.
- MIG behind a load balancer = the classic scalable, resilient tier (a core exam pattern).
GKE: Kubernetes Without the PhD
Just enough Kubernetes to deploy and manage containers — clusters, nodes, pods, and Autopilot vs Standard.
Containers (Part 2) need an orchestrator when you run many of them. Kubernetes is that orchestrator, and Google Kubernetes Engine (GKE) is Google's managed Kubernetes — increasingly emphasised on the 2025+ ACE exam.
Kubernetes automatically places your containers on machines, restarts them when they crash, scales them with demand, and rolls out updates safely. You declare the desired state ('I want 5 copies of this container running') and Kubernetes works continuously to make reality match.
#The vocabulary you actually need
| Term | Plain meaning |
|---|---|
| Cluster | The whole Kubernetes system — a control plane plus worker machines. |
| Node | A worker machine (a VM) that runs your containers. |
| Pod | The smallest unit Kubernetes runs — one (or a few) containers together. Pods are disposable. |
| Deployment | Declares how many pod copies to run and manages updates. |
| Service | A stable network address/load-balancer in front of changing pods. |
Kubernetes is an air-traffic controller for containers: it decides which runway (node) each plane (pod) uses, reroutes around problems (reschedules crashed pods), and scales the schedule up at peak. You tell it the goal; it handles the logistics.
#Autopilot vs Standard — a real exam choice
| Mode | You manage | Choose when |
|---|---|---|
| Autopilot | Nothing about nodes — Google runs them; you just deploy pods and pay per pod. | You want hands-off, optimised, less to manage (Google's recommended default). |
| Standard | The nodes (node pools, sizing). | You need fine-grained control over the underlying machines. |
• gcloud container clusters create-auto my-cluster --region=us-central1 (Autopilot)
• gcloud container clusters get-credentials my-cluster --region=us-central1 — then use kubectl.
• kubectl get pods / kubectl get nodes — inspect the cluster.
• kubectl apply -f deployment.yaml — deploy from a manifest.
Remember: cluster creation is gcloud; what runs inside is kubectl.
Exam-relevant skills: deploying a containerised app to GKE, viewing cluster inventory (kubectl get pods/nodes/services), working with node pools (Standard mode), and configuring autoscaling. GKE pulls container images from Artifact Registry (Google's image store).
- Kubernetes orchestrates many containers; GKE is Google's managed Kubernetes (key 2025+ ACE topic).
- Core terms: cluster (the system), node (worker VM), pod (smallest run unit), deployment, service.
- Autopilot (Google manages nodes, hands-off) vs Standard (you manage nodes).
- Cluster ops use
gcloud; in-cluster ops usekubectl; images come from Artifact Registry.
Serverless: Cloud Run & Cloud Functions
Running code with zero infrastructure — when to pick each, scale-to-zero economics, and event-driven patterns.
Serverless is the far end of the spectrum: no VMs, no clusters, no patching. You deploy code or a container and Google runs it, scaling automatically — including to zero, so an idle service costs nothing.
| Service | Run unit | Best for |
|---|---|---|
| Cloud Run | A container (any language). | Web services & APIs you've containerised; request-driven; want scale-to-zero. |
| Cloud Functions | A single function/snippet. | Small event-driven logic — run code when a file lands, a message arrives, etc. |
The distinction: Cloud Run runs a whole container (you bring a container image; great for web apps and APIs). Cloud Functions runs a single function triggered by an event. Both auto-scale and bill per use. If you have a container → Cloud Run; if you have 'when X happens, run this snippet' → Cloud Functions.
#Event-driven architecture
Cloud Functions shines in event-driven designs: something happens (an object is uploaded to Cloud Storage, a message hits Pub/Sub, an HTTP request arrives via Eventarc) and your function runs in response — no server waiting around.
• gcloud run deploy my-api --image=us-docker.pkg.dev/PROJECT/repo/img --region=us-central1
• gcloud functions deploy resize --runtime=python312 --trigger-bucket=my-bucket --entry-point=main
Cloud Run auto-scales by requests (and to zero); you pay for what runs.
- Serverless = no infra, auto-scale, scale to zero (idle = free).
- Cloud Run runs a container (web apps/APIs); Cloud Functions runs a function on an event.
- Event sources: Cloud Storage changes, Pub/Sub messages, HTTP/Eventarc — the heart of event-driven design.
- Container → Cloud Run; 'when X happens, run this' → Cloud Functions.
Cloud Storage Operations & Lifecycle
Buckets, classes, lifecycle rules, and access control — the practical Cloud Storage skills the exam tests.
You know the storage types and classes from CDL. Now operate Cloud Storage like an engineer: buckets, uploads, lifecycle automation, and access.
- Bucket — the top-level container; globally-unique name; lives in a chosen location (regional, dual-region, or multi-region — a trade of cost vs. availability/proximity).
- Object — a file in a bucket, addressed as
gs://bucket-name/path/file. - Storage class — Standard / Nearline / Coldline / Archive (set per bucket or per object).
- Location type — regional (cheapest, one region), multi-region (highest availability, served globally).
#Lifecycle management — automatic cost control
A lifecycle policy is a rule like 'objects older than 30 days → move to Nearline; older than 365 days → Archive; older than 7 years → delete.' Google applies it automatically, so you stop paying hot prices for cold data without lifting a finger. This is the operational form of CDL cost optimisation, and a favourite exam scenario.
#Access control: two models
| Model | Granularity | Use |
|---|---|---|
| Uniform (IAM) | Bucket-level, via IAM roles. Recommended default. | Simple, consistent permissions across a bucket. |
| Fine-grained (ACLs) | Per-object, legacy. | When individual objects need different access (rare). |
• gcloud storage buckets create gs://my-unique-bucket --location=us-central1 --default-storage-class=STANDARD
• gcloud storage cp report.pdf gs://my-unique-bucket/ — upload.
• gcloud storage cp gs://my-unique-bucket/report.pdf . — download.
• Lifecycle rules are set with a JSON config applied to the bucket.
Signed URLs give temporary access to an object without making it public — the right answer when someone asks 'how do I let one user download one file for one hour without opening the bucket.' And remember from Part 6: a public bucket is the classic breach; default to uniform IAM and least privilege.
- Bucket (globally-unique, with a location type: regional vs multi-region) holds objects addressed as
gs://…. - Lifecycle policies auto-transition/delete objects by age — automatic cost control.
- Prefer uniform bucket-level IAM; use signed URLs for temporary access without going public.
gcloud storage cpuploads/downloads; never make buckets public by default.
Disks and Databases in Practice
Choosing Persistent Disk types, and deploying & querying the right managed database for the job.
Two practical areas the exam bundles: the block storage attached to VMs, and deploying data solutions (the database lineup from CDL, now hands-on).
#Persistent Disk: the VM's storage
| Choice | Trade-off |
|---|---|
| Standard PD (HDD) | Cheapest; fine for throughput-oriented, sequential workloads. |
| Balanced / SSD PD | Faster (IOPS); for general and latency-sensitive workloads. |
| Zonal vs Regional PD | Zonal lives in one zone; regional replicates across two zones for higher availability. |
| Local SSD | Physically attached, very fast, but ephemeral — data lost if the VM stops. |
Exam instinct: need durability + availability → regional Persistent Disk; need raw speed and can tolerate data loss → local SSD; default general use → balanced PD. Snapshots (Part 8) back these up.
#Deploying the right database
The CDL decision table, now as a deployment skill. Match the workload, then deploy the managed service so Google handles patching, backups, and replication.
| Need | Service | One-liner |
|---|---|---|
| Managed relational (MySQL/Postgres) | Cloud SQL | Default for normal relational apps. |
| Global, huge relational | Cloud Spanner | Global consistency at scale. |
| Flexible app/document data | Firestore | Real-time, mobile/web backends. |
| Massive NoSQL throughput | Bigtable | IoT, time-series, analytics feeds. |
| SQL analytics on huge data | BigQuery | Serverless warehouse. |
| Fast in-memory cache | Memorystore | Redis/Memcached caching layer. |
• gcloud sql instances create my-db --database-version=POSTGRES_15 --tier=db-custom-2-7680 --region=us-central1
• gcloud sql databases create appdb --instance=my-db
• Load data into BigQuery with bq load, query with bq query 'SELECT …'.
- Persistent Disk: balanced PD (default), regional PD (durability/availability), local SSD (fast but ephemeral).
- Deploy the managed database matching the workload: Cloud SQL, Spanner, Firestore, Bigtable, BigQuery, Memorystore.
- Managed = Google handles patching/backups/replication.
- Match by relational-vs-flexible, scale, and analytics-vs-operational.
VPCs, Subnets & Firewall Rules
Building the private network your resources live in — the foundation of every Google Cloud deployment.
Every resource needs a network. On Google Cloud that's a Virtual Private Cloud (VPC) — your own private, software-defined network in Google's infrastructure. This is a core ACE area with a stronger 2025 emphasis on secure connectivity.
A VPC is your private slice of Google's network where your VMs, containers, and services live and talk to each other. Inside it you carve subnets (sub-ranges of IP addresses), and you control traffic with firewall rules. One important Google quirk: VPCs are global, but subnets are regional — a single VPC can span the world, with subnets in each region.
| Concept | What it is |
|---|---|
| VPC | Your global private network in Google Cloud. |
| Subnet | A regional IP-address range within the VPC where resources get their internal IPs. |
| Firewall rule | Allow/deny traffic by direction, protocol, port, and source/target — your network's bouncer. |
| Internal vs External IP | Internal IPs are private (VPC-only); external IPs are reachable from the internet. |
| Routes | Tell traffic how to get from one place to another. |
A VPC is a private office building. Subnets are floors (each with its own range of room numbers / IPs). Firewall rules are security guards at every door deciding who may pass, by which door (port) and from where (source). Internal IPs are inside-building extensions; external IPs are the public street address.
#Firewall rules — the part you'll configure most
- Rules have a direction (ingress = incoming, egress = outgoing), an action (allow/deny), and match on protocol/port and source/target (often via network tags).
- Default deny on ingress: if no rule allows it, it's blocked. You explicitly open what you need (e.g. allow TCP:443 for HTTPS).
- Least privilege applies to networks too — open only the ports you must.
• gcloud compute networks create my-vpc --subnet-mode=custom
• gcloud compute networks subnets create web --network=my-vpc --range=10.0.1.0/24 --region=us-central1
• gcloud compute firewall-rules create allow-https --network=my-vpc --allow=tcp:443 --direction=INGRESS
- A VPC is your private network; it's global, while subnets are regional IP ranges within it.
- Firewall rules allow/deny traffic by direction, port, and source/target — default-deny on ingress.
- Internal IPs are private to the VPC; external IPs face the internet.
- Apply least privilege to networking — open only required ports (a top troubleshooting theme).
Load Balancing, Cloud DNS & Secure Connectivity
Distributing traffic, resolving names, and connecting securely — the rest of the networking the exam expects.
With a VPC built, three more networking skills round out the ACE: spreading traffic (load balancing), name resolution (Cloud DNS), and connecting privately/securely (the 2025 emphasis).
#Load balancing
A load balancer spreads incoming traffic across many backend instances, so no single VM is overwhelmed and a failed one is bypassed. Paired with a Managed Instance Group (Part 8), it's the backbone of scalable, resilient apps. Google's global external HTTP(S) Load Balancer can serve users worldwide from one anycast IP, routing each to the nearest healthy backend.
| Type | For |
|---|---|
| Global external HTTP(S) LB | Web traffic to users worldwide; one global IP. |
| Regional / internal LB | Traffic within a region or inside your VPC. |
| Network (L4) LB | TCP/UDP load balancing. |
#Cloud DNS
Cloud DNS is Google's managed, highly-available DNS — it translates your domain names to IP addresses (the phone-book role from Part 2). You create a managed zone for your domain and add records (A, CNAME, etc.). It's the operational version of the DNS concept.
#Connecting securely & privately
| Need | Service |
|---|---|
| Reach Google APIs/services without going over the public internet | Private Google Access / Private Service Connect |
| Let private VMs reach the internet for updates (outbound only) | Cloud NAT |
| Connect your on-prem network to your VPC | Cloud VPN (encrypted tunnel) or Cloud Interconnect (dedicated private link) |
| Connect two VPCs privately | VPC Network Peering |
2025 ACE emphasis: private access and NAT and secure connectivity. Recognise the pattern — private VMs with no external IP that still need to fetch updates use Cloud NAT (outbound only); apps that must reach Google services privately use Private Google Access / Private Service Connect; hybrid links use VPN/Interconnect.
- Load balancers spread traffic across backends; the global HTTP(S) LB serves worldwide from one IP — pair with MIGs for scale + resilience.
- Cloud DNS = managed name resolution (create managed zones + records).
- Secure connectivity: Cloud NAT (outbound-only for private VMs), Private Google Access/PSC (reach Google services privately), VPN/Interconnect (hybrid).
- Know the private-access patterns — a 2025 exam emphasis.
Operations: Monitoring, Logging & Automation
Keeping deployed systems healthy and managing them at scale — the 'ensuring successful operation' domain (~22%).
Deploying is half the job; operating is the other half — and it's ~22% of the exam. This is the hands-on form of CDL's operations lesson.
#The Cloud Operations suite
- Cloud Monitoring — dashboards, uptime checks (is my service reachable?), and alerting policies that notify you when a metric crosses a threshold.
- Cloud Logging — collect, search, and route logs. Log sinks export logs to BigQuery or Cloud Storage for analysis or retention. Log-based metrics turn log patterns into monitorable numbers.
- Error Reporting / Cloud Trace — surface application errors and trace request latency.
The loop every operator runs: monitor health → get alerted on problems → dig into logs to find the cause → fix → repeat. Set uptime checks and alerts before you need them; route logs to a sink so you can investigate later.
#Automation & infrastructure as code
Engineers don't click the same setup 50 times — they automate. Two ideas the exam expects:
| Approach | What it is |
|---|---|
| Infrastructure as Code (IaC) | Define resources in files and apply them repeatably. Google's native tool is Cloud Deployment Manager; the industry standard is Terraform. |
| Startup scripts / instance templates | Bake configuration into VM creation so new machines self-configure. |
• gcloud monitoring dashboards create … / create uptime checks & alerting policies in Monitoring.
• gcloud logging sinks create my-sink storage.googleapis.com/BUCKET --log-filter='…'
• gcloud logging read 'severity>=ERROR' --limit=20 — search logs from the CLI.
- Cloud Monitoring (dashboards, uptime checks, alerting policies) + Cloud Logging (search, sinks, log-based metrics) are the operations core.
- The loop: monitor → alert → investigate logs → fix. Set checks/alerts before incidents.
- Automate with Infrastructure as Code (Deployment Manager / Terraform) and startup scripts/templates.
- This 'ensuring successful operation' domain is ~22% of the ACE.
The Exam, The Frameworks, The Traps
How the ACE is structured, the decision tables that answer most questions, and the mistakes that cost marks.
You've covered the ACE's five domains across Parts 7–10. This lesson turns that into exam readiness.
#The exam at a glance
- ~50–60 multiple-choice/multi-select questions, ~2 hours, scenario-based.
- Five domains, weighted roughly: set-up (~17%), planning/configuring (~17%), deploying (~22%), operating (~22%), security/IAM (~21%). Deploying + operating + security are ~65% — prioritise them.
- Heavy on
gcloudcommand recognition, service selection, IAM, and troubleshooting. - Registration fee around $125; recommended ~6 months hands-on experience.
#The decision frameworks that answer most questions
| If the scenario needs… | Reach for |
|---|---|
| Full OS control / lift-and-shift | Compute Engine |
| Containers at scale, hands-off nodes | GKE Autopilot |
| A container, scale-to-zero | Cloud Run |
| Event-driven snippet | Cloud Functions |
| Managed relational DB | Cloud SQL (Spanner if global/huge) |
| Object files | Cloud Storage (+ lifecycle for cost) |
| Private VMs need outbound internet | Cloud NAT |
| Least-privilege app access | Service account + predefined role |
| Cheap, interruptible compute | Spot VMs |
#Classic traps to pre-empt
- Forgetting to enable the API before using a service.
- Granting basic roles (Owner/Editor) when a predefined role is the right least-privilege answer.
- Confusing image (template to create VMs) with snapshot (disk backup).
- Forgetting VPC ingress is default-deny — you must add a firewall rule.
- Reaching for a VM when serverless (Cloud Run/Functions) is the intended low-ops answer.
- Using downloaded service-account keys when workload identity / short-lived credentials is the secure answer.
Highest-yield prep: do the official Google Cloud Skills Boost hands-on labs (Qwiklabs) for compute, IAM, storage, and networking — the exam rewards muscle memory. Then take timed practice exams and review every miss against the framework above. Build a one-page 'service decision cheat sheet' in your own words; teaching yourself the choice is how it sticks.
- ACE: ~50–60 scenario questions, ~2 hrs; deploying + operating + security ≈ 65% — study those hardest.
- Memorise the service-selection decision table — it answers most questions.
- Pre-empt the classic traps: enable APIs, prefer predefined roles, image≠snapshot, default-deny ingress, prefer serverless, avoid downloaded keys.
- Do Skills Boost labs, take timed practice exams, and write your own one-page cheat sheet.
AWS Through Google-Coloured Glasses
Why learning the second cloud is fast — the concepts are identical, only the names change. The master mapping table.
Here's the good news that the whole industry knows: once you understand one cloud, the second is mostly vocabulary. Compute, storage, networking, IAM, regions, the shared responsibility model — all identical in concept. AWS just uses different product names. This lesson hands you the Rosetta Stone.
Amazon Web Services (AWS) is the oldest and largest public cloud, with the biggest market share and the widest service catalogue. Its foundational certification is the AWS Certified Cloud Practitioner (CLF-C02) — the rough equivalent of Google's Cloud Digital Leader: broad, conceptual, business-and-basics focused.
#The master service mapping
| Concept | Google Cloud | AWS |
|---|---|---|
| Virtual machines (IaaS) | Compute Engine | EC2 |
| Managed Kubernetes | GKE | EKS |
| Serverless containers | Cloud Run | App Runner / Fargate |
| Serverless functions | Cloud Functions | Lambda |
| PaaS app hosting | App Engine | Elastic Beanstalk |
| Object storage | Cloud Storage | S3 |
| Block storage (VM disks) | Persistent Disk | EBS |
| File storage | Filestore | EFS |
| Managed relational DB | Cloud SQL | RDS |
| Global relational DB | Spanner | Aurora (global) |
| NoSQL document/key-value | Firestore | DynamoDB |
| Data warehouse | BigQuery | Redshift |
| Private network | VPC | VPC (same name!) |
| DNS | Cloud DNS | Route 53 |
| Load balancer | Cloud Load Balancing | ELB (ALB/NLB) |
| Identity & access | Cloud IAM | IAM (same name!) |
| Monitoring & logging | Cloud Monitoring/Logging | CloudWatch |
| Messaging | Pub/Sub | SNS / SQS |
Keep this table beside you — it converts everything you already learned into AWS knowledge instantly. The concepts (VM, object storage, VPC, IAM, least privilege, regions/zones, shared responsibility) transfer 1:1; you're really just relabelling.
- The second cloud is mostly vocabulary — concepts transfer 1:1.
- AWS is the largest provider; AWS Certified Cloud Practitioner (CLF-C02) ≈ Google's CDL (broad, conceptual).
- Master mapping: EC2↔Compute Engine, S3↔Cloud Storage, RDS↔Cloud SQL, VPC↔VPC, IAM↔IAM, Lambda↔Cloud Functions, Redshift↔BigQuery.
- Keep the mapping table handy — it converts your Google knowledge into AWS knowledge.
AWS's Core Four & Global Structure
EC2, S3, VPC, and IAM in AWS terms, plus AWS regions, Availability Zones, and the Well-Architected Framework.
The CLF exam covers the same four pillars you know — compute, storage, networking, identity — plus AWS's global structure and its design philosophy. Here's what's genuinely worth noting where AWS differs in emphasis, not concept.
#The core four, AWS-style
- EC2 (Elastic Compute Cloud) — virtual machines. Instance types (like
t3.large) = Google's machine types. AWS pricing models worth knowing: On-Demand (pay-as-you-go), Reserved/Savings Plans (commit for discount, like committed-use), Spot (cheap interruptible, like Spot VMs). - S3 (Simple Storage Service) — object storage with classes (S3 Standard, Infrequent Access, Glacier ≈ Archive) and lifecycle rules. Same model as Cloud Storage.
- VPC — same concept as Google's VPC, but in AWS subnets are tied to a single Availability Zone (whereas Google subnets are regional). Note that difference.
- IAM — same role/policy model; AWS uses JSON policy documents and the concepts of users, groups, and roles.
#Global structure & a key Google difference
| Google Cloud | AWS | |
|---|---|---|
| Geographic area | Region | Region |
| Isolated data center(s) | Zone | Availability Zone (AZ) |
| Network scope of VPC | VPC is global | VPC is regional |
| Subnet scope | Subnet is regional | Subnet is per-AZ |
The one structural gotcha: Google's VPC spans the globe and subnets are regional; AWS's VPC is regional and subnets sit in a single Availability Zone. Same building blocks, slightly different scoping. Everything else — regions for proximity, multiple AZs for resilience — is the identical principle you already learned.
#The Well-Architected Framework
AWS formalised design best practices into the Well-Architected Framework — six pillars: operational excellence, security, reliability, performance efficiency, cost optimisation, and sustainability. Google has an equivalent (the Google Cloud Architecture Framework). You'll use these heavily in the Architect parts; for CLF, just know the six pillars exist and what they mean.
The CLF exam also tests AWS billing/support basics — much like CDL: the Billing Dashboard, Cost Explorer, Budgets, the Free Tier, and support plans (Basic→Enterprise). And the shared responsibility model is examined in AWS terms — identical concept to Part 6.
- AWS core four: EC2 (VMs, with On-Demand/Reserved/Spot pricing), S3 (object storage), VPC (regional), IAM (roles/policies).
- Structure: Region → Availability Zone (AWS's 'zone'); AWS VPC is regional and subnets are per-AZ — the key scoping difference vs Google.
- Well-Architected Framework = six design pillars (Google has an equivalent).
- CLF also tests billing (Cost Explorer, Budgets, Free Tier), support plans, and shared responsibility — all concepts you already know.
What an Architect Actually Does
From 'how do I build this VM' to 'what should we build, and why' — requirements, trade-offs, and the architect's job.
Two engineers can both deploy a flawless VM. The architect is the one who asks, before any VM exists: What does the business actually need? How much downtime can it tolerate? What's the budget? What happens at 100× scale? What if a whole region fails? Who must be kept out? The deploy is easy; the judgement is the job — and it's why the Professional Cloud Architect (PCA) is Google's flagship, highest-value certification.
An architect turns business requirements into a technical design, balancing competing forces — cost, performance, reliability, security, speed — and justifying the trade-offs. There's rarely one right answer; there's the best fit for these constraints. The PCA exam tests this with long scenario questions and case studies.
#Requirements: the two kinds
| Type | Question it answers | Examples |
|---|---|---|
| Functional | What must the system do? | Process orders, serve a website, run reports. |
| Non-functional | How well must it do it? | Available 99.99%, handle 10k req/s, recover in 1 hour, cost < $X, meet GDPR. |
Non-functional requirements drive architecture. 'Available 99.99%' forces multi-zone or multi-region design; 'recover in 1 hour' sets your backup strategy; 'meet GDPR' constrains where data may live (data residency). Train yourself to extract these from a scenario — they're the hidden instructions in every PCA question.
#The architect's trade-off triangle
COST
/\
/ \
/ \
/ \
PERFORMANCE--RELIABILITY
Push one corner and the others move.
More reliability (multi-region) -> more cost.
More performance -> more cost.
The art is the right balance for THIS business.A second framing every architect carries: business value first. Gold-plating a low-stakes internal tool with multi-region failover wastes money; under-building a revenue-critical checkout risks the business. Match the investment to what the system is worth.
- An architect turns business requirements into technical design, balancing and justifying trade-offs — the core of the PCA exam.
- Separate functional (what it does) from non-functional (how well: availability, scale, recovery, cost, compliance) requirements.
- Non-functional requirements drive architecture (99.99% → multi-zone/region; GDPR → data residency).
- Balance the cost–performance–reliability triangle to the system's real business value — don't gold-plate or under-build.
The Architecture Framework: Six Pillars
Google's well-architected pillars (and AWS's) — the checklist every good design is measured against.
Both Google and AWS distilled decades of design wisdom into a framework of pillars. Google's is the Cloud Architecture Framework; AWS's is the Well-Architected Framework. They overlap almost entirely — learn the pillars once, apply to both exams.
| Pillar | The question it forces |
|---|---|
| Operational excellence | Can we run, monitor, and improve this smoothly? (automation, observability) |
| Security, privacy & compliance | Is data protected and access controlled? (IAM, encryption, least privilege) |
| Reliability | Does it stay up and recover from failure? (redundancy, backups, DR) |
| Performance & cost optimisation | Is it fast and cost-effective? (right-sizing, scaling, discounts) |
| Sustainability | Is it resource- and carbon-efficient? |
Treat the pillars as a review checklist. Faced with any design, walk the pillars: Is it reliable? Secure? Operable? Cost-efficient? Performant? Sustainable? Weaknesses jump out. This is literally how architects review designs — and how the exam expects you to reason.
#Design principles that recur
- Design for failure — assume components will fail; build so the system survives (redundancy, no single points of failure).
- Automate everything — manual steps don't scale and cause errors (Infrastructure as Code).
- Decouple — loosely-connected components (via queues like Pub/Sub) fail independently and scale separately.
- Least privilege & defense in depth — minimum access, multiple security layers.
- Elasticity over fixed capacity — scale with demand instead of provisioning for peak.
- Google's Cloud Architecture Framework ≈ AWS's Well-Architected Framework: operational excellence, security, reliability, performance & cost, sustainability.
- Use the pillars as a design review checklist — walk each against any architecture.
- Recurring principles: design for failure, automate, decouple, least privilege/defense-in-depth, elasticity.
- Learn the pillars once; they serve both the Google and AWS architect exams.
Designing for Reliability & Disaster Recovery
High availability, the RTO/RPO language of recovery, and the DR strategies an architect chooses between.
Reliability is where architects earn their keep. Two related ideas: high availability (HA) — staying up despite failures — and disaster recovery (DR) — getting back up after a disaster. The PCA exam tests both, with precise vocabulary.
#High availability through redundancy
HA means no single point of failure. The tools you know combine here: spread across multiple zones (survive a data-center failure) or multiple regions (survive a regional disaster); put resources behind load balancers and in managed instance groups that autoheal. The more failure you must survive, the wider you spread — and the more it costs.
| Spread | Survives | Cost |
|---|---|---|
| Single zone | Nothing — VM/zone failure = outage | Lowest |
| Multi-zone (regional) | A zone/data-center failure | Moderate |
| Multi-region | A whole region disaster | Highest |
#The two numbers that define DR: RTO & RPO
| Term | Question | Example |
|---|---|---|
| RTO (Recovery Time Objective) | How fast must we recover? | 'Back within 1 hour.' |
| RPO (Recovery Point Objective) | How much data can we afford to lose? | 'No more than 5 minutes of data.' |
RTO is about time (downtime tolerated); RPO is about data (loss tolerated). Tight RTO/RPO (minutes) demands expensive always-on standby; loose RTO/RPO (hours/days) allows cheaper backup-and-restore. The architect matches the strategy to the numbers the business gives.
| Strategy | How it works | RTO/RPO |
|---|---|---|
| Backup & restore | Keep backups; rebuild after disaster. | Hours–days (cheapest) |
| Pilot light | Minimal core always running; scale up on disaster. | Lower |
| Warm standby | Scaled-down copy always running; scale up fast. | Minutes |
| Hot standby / active-active | Full duplicate running live. | Near-zero (priciest) |
- High availability = no single point of failure: spread across zones (data-center failure) or regions (regional disaster); wider = costlier.
- RTO = how fast you recover (time); RPO = how much data you can lose. Tighter = more expensive.
- DR strategies cheapest→priciest: backup & restore → pilot light → warm standby → hot/active-active.
- Match the DR strategy to the business's RTO/RPO numbers — a core PCA skill.
Security Architecture & Compliance
Designing defense in depth — network security, data protection, and meeting regulatory requirements.
An architect designs security in from the start, not bolted on after. You know the building blocks (IAM, encryption, firewalls); now arrange them into defense in depth — multiple layers so one failure doesn't expose everything.
| Layer | Controls |
|---|---|
| Identity | IAM least privilege, service accounts, MFA, Cloud Identity. |
| Network | VPC firewall rules, private IPs, Cloud Armor (DDoS/WAF), VPC Service Controls (data perimeter). |
| Data | Encryption at rest & in transit (default), Cloud KMS for keys, DLP to find/redact sensitive data. |
| Detection | Security Command Center to surface misconfigurations and threats; audit logs. |
Defense in depth assumes any single control can fail, so you stack independent layers. An attacker past the network firewall still faces IAM; data they reach is still encrypted; and Security Command Center is watching. No single point of security failure — the security analogue of designing for failure.
#Compliance & data residency
Regulations (GDPR, HIPAA, PCI-DSS, regional data-protection laws) impose real constraints — most importantly data residency: some data must physically stay in a specific country/region. The architect chooses regions accordingly and uses controls like VPC Service Controls and Assured Workloads to enforce boundaries.
Exam instinct: a scenario mentioning a regulation or 'data must stay in the EU' is testing whether you'll choose appropriate regions and data-governance controls. Compliance is an architecture constraint, not an afterthought — it shapes where and how you build.
- Design defense in depth: stack independent layers — identity, network, data, detection — so one failure doesn't expose everything.
- Key tools: Cloud Armor, VPC Service Controls, Cloud KMS, DLP, Security Command Center.
- Compliance (GDPR/HIPAA/PCI) is an architectural constraint; data residency drives region choice.
- Security is designed in from the start, not bolted on.
Cost Optimization & FinOps
Architecting for affordability — right-sizing, the discount levers, and the discipline of cloud financial management.
A design that works but bankrupts the company is a failed design. Cost optimisation is a first-class architect responsibility, and the practice of managing cloud spend collaboratively is called FinOps.
| Lever | How it saves |
|---|---|
| Right-sizing | Match machine size to actual need; don't run an 8-vCPU box for a 2-vCPU job. |
| Autoscaling / scale-to-zero | Pay for demand, not peak; serverless idles at zero. |
| Committed-use & sustained-use discounts | Commit 1–3 years or run steadily for automatic discounts. |
| Spot/Preemptible VMs | Up to ~80–90% off for interruptible, fault-tolerant work. |
| Storage classes & lifecycle | Move cold data to Nearline/Coldline/Archive automatically. |
| Managed/serverless services | Cut operational labour cost, not just infrastructure. |
The architect's habit: for every component, ask 'what's the cheapest option that still meets the requirement?' A batch job that can restart → Spot VMs. Spiky web traffic → serverless. Steady 24/7 workload → committed-use discount. Cold archives → Archive class. Cost-awareness is woven through every choice, not added at the end.
#FinOps: the practice
- Visibility — billing reports, cost breakdowns by label/project, BigQuery billing export.
- Accountability — budgets and alerts per team/project; showback/chargeback so teams see their spend.
- Optimisation — continuous right-sizing and use of recommendations (Google's Active Assist / Recommender).
- Culture — engineers, finance, and business share responsibility for cost.
- Cost optimisation is a first-class architect duty; the practice is FinOps.
- Levers: right-sizing, autoscaling/scale-to-zero, committed/sustained-use discounts, Spot VMs, storage lifecycle, managed services.
- Per component ask 'cheapest option that still meets the requirement?' (batch→Spot, spiky→serverless, steady→committed-use).
- FinOps = visibility + accountability (budgets, showback) + continuous optimisation + shared culture.
Migration Architecture: Moving Real Workloads
Planning a migration end-to-end — assessment, the migration paths, and landing-zone design.
Architects don't just design greenfield systems; they plan migrations of existing workloads. You met the migration 'R's in CDL; here's the architect's end-to-end view.
- Assess — inventory what you have, its dependencies and requirements. Discover before you move.
- Plan — choose a path per workload (the 'R's), design the target and a landing zone (the secure foundation: org hierarchy, networking, IAM, guardrails).
- Migrate — move in waves, low-risk first; use Migrate to Virtual Machines and database migration services.
- Optimise — once running, modernise and tune cost/performance (rehost first, refactor later).
| Path (the 'R') | When |
|---|---|
| Rehost (lift & shift) | Exit the data center fast; modernise later. |
| Replatform | Small cloud optimisations during the move (e.g. to Cloud SQL). |
| Refactor | Re-architect to cloud-native (containers, microservices) for full benefit. |
| Repurchase / Retire / Retain | Switch to SaaS / turn off / leave for now. |
A landing zone is the architect's foundation-laying: before migrating anything, set up the organisation hierarchy, shared VPCs, IAM and policy guardrails, logging, and billing — so every migrated workload lands in a secure, consistent, governed environment. Skipping this creates sprawl and risk.
Common exam pattern: an enterprise with a deadline to leave its data center, mixed workloads, limited risk appetite. The strong answer usually combines rehost the bulk quickly to hit the deadline, replatform/refactor selectively where it pays off, and build a landing zone first so it's all governed.
- Migration phases: assess → plan → migrate (in waves) → optimise.
- Choose a path per workload: rehost (fast), replatform, refactor (cloud-native), repurchase/retire/retain.
- Build a landing zone first — the governed foundation (hierarchy, networking, IAM, logging) workloads land into.
- Typical answer: rehost the bulk to hit deadlines, refactor selectively, govern with a landing zone.
Architecting on AWS: Same Reasoning, New Toolbox
The SAA exam, the signature AWS services for each design need, and the cross-cloud pattern mapping.
The AWS Certified Solutions Architect – Associate (SAA-C03) is the industry's most popular cloud certification. It tests the exact design reasoning from Parts 13–14 — reliability, security, cost, performance — on AWS services. With your Google architecture foundation and the Part 12 mapping, you're most of the way there.
#Architecture patterns, mapped across clouds
| Design need | Google approach | AWS approach |
|---|---|---|
| Scalable web tier | MIG + Load Balancing | Auto Scaling Group + ELB |
| Serverless API | Cloud Run / Functions | Lambda + API Gateway |
| Decouple components | Pub/Sub | SQS (queue) / SNS (pub-sub) |
| Object storage + lifecycle | Cloud Storage classes | S3 + Glacier |
| Managed relational DB | Cloud SQL | RDS (Aurora for scale) |
| NoSQL at scale | Firestore / Bigtable | DynamoDB |
| Content delivery (CDN) | Cloud CDN | CloudFront |
| DNS + routing | Cloud DNS | Route 53 |
| Infrastructure as Code | Deployment Mgr / Terraform | CloudFormation / Terraform |
The SAA loves the pattern: decouple with a queue so components scale and fail independently. In AWS that's SQS (and SNS for fan-out); in Google it's Pub/Sub. Whenever a scenario describes a spiky producer overwhelming a consumer, the answer is 'put a queue between them.' Same principle as decoupling in Part 13.
#AWS specifics the SAA tests
- Availability Zones for HA — deploy across multiple AZs (AWS's reliability staple), like Google's multi-zone.
- S3 storage classes & lifecycle — Standard, Infrequent Access, Glacier/Deep Archive; same cost-vs-access trade as Cloud Storage.
- EC2 pricing — On-Demand, Reserved/Savings Plans, Spot — match to workload (steady→Reserved, batch→Spot).
- Security — IAM roles/policies, Security Groups (instance firewalls), encryption with KMS.
- Well-Architected pillars — the same six; the SAA expects you to reason by them.
SAA exam shape: ~65 scenario questions, ~130 minutes, multiple-choice/multi-select; passing is scaled. Questions read 'a company needs X with constraints Y — choose the best architecture.' Identical reasoning to the PCA; you're swapping service names via the mapping table.
- AWS SAA-C03 tests the same architecture reasoning on AWS services — your PCA foundation transfers directly.
- Pattern mapping: ASG+ELB↔MIG+LB, Lambda+API Gateway↔Cloud Run, SQS/SNS↔Pub/Sub, S3↔Cloud Storage, DynamoDB↔Firestore, CloudFront↔Cloud CDN.
- Signature SAA move: decouple with a queue so components scale & fail independently.
- Reason by the Well-Architected pillars; deploy across AZs for HA; match EC2 pricing to workload.
Generative AI, Demystified
What makes generative AI different, the vocabulary leaders must own, and where it creates business value.
The Generative AI Leader certification is Google's business-focused credential for the AI era — like the CDL, it's conceptual and outcome-oriented, not hands-on model-building. It assumes you can speak fluently about generative AI in a business context. This part gets you there.
Traditional ML (Part 5) analyses — it classifies or predicts. Generative AI creates — it produces new content: text, images, code, audio, summaries. The engines behind it are foundation models and, for text, Large Language Models (LLMs) — models trained on vast data that can be adapted to many tasks.
An LLM is an extraordinarily well-read assistant who has absorbed a huge slice of the internet and learned to predict 'what word comes next.' Ask it to draft, summarise, translate, or brainstorm, and it composes a fluent response one token at a time. It's not looking things up in a database — it's generating, which is its power and its risk (it can sound confident and be wrong).
#The leader's vocabulary
| Term | Plain meaning |
|---|---|
| Foundation model | A large, general model trained on broad data, adaptable to many tasks (the base you build on). |
| LLM | A foundation model for language — drafts, summarises, answers, codes. |
| Prompt | The instruction/question you give the model; prompt engineering is crafting it well. |
| Token | A chunk of text the model processes; you're often billed per token. |
| Hallucination | Confident, fluent output that is factually wrong — the key risk to manage. |
| Multimodal | A model handling several media types (text, image, audio) together — Google's Gemini is multimodal. |
#Where generative AI creates business value
- Productivity — draft emails, documents, code; summarise long material; assist employees.
- Customer experience — smarter chatbots and support agents.
- Content & creativity — marketing copy, images, design variations at scale.
- Knowledge access — ask questions of your own documents (via RAG, next lesson).
- Software development — code generation and assistance (e.g. Gemini Code Assist).
Misconception: 'Generative AI knows facts and is always right.' It generates plausible text by predicting likely words — it can hallucinate confidently false answers, and its knowledge has a training cut-off. A leader treats output as a fluent draft to verify, and reaches for grounding techniques (next lesson) when accuracy matters.
- Traditional ML analyses; generative AI creates new content via foundation models / LLMs.
- Leader vocabulary: foundation model, LLM, prompt, token, hallucination, multimodal (Gemini).
- Value areas: productivity, customer experience, content, knowledge access, software development.
- Generative AI predicts plausible text — it can hallucinate; treat output as a draft to verify.
Generative AI on Google Cloud: Vertex, Gemini & Agents
How an organisation actually builds with generative AI on Google — models, grounding with RAG, and AI agents.
Knowing what generative AI is, a leader must know how Google Cloud delivers it and the patterns for using it responsibly and accurately.
#The Google generative-AI stack
| Layer | What it is |
|---|---|
| Gemini | Google's flagship family of multimodal foundation models — the engine. |
| Vertex AI | The platform to access, tune, and deploy models, including Gemini, with enterprise controls. |
| Gemini for Google Cloud / Workspace | AI assistance built into Google products (coding help, document drafting). |
| Agent Builder / agent tooling | Build AI agents that don't just answer but take actions using tools and data. |
#Grounding: making generative AI accurate with RAG
The fix for hallucination and stale knowledge is grounding the model in your trusted data. The dominant pattern is RAG (Retrieval-Augmented Generation): before answering, the system retrieves relevant passages from your documents and gives them to the model, which answers from that evidence. It turns a closed-book guesser into an open-book researcher citing your sources.
Ungrounded LLM = a smart student answering from memory (sometimes wrong). RAG = the same student told 'here are the three relevant pages — answer from these.' Far more accurate, and traceable to sources. This is the technique a leader should name when accuracy and using company knowledge matter.
#From answering to acting: AI agents
An AI agent goes beyond generating text — it can use tools, call systems, and take multi-step actions toward a goal (e.g. look up an order, check inventory, issue a refund). Agents are the current frontier, and Google provides tooling to build them. The leader's framing: agents move generative AI from 'helpful drafts' to 'getting work done.'
Responsible AI is part of this certification's spirit: leaders must consider bias, fairness, privacy, security, and human oversight. Google publishes AI Principles and offers safety tooling. A scenario about deploying AI 'responsibly' is pointing at human-in-the-loop review, bias checks, transparency, and data governance — not just raw capability.
- Google generative-AI stack: Gemini (models) on Vertex AI (platform), Gemini-in-products, and agent tooling.
- Grounding with RAG (retrieve your trusted documents, then answer from them) fights hallucination and stale knowledge — the key accuracy pattern.
- AI agents move from answering to acting with tools toward a goal.
- Responsible AI — bias, fairness, privacy, human oversight — is core to the Gen AI Leader mindset.
Capstone: Designing a Real System End-to-End
A worked architecture for a global e-commerce platform — every decision traced back to a requirement.
Time to assemble the whole course into one design. We'll architect a global e-commerce platform the way a Professional Cloud Architect would — extracting requirements, then choosing each component with a justification. Read it as a model for how the pieces fit.
#Step 1 — Extract the requirements
| Requirement | Type | Drives |
|---|---|---|
| Serve customers worldwide with low latency | Non-functional | Multi-region, CDN |
| Survive a regional outage (99.99%) | Non-functional | Multi-region, redundancy |
| Handle Black Friday spikes | Non-functional | Autoscaling / serverless |
| Process orders reliably (no loss) | Functional + reliability | Decoupling queue |
| Protect payment data (PCI) | Non-functional | Defense in depth, encryption, residency |
| Control cost | Non-functional | Right-sizing, discounts, scale-to-zero |
| Personalised recommendations | Functional | ML / generative AI |
#Step 2 — Design each tier with a reason
- Front door: global HTTP(S) Load Balancer + Cloud CDN — one global IP, users routed to the nearest healthy backend, static content cached at the edge (low latency, global reach).
- Web/app tier: stateless services on Cloud Run (or a multi-zone MIG) that autoscale with traffic and scale to zero off-peak — handles spikes, controls cost.
- Order processing: put Pub/Sub between order intake and fulfillment so a spike buffers and processing scales independently — no lost orders (decoupling, design-for-failure).
- Databases: Cloud SQL (or Spanner if globally consistent inventory is needed) for transactional orders; Firestore for the product catalogue/user data; Memorystore to cache hot reads.
- Storage: Cloud Storage for product images/assets with a CDN in front and lifecycle rules for old data.
- Analytics & AI: stream events via Pub/Sub → BigQuery for analytics; Vertex AI (or a recommendations model) for personalised suggestions, optionally RAG-grounded generative support.
- Security: IAM least privilege + service accounts, Cloud Armor at the edge, encryption everywhere, VPC Service Controls around payment data, in-region storage for PCI/residency (defense in depth).
- Reliability: multi-region active-active for the critical path; backups with defined RTO/RPO; autohealing MIGs.
- Operations & cost: Cloud Monitoring/Logging with alerts; committed-use discounts for steady baseline, Spot VMs for batch, budgets/alerts for governance (FinOps).
Notice the method, not just the answer: every component traces to a requirement. That traceability — 'we chose X because the business needs Y' — is exactly what the PCA exam rewards and what separates an architect from someone who merely knows products. There's no single 'correct' diagram; there's a defensible one for these constraints.
- Architecture method: extract requirements → choose each component with a justification → trace every choice to a requirement.
- The pieces combine: global LB + CDN (reach), autoscaling/serverless (spikes + cost), Pub/Sub (decoupling), managed DBs + cache, Cloud Storage, BigQuery + Vertex AI, defense-in-depth security, multi-region reliability, FinOps cost control.
- There's no single right diagram — only a defensible one for the constraints. Traceability is the skill the PCA rewards.
- This synthesis is the whole course working as one system.
Your Certification Path & Career Map
How the four certs stack, the smartest order, exam-day tactics, and the roles this opens.
You've covered the knowledge for every target. This final lesson is strategy: how the certifications relate, the order that builds momentum, and what comes after.
#How your four certifications stack
| Certification | Level | What it proves |
|---|---|---|
| Cloud Digital Leader | Foundational | You understand cloud, Google Cloud products, and business value (conceptual). |
| Associate Cloud Engineer | Associate | You can deploy, secure, and operate on Google Cloud (hands-on). |
| Professional Cloud Architect | Professional | You can design complete, well-architected solutions and justify trade-offs. |
| Generative AI Leader | Foundational (AI) | You can lead generative-AI adoption and strategy. |
They build on each other: CDL gives the conceptual map → ACE makes you hands-on → PCA elevates you to designing systems. Gen AI Leader runs alongside as the AI-era complement. The AWS certs (CLF, SAA) prove cross-cloud breadth that employers increasingly demand. Recommended order is exactly the course order: CDL → ACE → (AWS CLF) → PCA → (AWS SAA) → Gen AI Leader.
Honest expectation-setting: CDL and Gen AI Leader are achievable with focused study in weeks. ACE rewards real hands-on practice (do the labs). PCA is the hard one — it expects experience and scenario judgement, so don't rush it; the capstone-style reasoning is what's tested. Always confirm current exam format, domains, and cost on the official pages (in References) — Google was actively updating several exams (including beta versions and Vertex AI→Gemini branding) as of early 2026.
#Exam-day tactics that generalise
- Read for the constraint — every scenario hides the deciding requirement (latency? cost? compliance? recovery time?). Find it first.
- Eliminate wrong answers — usually two options are clearly off; decide between the final two on the constraint.
- Prefer managed/serverless and least privilege — when in doubt, the 'less ops, least access' option is often intended.
- Watch for 'most cost-effective' / 'least operational overhead' — these words pick the answer.
- Flag and move on — don't burn time; return to hard ones.
#Where this takes you
| Role | What you'd do | Builds on |
|---|---|---|
| Cloud Engineer | Deploy and operate cloud systems. | ACE |
| Cloud Architect | Design solutions and lead technical direction. | PCA |
| Cloud Digital Leader / Consultant | Bridge business and cloud strategy. | CDL |
| Generative AI Lead | Drive responsible AI adoption. | Gen AI Leader |
| DevOps / SRE / Security / Data | Specialise further (each has its own certs). | All of the above |
- Path & order: CDL → ACE → (AWS CLF) → PCA → (AWS SAA) → Gen AI Leader — each builds on the last.
- Difficulty: CDL & Gen AI Leader (weeks), ACE (hands-on practice), PCA (hardest — experience & judgement). Verify current exam details on official pages.
- Exam tactics: read for the constraint, eliminate, prefer managed/least-privilege, heed 'cost-effective/least overhead', flag-and-move.
- This foundation opens Cloud Engineer, Architect, Digital Leader, and Gen-AI roles — and a path into DevOps/SRE/security/data specialisms.
Official certification pages — always the source of truth
Free training & hands-on labs
Documentation & product references
AWS — for the cross-cloud certifications
Going deeper — books & community
Your six months, week by week. This pace assumes ~8–10 study hours a week and follows the course order exactly. Adjust to your life — the sequence matters more than the calendar.
#The six-month plan
| Month | Weeks | Focus | Milestone |
|---|---|---|---|
| 1 | 1–4 | Parts 1–2: cloud + computation fundamentals | Solid mental model; free account created |
| 1–2 | 5–8 | Parts 3–6: Cloud Digital Leader domains | Sit the Cloud Digital Leader exam |
| 3 | 9–12 | Parts 7–9: ACE hands-on (gcloud, IAM, compute, storage) | Comfortable in Cloud Shell; labs done |
| 4 | 13–16 | Parts 10–11: networking, operations, ACE prep + Part 12 AWS | Sit ACE (and optionally AWS Cloud Practitioner) |
| 5 | 17–20 | Parts 13–14: architect thinking, reliability, security, cost | Can design & justify a system |
| 5 | 21–22 | Part 15: AWS Solutions Architect Associate | Sit PCA, then optionally AWS SAA |
| 6 | 23–26 | Parts 16–18: Generative AI Leader, capstone, strategy | Sit Generative AI Leader; portfolio capstone |
#Certification timing & difficulty
| Certification | Best sat after | Difficulty |
|---|---|---|
| Cloud Digital Leader | Part 6 | Achievable in weeks (conceptual) |
| Associate Cloud Engineer | Part 11 (+ labs) | Moderate — rewards hands-on practice |
| AWS Cloud Practitioner | Part 12 | Easy once CDL is done |
| Professional Cloud Architect | Part 14 (+ capstone) | Hardest — experience & judgement |
| AWS Solutions Architect Assoc. | Part 15 | Moderate — mirrors PCA reasoning |
| Generative AI Leader | Part 16 | Achievable in weeks (conceptual) |
Always confirm current exam format, domains, languages, and price on the official certification pages in References — Google was actively updating several exams (including beta versions and Vertex AI→Gemini branding) as of early 2026. The sequence and concepts here remain sound; the specific exam details are what shift.
#Cheat sheet: Google ↔ AWS service mapping
| Need | Google Cloud | AWS |
|---|---|---|
| Virtual machines | Compute Engine | EC2 |
| Managed Kubernetes | GKE | EKS |
| Serverless containers | Cloud Run | Fargate / App Runner |
| Serverless functions | Cloud Functions | Lambda |
| Object storage | Cloud Storage | S3 |
| Block storage | Persistent Disk | EBS |
| Managed SQL DB | Cloud SQL | RDS |
| NoSQL | Firestore / Bigtable | DynamoDB |
| Data warehouse | BigQuery | Redshift |
| Private network | VPC | VPC |
| DNS | Cloud DNS | Route 53 |
| CDN | Cloud CDN | CloudFront |
| Load balancer | Cloud Load Balancing | ELB |
| Messaging/queue | Pub/Sub | SQS / SNS |
| Identity & access | Cloud IAM | IAM |
| Monitoring | Cloud Monitoring | CloudWatch |
| Infra as code | Deployment Manager | CloudFormation |
#Cheat sheet: which compute should I use?
| If you need… | Choose |
|---|---|
| Full OS control / lift-and-shift | Compute Engine (EC2) |
| Containers at scale, hands-off nodes | GKE Autopilot (EKS+Fargate) |
| A container, scale-to-zero | Cloud Run (Fargate/App Runner) |
| Event-driven snippet | Cloud Functions (Lambda) |
| Deploy code, no infra | App Engine (Elastic Beanstalk) |
#Cheat sheet: which database?
| If the data is… | Choose |
|---|---|
| Relational, normal scale | Cloud SQL (RDS) |
| Relational, global & huge | Spanner (Aurora) |
| Flexible app/document data | Firestore (DynamoDB) |
| Massive NoSQL throughput | Bigtable |
| For SQL analytics at scale | BigQuery (Redshift) |
| Hot cache | Memorystore (ElastiCache) |
- Follow the course order: fundamentals → CDL → ACE (+AWS CLF) → PCA (+AWS SAA) → Gen AI Leader.
- Pace ~8–10 hrs/week over 26 weeks; the sequence matters more than the calendar.
- Keep the Google↔AWS mapping and the compute/database cheat sheets beside you for both study and exams.
- Verify live exam details on the official pages — they change.