3 ms·
They do in part but developers need to be aware of two major things: 1. Always be backwards compatible in protocols and data formats. If you store data on dis
by gravypod 7y ago
They do in part but developers need to be aware of two major things:
1. Always be backwards compatible in protocols and data formats.
If you store data on disk or in a table you V1 and V2 tables need to be generally compatible.
V2 should always be able to read V1 tables. This helps with rollouts.
In an ideal case V1 should gracefully handle V2 tables. This helps with rollbacks.
2. Service to service communications work between V1 and V2.
If you don't want downtime you have to gracefully handle the situation in which V2 is rolling out. In a zero-downtime deployment config like blue/green V2 instances can get requests from V1 instances and vice versa.
Monorepos don't help with these situations. These are just engineering practices that have to be upheld by the team. Monorepos will make the atomic source code updates applied across the codebase easy.
- thedance 7y agoEvery place you said "should" is actually "must" otherwise how can anything work? Clearly the next version MUST be able to read the stored data of the current version and just as clearly the next version MUST write data that can be read by the current version. If not then releasing the software is totally impossible.