Porting to GCP
‹ All Categories
Porting to GCP
Porting to GCP

Phase 1 — Pipeline Worker: Render to Cloud Run (Completed)

Pipeline worker (BullMQ orchestrator) migration from Render to Cloud Run Service in europe-west3, completed 2026-06-02 and -03. As-built record with all checklist items marked done. Includes the Worker Pool vs Service decision, scaler-tuning fix (rev -00002), Belvedere validation results, and what stays out-of-scope for follow-up phases.

20 Sections EN 3 June 2026
Porting to GCP

Phase 2 — Hydrographer Cron: Render to Cloud Scheduler + Cloud Run Job

The last Render service after the Phase-1 worker migration. Moves the nightly Getty/ULAN/GND person backfill to Cloud Scheduler + Cloud Run Job, reusing the existing worker image and Secret Manager refs.

14 Sections EN 3 June 2026
Porting to GCP

Phase 3 — Web/API: Vercel to Cloud Run

Migrates the Next.js 15 web/API layer from Vercel Pro onto Cloud Run in europe-west3 with Cloud CDN. Replicates Vercel-cron entries via Cloud Scheduler and re-wires Sentry, NextAuth, and Firebase Auth domains.

16 Sections EN 3 June 2026
Porting to GCP

Phase 4 — Database: Supabase to Cloud SQL

Highest-risk phase: migrates the 4.3 GB PostgreSQL 16 production database from Supabase to Cloud SQL in europe-west3 via baseline pg_dump + logical replication + flip-and-verify cutover. Preserves pgvector HNSW indexes.

17 Sections EN 3 June 2026
Porting to GCP

Phase 5 — Cache and Queues: Upstash to Memorystore

Moves the BullMQ-backing Redis from Upstash EU-West to Memorystore for Redis Standard HA in europe-west3. Lowest complexity remaining: existing connectionConfig is vendor-agnostic, JobSchedulers auto-recreate on first boot.

12 Sections EN 3 June 2026
Porting to GCP

Phase 6 — Object Storage: Cloudflare R2 to Cloud Storage (Optional)

Optional and defer-recommended. Moves the two R2 buckets to Google Cloud Storage with Cloud CDN. Counter-argument: R2's zero-egress is genuinely cheaper than GCS at any non-trivial bandwidth, so this is a vendor-consolidation play, not a cost win.

13 Sections EN 3 June 2026
Porting to GCP

Handling secrets and keys

Recommended Secret Manager setup for AITourPilot on GCP: centralized per-environment secrets projects, service-specific service accounts, and least-privilege IAM.

7 Sections EN 3 June 2026
Porting to GCP

Migrating from Supabase to Google Cloud SQL — Strategy, Cost & Migration Path

Migration rationale, technical scope, Cloud SQL cost-tier landscape, and practical migration path for moving AITourPilot data infrastructure off Supabase as part of broader GCP consolidation.

8 Sections EN 4 May 2026