Your Cloud Operations team is designing an automated deployment pipeline for a high-availability microservice hosted on Google Kubernetes Engine (GKE) using GKE Enterprise Service Mesh and Cloud SQL. The application update introduces a database schema change. To ensure zero-downtime and preserve the service error budget, you must execute a canary release pattern using the expand-contract strategy.
Arrange the following steps in the correct chronological sequence to execute this release strategy safely.
- 1Apply backwards-compatible database schema expansion to Cloud SQL, adding new fields while retaining old fields.
- 2Deploy the candidate (v2) workload pods to the GKE cluster alongside existing (v1) pods without updating external traffic routes.
- 3Configure the Service Mesh VirtualService manifest to route a 5% canary traffic share to the candidate (v2) pod subset.
- 4Monitor Cloud Observability metrics, tracking error budgets and latency Service Level Indicators (SLIs) during the soak duration.
- 5Shift 100% of production traffic to version v2, decommission v1 pods, and execute the database contract phase to remove deprecated schema fields.
Cevap
The correct sequence starts with applying backwards-compatible database schema expansion to Cloud SQL, deploying candidate (v2) pods to GKE without external traffic, configuring the Service Mesh VirtualService for a 5% canary split, monitoring SLIs and error budgets during soak, and finally promoting v2 to 100% traffic while executing the database contract phase.
Safely deploying application updates with database changes requires decoupling schema expansion from schema contraction. Expanding the schema first ensures backwards compatibility for legacy v1 instances. Once v2 workload pods are provisioned on GKE, canary traffic splitting via Service Mesh allows real-time telemetry observation. After verifying SLI health, shifting 100% of traffic and executing the contract phase completes the zero-downtime release.
Adım Adım Çözüm
Anahtar Kavram
Expand-Contract Database Migration in Canary Deployments