Как стать автором
Обновить

Комментарии 17

НЛО прилетело и опубликовало эту надпись здесь
Спасибо за комментарий! Уточню, что речь в статье не идет о том, что нужно перебирать все варианты компоновки версий, здесь просто определяется масштаб проблемы.
На самом деле эта проблема давно известна (лет 10 как описана). Скажем, в OSGI всегда можно было одновременно деплоить сколько угодно версий одного бандла, так что проблема комбинаторного взрыва числа сочетаний версий при исполнении тоже имела место. Хорошего решения лично я не знаю.
Спасибо за комментарий! Да, я постарался дать историю вопроса, но очень коротко. Основное изменение во время микросервисов — переход проблемы со стадии разработки на стадию интеграции (описано в самом конце статьи).
Да, именно так. Т.е. на стадии деплоя приходится решать, что у нас в наличии, можем ли мы с этим работать, какой набор версий совместим, и т.п. То что я пытался делать сам — это почти прямой перенос решений для стадии компиляции (это был конкретно maven) на стадию деплоя, потому что они в общем-то похожи.
Что-то я не понял, зачем вы вообще перебираете все вариации?
У вас должна быть одна вариация — последние версии всех сервисов, всё, конец. Нет никакого смысла перебирать все возможные комбинации и кричать, что это плохо.
С таким же успехом можно перебрать все версии пакетов в npm и получить гугол, но смысл?
ИМХО у любого софта есть только одна версия — последняя. Все остальные должны умирать как можно быстрее.
Спасибо за комментарий!
Так бывает только если это разработка для себя. Если вы делаете для заказчиков (многих) — у них может быть любой зоопарк.

Если при этом сохраняется обратная совместимость — то ради бога. Но в реальности бывает необходимость сделать новую версию (мажорную), в которой будет выпилена часть старого неудачно спроектированного функионала

НЛО прилетело и опубликовало эту надпись здесь
Спасибо за комментарий!

Рынок решает.
Многие хотят чтобы было просто, но почему-то никто не готов это оплачивать.
Обратная совместимость удвоит стоимость поддержки сервиса, а со временем будет оттягивать на себя ещё больше ресурсов.
Если разложить это на тех клиентов, кто готов за это платить (а таких мало), то для них цена услуги вырастет не вдвое, а вдесятеро, так что на деле они тоже не станут за это платить.
Как итог — никто за это платить не хочет.
Нет спроса — нет и предложения. Всё просто.

НЛО прилетело и опубликовало эту надпись здесь
Спасибо за комментарий! Во многом разделяю философию доклада + считаю, что нужно добавить компонент, который собственно отслеживает версии (что с чем совместимо), — CI и CD решений для этого, к сожалению, недостаточно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории