An automotive technology company is migrating its legacy vehicle telemetry platform from an on-premises data center to Google Cloud. The legacy monolithic application relies on a central relational database. To resolve technical debt, the team plans to decouple the monolith into stateless microservices and modernize the database schema. The solution must ensure zero planned downtime and maintain full backward compatibility during the transition. Which strategy should the Cloud Architect recommend?
- Migrate the relational workload to Cloud SQL using Database Migration Service, and adopt an expand-and-contract schema design pattern alongside deploying stateless microservices to Cloud Run.Answer
- BMigrate the database directly to Cloud Spanner to support global distribution, and perform an immediate single-step non-backward-compatible schema transformation.
- CDeploy the decoupled microservices using a blue-green release strategy while applying breaking, non-backward-compatible database schema updates directly to the active database.
- DProvision a multi-zone Google Kubernetes Engine (GKE) cluster for the microservices, and retain the legacy database schema in its existing state to eliminate schema migration risk.
Answer
Migrate the relational workload to Cloud SQL using Database Migration Service, and adopt an expand-and-contract schema design pattern alongside deploying stateless microservices to Cloud Run.
The correct strategy combines Database Migration Service (DMS) for continuous minimal-downtime database replication, Cloud Run for hosting serverless stateless microservices, and the expand-and-contract schema refactoring pattern. Expand-and-contract separates database updates into additive changes (expand), migration of access patterns, and removal of legacy fields (contract), ensuring zero downtime and backward compatibility throughout the migration.
Step-by-Step Solution
Key Concept
Managing Technical Debt and Database Schema Evolution during Cloud Migrations