Yeah, D is the move. Cloud Monitoring does the alerting and you can add SMS directly as a notification channel, no need to build anything extra. Pretty sure that's how Google wants it set up, correct me if I'm missing something.
Option A fits best since Database Migration Service (DMS) is Google's native tool, and it's designed for both one-time and minimal-downtime migrations with monitoring built in. Pretty sure that's what Google wants you to pick here, but open if anyone has counterpoints!
Cloud SQL for PostgreSQL (B) makes the most sense here. It's fully managed, supports PostgreSQL natively, so migration is low effort, and you avoid the overhead of managing VMs. Firestore and Spanner both mean a bigger refactor or higher cost, and running on Compute Engine is just more ops work again. Pretty sure B matches the goal of low cost and smooth migration. Agree?
I'm leaning toward B because a CDC pipeline lets you continuously replicate transactions, which should help minimize downtime and avoid losing changes. Nightly snapshots (A) seem riskier, but with CDC you capture all activity in near real time. Not 100% sure if this is the official way Google recommends though. Disagree?
I don’t think Cloud SQL (B) meets the 99.999% SLA or global auto-sharding requirements. Spanner (D) is specifically built for that, even if it’s not native open source. Trap here is picking B just for MySQL/Postgres compatibility.
I'm not convinced by B or C here. Those both add steps and could still hit performance, especially with a huge 5TB DB. Serverless exports (A) are designed to avoid production impact and automate the job, which matches minimal ops overhead. I'm pretty sure that's the intent, since D is a classic trap for high load cases.
Spanner (A) is built for global scale, strong consistency, and lots of transactions at once. Cloud SQL can't handle multi-region writes, so it's not ideal here. Pretty sure about this but let me know if I'm missing something.
Had something like this in a mock, C fits best. PITR will include all changes up to a specific point, so any recent alters or missing data should be covered. Dumps can miss new data if not timed right. Pretty sure C is what they want here, but open if someone spots a detail I missed.
Does the question state that app-dev and db-dev VPCs are already peered, or is it just assumed because of PSA? If not, how would direct private IP (B) even work without peering in place?