GoBubble migrates 21 workloads from GCP to Amazon EKS with zero downtime
An AI moderation platform is only as good as its feature and training data. VeUP built GoBubble’s AWS-native ML data plane: an Amazon S3 data lake (SSE-KMS encrypted, Intelligent-Tiering) feeding a Snowflake-on-AWS feature warehouse over AWS PrivateLink, with approximately 85 ML/ETL pipelines translated from GCP-coupled orchestration onto AWS Glue, AWS Step Functions, and Amazon EventBridge.
The challenge
GoBubble’s models depend on a continuous supply of features and training data produced by dozens of interdependent pipelines that had grown up inside GCP’s orchestration. Migrating them was the riskiest part of the platform move: every pipeline had to produce byte-equivalent outputs on AWS, on schedule, or model quality would silently degrade — and the whole translation had to land inside the same fixed 12-week window as the rest of the estate, with the moderation product running live throughout.
The solution
VeUP re-founded the data plane on AWS-native services. Feature and training data land in an Amazon S3 ML data lake encrypted with SSE-KMS and cost-managed by Intelligent-Tiering; the analytical and feature warehouse is Snowflake on AWS, reached privately over AWS PrivateLink; and the ~85 pipelines were translated onto AWS Glue for ETL, with Snowpark Python carrying the transforms, AWS Step Functions expressing the orchestration logic, and Amazon EventBridge driving schedules and triggers. Translation was governed by an operator-mapping discipline — each legacy pipeline’s behavior mapped explicitly onto its Glue/Step Functions equivalent — and validated the only way that counts: a 14-day feature-data parity-overlap window ran both planes side by side and compared outputs, returning a Pass before the legacy plane was retired. The cutover was zero-downtime, and the platform runs in production on the AWS-native data plane today.
Production outcomes
| KPI | Result |
|---|---|
| Pipeline translation | ~85 ML/ETL pipelines moved onto AWS Glue + Step Functions + EventBridge with Snowpark transforms — the platform’s full data production re-homed to AWS-native orchestration. |
| Parity proof | 14-day feature-data parity-overlap window comparing legacy and AWS outputs returned a Pass — model-feeding data proven equivalent before the old plane was switched off. |
| Data-plane posture | SSE-KMS encryption and Intelligent-Tiering on the S3 lake, PrivateLink to the warehouse — security and storage economics designed into the plane, delivered zero-downtime inside the fixed migration window. |
| Lessons & continuation | ML data planes migrate on proof, not confidence — run the parity overlap and make retirement conditional on the pass; explicit operator mapping is what turns 85 bespoke pipelines into one repeatable translation method. |