Форум сайта python.su
> а еще я сказал, что НАУЧИЛСЯ так дебажить
При этом ты создал кучу проблем, да и отладка у тебя может работать только с PyCharm-ом.
> Какие еще проблемы использования докера, кроме тех о которых я и сам рассказал?
Основная проблема в том что у тебя появляется лишняя сущность. По сути что бы запустить несколько процессов тебе приходится устанавливать демона, писать конфиги для docker-compose, возиться с контейнерами/образами, версионировать всё это и т.д. У тебя возникает дополнительная инфроструктура, её нужно администрировать, в идеале для этого тебе нужен дополнительный DevOps инженер.
> я его хорошо знаю и хорошо понимаю какую пользу могу извлечь из его использования.
Я как раз этого момента и не могу понять. В чём смысл тестирования кода под Docker-ом?
> У меня нет проблемы - docker-compose up и готово
Я рад за тебя.
Офлайн
ksimmiНу так выложил бы его здесь.
Некоторое время назад взялся пиать скрипт, который хотел использовать так:./debug_module.sh mod_crm
Офлайн
RodegastТы постоянно говоришь про КУЧУ проблем, а кучи нет. У пользователь PyCharm'а проблем нет вообще. Также я убежден, что ЛЮБАЯ современная IDE может работать с docker'ом.
> При этом ты создал кучу проблем, да и отладка у тебя может работать только с PyCharm-ом.
Rodegast
> Основная проблема в том что у тебя появляется лишняя сущность. По сути что бы запустить несколько процессов тебе приходится устанавливать демона, писать конфиги для docker-compose, возиться с контейнерами/образами, версионировать всё это и т.д. У тебя возникает дополнительная инфроструктура, её нужно администрировать, в идеале для этого тебе нужен дополнительный DevOps инженер.
py.user.nextЯ выше сказал, что отложил этот скрипт незакончив.
Ну так выложил бы его здесь.
Много слов, мало кода.
Отредактировано ksimmi (Янв. 22, 2020 11:33:15)
Офлайн
> Ты постоянно говоришь про КУЧУ проблем, а кучи нет. У пользователь PyCharm'а проблем нет вообще.
>> Противники Pycharm создали свой альтернативный механизм запуска системы не использующий докеризацию, но вижу, что вторым шагом у них стал поиск аналогичного решения для их IDE'шек
Тебя точно ничего не смущает?
> Версионировать ничего не нужно
Это сейчас не нужно. Ты рано или поздно начнёшь вносить значительные изменения в образы, тогда и версионирование может появится.
> никаких DevOps-инженеров не нужно, вы себе, что-то слишком сложное представили.
Я имел в виду скорее человека который всё это поддерживать будет. Но тут многое от размера проекта зависит.
> Баш - очень недружественная штука, во всей команде, можно сказать, что я единственный, кто на нем может не то, чтобы писать, а писать понятно.
Пиши скрипты не на Basch-е, а на Python-е. Это не принципиально.
ИХМО написать гуй который висит в трее и при необходимости процессы запускает/останавливает это день работы для одного человека.
Офлайн
RodegastНу а что меня должно смущать? Лично мне нравится то, что получается. Я, как инженер, предоставил во-первых прототип проекта, во-вторых - инструменты по управлению этим проектом. Инструменты, как я ранее говорил, возможно, плохие. Никому эти инструменты не навязываются. Хочешь используй и работай, хочешь - нет. Главное приноси пользу, если не можешь быть эффективным с существующими инструментами - напиши свои: хоть баш-скрипты, хоть python-скрипты, хоть gui. Это очевидно и это, элементано, наша работа как инженеров. GUI, я кстати, тоже планирую и вы не поверите, это будет GUI управляющая контейнерами проекта.
> Ты постоянно говоришь про КУЧУ проблем, а кучи нет. У пользователь PyCharm'а проблем нет вообще.
>> Противники Pycharm создали свой альтернативный механизм запуска системы не использующий докеризацию, но вижу, что вторым шагом у них стал поиск аналогичного решения для их IDE'шек
…
Пиши скрипты не на Basch-е, а на Python-е. Это не принципиально.
ИХМО написать гуй который висит в трее и при необходимости процессы запускает/останавливает это день работы для одного человека.
…
Тебя точно ничего не смущает?
RodegastТы прав, но тут ничего страшного, это закономерно для микросервисов. Видимо ты имеешь в виду ситуацию, когда модули начинают раздельную поставку относительно друг друга и соответственно развиваться с разной скокростью и разным циклом поставки. До этой проблемы как до луны, пока не состоиться выход в продакшн. Я так работал уже, к моменту когда проблема себя явит dev-инструменты уже успеют смениться, ну или мы будем в срочном порядке их проектировать. Мне нравится как мы сделали на прошлой работе: после выхода в прод разрабов поделили на команды, каждая команда отвечала за 2-3 компонента системы, к остальным доступа не было. Доступ был только к docker-hub содержащему стабильные билды каждого модуля. Т.е. тег latest означал, что он на проде в данный момент. Мы просто делали pull на dev-машину, поднимали контейнера и работали с ними. Этим, кстати, тоже рулил docker-compose.
Это сейчас не нужно. Ты рано или поздно начнёшь вносить значительные изменения в образы, тогда и версионирование может появится.
Офлайн
> Лично мне нравится то, что получается.
Речь идёт не лично про тебя, а про “команду”. Для части команды работа с контейнерами оказалась не приемлемой. Фактически существует как минимум две дублирующие системы, а это может повлечь определённые издержки.
> GUI, я кстати, тоже планирую и вы не поверите, это будет GUI управляющая контейнерами проекта.
GUI будет заточен только на этот проект или это будет универсальный фронтэнд лоя Docker-а?
Офлайн
RodegastТут вопрос компетениции, кто может предложить эффективное и работающее решение - тот предлагает. Я не самодур, будет, что-то лучше моего решения - сам на него перейду.
>Речь идёт не лично про тебя, а про “команду”.
Rodegast100% команды никогда с докером не работало и вообще ничего кроме Джанги не видела, я в одном из первых постов говорил, что у ребят из опыта только - разработка сайтиков на Джанге. Они слабые, очень слабые, на таких нельзя равняться. Кто пошустрее тот осилит и останется. Меня вдохновляет то, что по большей части ребят невооруженным взглядом видно, что одни просто в восторге от новизны опыта, даже если не нравится докер, то им нравися изучать Nameko. Есть кстати и парочка ТОКСИЧНЫХ ребят, которым не нравится все, потому что Джангу они знали, а я им НЕДЖАНГУ дал. Если у них ничего не изменится, то я избавлюсь от них.
Для части команды работа с контейнерами оказалась не приемлемой.
RodegastЭто нормально, в конце концов останется только одна. Я выше писал, что в моем прошлом проекте было 7 таких дублирующих систем в момент когда я туда устроился. И это при команде в 15 человек! Это 1 одному способу запуска на двоих. Такой зоопарк царил 9 месяцев. Возможно такое разнообразие было связано с тем, что ребята фактически сидели в разных частях города поделенными на три группы. Потом, всех собрали вместе и в течении следующих 4-х месяцев неудачные варианты начали отмирать. Достаточно долго жили два варианта одновременно, потом остался один.
Фактически существует как минимум две дублирующие системы, а это может повлечь определённые издержки.
RodegastНу конечно хочется сделать, что-то универсальное, но не факт, что это рационально. Пока что я хочу управлять запуском и остановкой контейнеров. Хочу уметь перезапускать контейнер в дебаг-режиме, т.е. если в коде стоит breakpoint(), то разработчик может прям в баузере отладкой бекенда заниматься. Хочу прикруить docker-hub и уметь запускать разную версию одного и того же модуля. Хочу уметь запусктать несколько экземпляров всей системы.
GUI будет заточен только на этот проект или это будет универсальный фронтэнд лоя Docker-а?
Офлайн
Имхо все зависит от размера команды и откуда идут в эту команду деньги. Если разработчиков много, деньги идут со сторонних проектов и т.п. - то можно позволить играться себе с докерами и прочим.
Когда людей мало, деньги идут непосредственно с разработки клиентам, то все докеры идут лесом, так как на это банально нет времени. 90% - это работа над логикой разработки приложения.
Плюс кто будет заниматься безопасностью старых контейнеров, когда их зоопарк собирается на разных дистрибутивах, версиях библиотек. Это опять нужны ресурсы.
А еще можно внезапно нарваться на безопасников, у которых к примеру сертифицирован только редхат и куча лицензий на него. И на контейнеры на основе дебиана - они смотрят как на грязную тряпку, мол что за фигню вы сейчас хотите тут у нас запустить ?
Вот и выходит, что если условия разные ,то и методы разработки, ее экосистемы - могут кардинально отличаться.
Офлайн
VadimK
Согласен с вами полностью. Особенно про безопасников в точку сказано, у меня аж флешбеки от ваших слов .
Как там будет в будещем с поддержкой этих инструментов и прочим я не знаю, до этого надо дожить. Сейчас мы действительно просто фигачим логику приложения для скорейшего запуска в прод.
Докеры в dev-окружении сложились “исторически”, не смотря на то, что проект молодой. Мы с заказчиком знакомы давно, он был одним из крупнейших клиентов компании, в которой я был тимлидом до этого. Он с начала прошлого года стал пытаться меня схантить, мол “я не хочу отдавать процент со сделок твой компании, это слишком дофига - разработай мне такой же софт + больше”. Я долго не хотел связываться с ним, но затем он в августе сделал ну очень уж хорошее предложение и я решил рискнуть. Мне требовалось около двух месяцев, чтобы передать дела на прежней работе. В начале сентября он решил меня познакомить со “своими” программистами, т.е. с моей будущей командой. Я вообще удивился, что у него есть “свои” программисты, т.к. считал, что у него все его бизнесы - это 100% офлайн-бизнесы, но он оказывается давно пытается отцифроваться. До сих пор не понимаю зачем емы были нужны 12 Django-разработчиков при это еще и НЕЗНАКОМЫХ друг с другом. Т.е. это три маленьких команды, которые пилили для него параллельные проекты. Примерно тогда же я начал прощупывать, что же есть такого в Python, что из этого я хотел бы видеть в своем проекте? Я гуглил, спрашивал, В ТОМ ЧИСЛЕ ЗАДАЛ ВОПРОС НА ЭТОМ ФОРУМЕ! Разработку должны были начать в ноябре, но в октябре я понял, что мне ВНЕЗАПНО стыдно получать ЗП просто так. Выбрав Nameko я просто взял и собрал прототип первых четырех модулей. Это был мой первый опыт с RPC/gRPC, первый опыт с protobuf можно также сказать, что это был ПОЧТИ первый опыт c Python. У меня были некоторые трудности по использованию этого всего, потому что я по-сути учился. Так вышло, что в тот момент времени для меня “серебрянной пулей” оказался docker-compose.
Так вот, когда в ноябре мы собрались командой у нас уже был “исторически сложившийся” Docker.
Отредактировано ksimmi (Янв. 25, 2020 11:06:49)
Офлайн
А Вы стек технологий также выбираете?
Где будем хранить данные? Нууу…. Давайте в postgresql. Почему не в mongo, couchbase или vertika? Да так исторически сложилось.
Вам не кажется, что выбор должен быть обоснован?
Отказаться от плохого выбора на раннем этапе проще, чем, запустив приложуху в продакшн, пилить параллельно вторую версию.
Офлайн