O'Reilly logo
  • Clint Priest thinks this is interesting:

Avoid Versioning Microservices and Endpoints

A microservice is not a library (it is not loaded into memory at compilation-time or during runtime) but an independent software application. Due to the fast-paced nature of microservice development, versioning microservices can easily become an organizational nightmare, with developers on client services pinning specific (outdated, unmaintained) versions of a microservice in their own code. Microservices should be treated as living, changing things, not static releases or libraries. Versioning of API endpoints is another anti-pattern that should be avoided for the same reasons.


Cover of Production-Ready Microservices


I get not versioning the microservices or their endpoints. However, for the public API endpoints, I disagree. Versioning there is immensely helpful --- mostly for the client. And let's face it, the public API endpoints are the UI of the application as far as the client is concerned.