Walk, Don’t Race
TL;DR
Cha-Cha-Changes
Breaking changes happen, and the breaking occurs between the layers (e.g. UI and API, API and database). Rather than trying to release new layers simultaneously (especially with edge distribution), commit the time and effort to a four or five-step pattern that ensures the layers work perfectly at all times, losing no data
1. Create the Change You Want To Be
Create the goal: the new schema; the new endpoint; the new protocol. Test it, benchmark it, and be happy with it. Copy and translate the old system’s data to the new system (handle the subsequent data changes in step 4)
For example, instead of changing the data type of a column, create a new column of the desired type
2. Embrace the New While Respecting the Old
The Problem With Data
It’s always the data
The transition depends on how the old and new systems share data
- Type A: if the clients are making...