Development

☁️ Migrating from AWS to GCP: What We Learned Helping a $100M SaaS Company Switch

Complete case study on AWS to Google Cloud migration with real results and zero downtime

aws-migrationgoogle-cloudcloud-migrationsaascost-savingsperformanceci-cdmonitoringdatabase-migrationcloud-run
Dezoko Team
February 7, 2025
7 min read

Table of Contents

☁️ Migrating from AWS to GCP: What We Learned Helping a $100M SaaS Company Switch

☁️ Migrating from AWS to GCP: What We Learned Helping a $100M SaaS Company Switch


Cloud migration is one of the most high-stakes moves a tech company can make.


When a $100M ARR SaaS company came to us, they were clear:


> "AWS is becoming a bottleneck. We want to move to GCP -- securely, with zero downtime -- and improve observability, speed, and cost."


Over the next 90 days, we helped them migrate core production systems, including:


  • REST APIs
  • PostgreSQL databases
  • S3 assets
  • Lambda functions
  • Monitoring and CI/CD

The result?


  • 30-40% cost savings
  • 20% performance boost
  • Fully automated CI/CD on Cloud Build
  • Real-time monitoring via Cloud Logging
  • No user-facing downtime

Here's what we learned -- and how you can de-risk your own AWS → GCP migration.


🚦 Why They Moved From AWS to GCP


Reason
Details
💸 Cost
AWS costs were climbing rapidly with unpredictable billing
🚧 Vendor Lock-in
Deep reliance on Lambda, DynamoDB, and CloudWatch made flexibility difficult
📉 Performance
S3 + Lambda latency for user uploads was too high
🔍 Observability
Logs and metrics scattered across tools (CloudWatch, Datadog, third-party agents)
🔐 Compliance
They needed stronger IAM scoping + VPC Service Controls for SOC2 and GDPR

🧱 Architecture (Before vs After)


📍 Before: On AWS


  • Frontend: hosted on S3 + CloudFront
  • Backend: Node.js + Python APIs on Lambda
  • DB: PostgreSQL on RDS
  • Assets: S3
  • Monitoring: CloudWatch + Datadog
  • CI/CD: GitHub Actions → AWS CodeBuild

🚀 After: On GCP


  • Frontend: Firebase Hosting + CDN
  • Backend: Cloud Run (containerized services)
  • DB: Cloud SQL (PostgreSQL)
  • Assets: Cloud Storage (multi-region)
  • Monitoring: Cloud Logging + Alerting
  • CI/CD: GitHub Actions → Cloud Build
  • Secrets: Secret Manager
  • Identity: Firebase Auth + IAM roles

🔄 Step-by-Step Migration Plan


1. Discovery & Audit (Week 1-2)


  • Mapped existing services + architecture
  • Estimated GCP service equivalents
  • Built migration timeline + rollback plan
  • Audited AWS billing → identified top 20% cost items

📎 Output: full "Lift, Refactor, Optimize" migration roadmap


2. CI/CD and Image Pipeline Setup (Week 2-3)


  • Containerized Lambda functions → Docker
  • Created `cloudbuild.yaml` pipelines per service
  • Set up GCP Artifact Registry for image storage
  • Enabled GitHub Actions + Cloud Build triggers
  • Validated builds in staging

3. Database Migration (Week 3-4)


  • Used `pg_dump` + `pg_restore` with minimal downtime
  • VPC peering from AWS RDS → GCP Cloud SQL for live sync
  • Switched connections from apps to Cloud SQL proxy
  • Hardened IAM, backups, and failover regions

4. S3 to Cloud Storage


  • Migrated assets via `gsutil rsync` with versioning
  • Added signed URL logic for secure file access
  • Integrated GCS into backend via GCP SDKs

5. Backend APIs → Cloud Run


  • Converted Node.js and Python APIs to containers
  • Exposed APIs via HTTPS with JWT auth
  • Scaled Cloud Run concurrency based on load testing
  • Connected via Serverless VPC connector to Cloud SQL
  • Configured Cloud Armor + CORS policies

6. Monitoring, Alerts, and Cost Controls


  • Replaced CloudWatch with Cloud Monitoring
  • Setup dashboards for latency, memory, errors
  • Alerts sent to Slack + PagerDuty
  • Added budgets + billing alerts with per-project quotas
  • Enabled VPC Service Controls and resource tagging for compliance tracking

📊 Results


Metric
Before (AWS)
After (GCP)
Improvement
Monthly Cloud Cost
$22,500
$13,800
🔻 ~39%
Avg API Latency
360ms
280ms
⚡ +22% faster
CI/CD Build Time
~9m
~5m
⚡ 45% faster
Logs Storage
18TB/year
4TB/year
🔻 77% savings
Developer Happiness
Low
High
😄 Cleaner DX

💬 What the Client Said


> "Your team made this migration feel painless. We cut costs, improved security, and finally feel in control of our platform again."

> -- VP of Engineering, $100M ARR SaaS


> "Our developers now deploy to Cloud Run with zero fear -- and our dashboards are 10x clearer than before."

> -- CTO


🧠 Lessons We Learned


1. Start with the billing audit -- it uncovers where migration gives the most ROI.

2. Cloud Run is a game-changer for backend APIs -- fast, cheap, and powerful.

3. Cloud Logging beats CloudWatch for clarity + alerting.

4. IAM cleanup is critical -- don't just copy-paste roles.

5. Staging environments must mirror prod 100% -- we use `terraform` to sync.


📞 Considering Moving From AWS to GCP?


We offer:

  • End-to-end cloud migration services
  • Billing audits and cost projection reports
  • CI/CD setup with GitHub + Cloud Build
  • Backend containerization
  • Database migration with minimal/no downtime
  • Compliance and IAM hardening
  • Optional multi-cloud fallback strategies


Get a free consultation