Non-breaking API changes
Explore methods to implement non-breaking API changes in distributed systems, ensuring stable interactions across diverse consumers. Learn how to design APIs that maintain backward compatibility, respect consumer autonomy, and avoid forcing coordinated upgrades, enabling smooth service evolution without disruption.
Minimizing work transference to other teams
We now know how to design applications so that they can be deployed easily and repeatedly. That means we also have the ability to change the way our software talks with the rest of the world easily and repeatedly. However, as we make changes to add features, we need to be careful not to break consuming applications. Whenever we do that, we force other teams to do more work in order to get it running again. Something is definitely wrong if our team creates work for several other teams! It’s better for everyone if we do some extra work on our end to maintain compatibility rather than pushing migration costs out onto other teams. This chapter looks at how your software can be a ...