Integration and Versioning

When you begin to connect all the various services together, things might not necessarily work right away. The interfaces the services depend on are going to change in behavior and the contract. In a monolithic application it can be easy to refactor, change interfaces, and deploy the entire application together. The code consuming an interface can be deployed with the implementation of the interface. Changes to the interface could break the build and breaking changes in the behavior would show up when running integration or end-to-end tests. It’s possible that when deploying a service, the other services that have dependencies on the one we are deploying could be break as a result.

Service versioning techniques can be used to ensure changes to a service do not break functions necessary to consumers. A service can use version information in the header or query string to ensure changes to a service do not affect existing consumers. It’s also quite common to run multiple versions of a service side by side as separate deployments. Good automation and monitoring also enable us to immediately detect any breaking changes and quickly roll them back.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.138.177