Примерно в 3/4 продуктов, с которыми переходим на микросервисную архитектуру нет версионирования API, а внешние библиотеки и сервисы используются AS IS (не обернутые в интерфейсы), проникая, словно споры плесени в кодовую базу продукта и подменяя своими сущностями сущности предметной области самого продукта, создавая зависимости, образуя vendor lock. Вирусное поведение, только никакой касперский тут уже не спасет, только собственная голова =)
Так вот, в архитектуре есть очень важное правило, для микросервисов оно гипер-актуально: архитектура не должна зависеть от конкретной версии коммерческого продукта, инструмента или библиотеки. Если подобная зависимость существует (trade off =) ), архитектура должна быть такой, чтобы переход на другую версию был простым и недорогим.
В микросервисной архитектуре команды могут самостоятельно выбирать наиболее подходящий инструментарий для достижения требуемого бизнес-эффекта, так что если не договориться о методах снятия таких зависимостей можно неплохо попасть на vendor lock.
Так вот, в архитектуре есть очень важное правило, для микросервисов оно гипер-актуально: архитектура не должна зависеть от конкретной версии коммерческого продукта, инструмента или библиотеки. Если подобная зависимость существует (trade off =) ), архитектура должна быть такой, чтобы переход на другую версию был простым и недорогим.
В микросервисной архитектуре команды могут самостоятельно выбирать наиболее подходящий инструментарий для достижения требуемого бизнес-эффекта, так что если не договориться о методах снятия таких зависимостей можно неплохо попасть на vendor lock.