@jkubrynski @jkubrynski AUTONOMOUS AUTONOMOUS DEPLOYMENTS DEPLOYMENTS IN MODERN DISTRIBUTED SYSTEMS IN MODERN DISTRIBUTED SYSTEMS JAKUB KUBRYNSKI JAKUB KUBRYNSKI [email protected] / @jkubrynski [email protected] / @jkubrynski
DEFERRED CHANGE DEFERRED CHANGE IT'S ABOUT SPLITTING ONE BREAKING IT'S ABOUT SPLITTING ONE BREAKING CHANGE INTO A SET OF BACKWARD CHANGE INTO A SET OF BACKWARD COMPATIBLE CHANGES COMPATIBLE CHANGES
MIGRATION 1/2 MIGRATION 1/2 1. ADD 1. ADD datetime datetime COLUMN COLUMN 2. DEPLOY VERSION 2.0 2. DEPLOY VERSION 2.0 - READ FROM - READ FROM date date - WRITE TO - WRITE TO date+datetime date+datetime 3. MIGRATE DATA 3. MIGRATE DATA date => datetime date => datetime
MIGRATION 2/2 MIGRATION 2/2 4. DEPLOY VERSION 3.0 4. DEPLOY VERSION 3.0 - READ FROM - READ FROM datetime datetime - WRITE TO - WRITE TO date+datetime date+datetime 5. DEPLOY VERSION 4.0 5. DEPLOY VERSION 4.0 - READ FROM - READ FROM datetime datetime - WRITE TO - WRITE TO datetime datetime 6. REMOVE COLUMN 6. REMOVE COLUMN date date
DEFERRED CHANGES DEFERRED CHANGES IN THE API IN THE API Step Server Client 1 date date 2 date+datetime date 3 date+datetime datetime 4 datetime datetime