Andrey
Мало кто с версиями парится
ну оке, мож я чето не правильно делаю. Как вы деплоите окружения когда есть описанные мной зависимости?
A
A
А то это уже монолит
Никита
A
Другие должны адекватно реагировать на из отсутствие
A
Это уже тогда не ммкросервисы иначе
A
Andor
Andor
что?
Александр
Называй сервисы с суффиксом версиии
Andrey
что?
ну протобаф это протокол. Причем он тут если я говорю про проблему деплоя. Протобаф все что может это обнаружить что задеплоили чето не то.
Никита
Александр
По идее 2 подряд идущие версии не должны быть обратно несовместимы
Andrey
Александр
Можно пробы еще настроить, чтобы убедиться, что все необходимое поднялось
Andor
Andor
при чём тут деплой если ты говоришь о версионировании API между сервисами?
Andor
или ты что-то другое имеешь в виду?
Александр
Так нужно версионирование или деплой нескольких микросервисов?
Andrey
Andor
истио
Andrey
приходит разраб/тестировшик, говорит, хочу тестить фичу some_feature сервиса X. А мне нужно задеплоить сервис Х с фичей some_feature + все соседние микросервисы от которых зависит эта фича. Т.е. у микросервиса X должен быть какой то requirement на соседние сервисы.
Andrey
истио
😔 грусть пичаль. А есть чо попроще?)
Andor
а истио - сложно?
Andor
ну возьми линкерды, лол
Andrey
Andor
linkerd
Andrey
а истио - сложно?
ну я его не юзал еще, так что пока у него статус "сложнанипанятна"
Andrey
Andor
у нас вот попробовали linkerd
Andrey
linkerd
Linkerd is a transparent proxy
нафига оно мне?)
Andor
теперь жалеют что не попробовали istio
Andrey
Andor
правда?
Andor
ну как скажешь
Александр
Andrey
оно наверное трафик мне может зарулить на поды нужной версии, но мне не это надо
Александр
У него есть возможность указать зависимости
Andrey
helm?
ну вот helm пока самое близкое видимо к тому что нужно. Осталось мне с версионированием проблемы порешать 🙂
Andor
а, ты кажется хочешь вообще тестировать эти фичи не в прод кластере?
Andor
я правильно понял?
Andor
то есть это не canary или blue-green, это про создание отдельного окружения для нестабильных версий сервисов?
Andrey
ну вот как есть у того же maven'a или pip или composer'a(который похапэ). Там пишется версия либы аля libname >=1.0.1
Andor
это либа, а не соседний сервис
Александр
Andor
и без этой либы у тебя зафейлится сборка
Andrey
и без этой либы у тебя зафейлится сборка
у меня и без нужной версии микросервиса можно сказать зафейлится, потому что когда тестировщик идет проверять фичу, его совсем не устроит наблюдать обратную совместимость вместо новой фичи
A
Andrey
ну началось))
Andor
тема конечно интересная
Andor
но нет
Andor
Andor
кажется это не очень технический вопрос
Vadim
Всегда можно переквалифицироваться в установщики кубеней, там стотыщ
Vadim
А за три года все уже отлажено
Andrey
ну значит вернёт фичу в разработку
ну, а чтобы не возвращал, хочется уметь деплоить сразу все нужных версий. И вопрос собственно в том чтобы эти версии и связки версий где-то держать и как то разруливать
Andor
а чтобы не возвращал - разработчик должен уметь коммитить сразу в несколько сервисов
Andor
а ещё можно сразу монорепо, тогда зависимости сами собой чинятся
Andor
(ну почти)
Rainbow
Andrey
Andor
но к куберу и деплоям это мало отношения имеет, больше к методам разработки
Andor
Andrey
окай, давайте по другому.
Вот например мы такие со стальными яйцами и держим базы в кубере.
И тут мы катим новый функционал в кубер который работает только на новой версии базы (я не о миграциях, а именно о версии базы). Как такие реквайременты прописать?
Sergei
Vadim
Можно придумать какую-то схему с версиями через лейблы и сделать какой-то прокси, управляемый через CRD
Rainbow
у монорепа только один минус, нет адекватных тулов, одни велосипеды
Andrey