++
Retail Tech / Cloud8 months6 engineers

Cloud Migration at Scale

GCP-to-AWS Migration for a National Retail SaaS Platform

A national retail-technology SaaS platform powering cloud-based point-of-sale, inventory management, and digital payments for 10,000+ stores — including major retail chains — needed to migrate its entire production infrastructure from Google Cloud Platform to AWS. We were brought in through a partner engagement to plan and execute the migration with zero downtime, re-architect services for AWS-native primitives, and ensure the platform could continue processing millions of daily transactions without interruption throughout the transition.

++
++
10K+
Stores Live
0
Downtime
35%
Cost Reduction
99.99%
Uptime
14
Microservices
M+
Daily Txns

The Challenge

What We Faced

The platform had grown to serve 10,000+ retail stores nationwide — from large multi-chain brands to independent retailers — running cloud POS billing, real-time inventory sync, digital payment acceptance, and AI-driven sales analytics. The entire stack was built on GCP. A strategic acquisition required the platform to migrate fully to AWS within a tight timeline. The challenge: re-platform every service — databases, compute, messaging, CDN, ML pipelines — without a single second of downtime for the thousands of stores that depended on it for daily billing and payments. Any outage during store hours would directly impact merchant revenue.

Our Solution

How We Solved It

We executed a phased, zero-downtime migration using a dual-write strategy: new writes went to both GCP and AWS simultaneously while historical data was backfilled. Services were decomposed into 14 independently deployable microservices on EKS, each migrated incrementally using a strangler-fig pattern. Cloud SQL moved to Aurora PostgreSQL and DynamoDB for high-throughput workloads, GCS to S3, Pub/Sub to SQS/SNS with EventBridge for orchestration, and GKE to EKS. We rebuilt the API layer on API Gateway with Lambda functions for lightweight, event-driven workloads — payment webhooks, notification dispatch, and inventory sync triggers. Terraform IaC covered the entire target state. Traffic was shifted store-by-store over 6 weeks using weighted DNS routing, with a real-time reconciliation dashboard comparing transaction records across both clouds.

++
RESULTS

Outcomes

Key Results

Zero downtime across the entire 8-month migration — no store lost a single transaction
10,000+ stores migrated store-by-store with weighted DNS cutover
35% infrastructure cost reduction through right-sizing, Lambda serverless, and reserved instances
14 microservices re-architected for AWS-native primitives (EKS, Aurora, DynamoDB, Lambda)
Real-time dual-cloud reconciliation dashboard catching drift before production
Full Terraform IaC — entire AWS target state reproducible in under 30 minutes
CI/CD pipeline rebuilt on GitHub Actions with 90%+ automated test coverage
Post-migration: 99.99% uptime, faster deployments, improved observability
++

Technology Stack

ReactNode.jsTypeScriptAWS EKSAurora PostgreSQLDynamoDBAPI GatewayLambdaSQSSNSEventBridgeS3CloudFrontRedisTerraformDockerHelmGitHub ActionsSageMakerDMSCloudWatchX-Ray
++++
++++
++

Ready to build something similar?

Let's Talk About Your Project

++