Pull to refresh
-19
0
776166 @776166

Пользователь

Send message
Не совсем. Если в ansible есть шаблонизатор, и вся эта концепция просто офигенная, то в штатном Докере я про него ничего не слышал. И я думаю, что сама концепция Докера не предполагает такие сложности. Если только не обновлять само содержимое контейнера в бою. Но тогда зачем он нужен, если можно всё тоже самое делать без прокладки?
Мне вот интересно, когда будут суды по этому поводу?
>> Ваши предложения?
Ни одного. Я просто вайню и хейчу. Даже думать про Докер не хочу. Ни секунды своего времени не потрачу. Буду скакать три дня, чтобы рассказать, на сколько он мне безразличен.
>> А ротация — это конфигурационный параметр.
Речь про настройки по-умолчанию. Обычно, их хватает, даже для nginx. Если нет, можно в дистрибутиве демона докладывать настройки для logrotate. Если вас интересует результат. (с)
>> лучше чтоб знал. Весь DevOps подход про это — «you built it — you run it»
В мире розовых пони и свободного Навального — да. Программист сам пишет скрипт установки, кладёт в git шаблон конфига для своего софта и всех других конфигов для зависимостей, а девопс это реализует в виде CI/CD. Но если есть Докер, то об этом вообще не надо думать. С одной стороны, хорошо, с другой стороны, продукт неюзабельный вообще вне докера.
>> отсутствие места шелл не ломает. Как правило.
Вам или повезло, или вы не сталкивались с ситуацией, когда шела приходится минутами ждать, а там не только место кончилось, но и память вся вышла, и процессоры все поедены.

Я бы предпочёл, что бы демон был нормальным из коробки, без дополнительных настроек там, где в этом нет необходимости. И валить логи одного не очень важного демона в syslog? Ну не знаю. Вот почему другие демоны пишут, как нормальные люди, можно даже прямо в корень /var/log, это ещё лучше, потому что они ротироваться будут автоматически. Но нет. Хозяин, нам нужно больше велосипедов! Глазами не посмотреть, только командой, которую надо из правильного репозитория установить.
Программист же не знает, что логи могут быть гигантскими, и их надо ротировать несколько раз в день, но при этом сохранять. А потом у вас резко заканчивается место на диске, и хрен поймёшь, при нерабочем шеле, где именно засралось. И поди, ищи вот это всё по файловой системе. И вот Докер весь из такой хрени состоит.
Нет, не оправдано. Есть en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard, его не просто так придумали. Не нужно отсебятины. Из-за этого столько хаоса и бардака, что пипец. Каждый кладёт всё, что угодно, куда хочет. И, что более проблематично, приложения и демоны становятся вообще неинтуитивными. Приходится запоминать, что где лежит, вместо того, что бы просто набрать /var/log/docker, и всё. простоя надо принять, что логи ВСЕГДА должны лежать в /var/log/. И если подходить к этому систематически, то качество вашего продукта повысится само собой, потому что вы перестанете изобретать эти сраные велосипеды.
Потому что вы потом pid'ы будете в логи класть, временные файлы писать куда попало, сокеты у вас будут 777, конфиги с паролями 644, а кончится половым секасом несоврешеннолетних ребятушек и прочих представителей флоры и фауны. Не надо так. Это очень bad practice, даже если он сейчас работает.
>> Если это бизнес полностью устраивает, а иначе бы это не допускалось, то не стоит никого осуждать.

В бизнесе тоже полно идиотов.
А я никого не осуждаю, я высказываю мнение и не пользуюсь докером, он мне не нужен и неудобен.
Докер не виноват. Докер, как отображение и в некотором роде высшая точка текущего тренда на то, что софт разрабатывается и деплоится абы как. Ибо с Докером это делать ещё проще. И он способствует говнокодированию по описанным мной причинам. А так — нормальная, удобная штука, если правильно использовать. Без сарказма.
О, вы тоже знаете, что бывают плохие Девопсы?
Ну да. Когда приходит девопс, смотрит на вот это всё, офигевает, и начинает делать нормальный CD/CI. Без докеров и прочей модной хрени. :)
Нет никакого архитектора или сисадмина. Что программиста нафигачил в Докер, то и уехало в продакш. Я даже могу за руководителя сказать: «А зачем нам девопс, если есть контейнер, и он работает?»
Описанные мной проблемы не являются проблемами только на продакшене и говорят об общей культурке программирования, коей не так, чтобы много. Логи в текущую папку класть, пароли и пути хардкодить, экспорт делать куда попало — на тёмную сторону дорога ведёт эта, где Докер в конце.
Вот море молодых колышат супербасы…

Все случаи, когда я сталкивался с использованием Докера, повергали меня в уныние. Это отчаянные попытки не разбираться в том, как что работает, а максимально быстро сделать так, чтобы твой прототип заработал. Мне пофигу, как программист девелопит. Но на практике, даже опытные и хорошие программисты могут вливать тонны хаоса в продакшн своими замашками, взятыми из прототипирования и особенностей разработки, потому что им так удобно. И начинается:
— База в докере, хотя данные не должны лежать в контейнере, что ясно написано в мануалах. Это прямо вот маркер. Если база в докере, значит всё остальное будет ещё хуже. Дальше ssh по паролям сразу в рута для всех пользователей. А чо? Работает же.
— Приложения в режиме сервера разработки, а не режиме сервера приложения. А чо? Работает же.
— Бэкапы? Не, не слышали. А чо? Работает же.
— Приложение запускается только от рута, в том числе потому, что порты низкие и произвольные, хотя так делать нельзя. И сам Докер тоже запускается от рута там, где в этом нет никакой необходимости.
— А где логи? Как нет? Логи — часть контейнера и при пуше оного они перезаписываются? Вот это да!
— Версионность пакетов и батареек? А зачем? Оно же в контейнере и уже собраны. На это нет времени.
— Пересобирать контейнер раз в день, чтобы он стабильно работал? Это норма. Зачем делать ревью кода, если у тебя модуль на Си течёт на 32Gb памяти в день? Проще перезапустить. Зачем разбираться в том, почему модуль рандомно виснет, проще написать отлавливатель зависшего состояния по крону, делать kill -9 и перезапускать. init.d/systemd? Не, не слышали, зачем, есть же cron и скриптоложество. Зачем вообще тратить время на ревью кода, если можно расплачиваться аптаймом, который почти никто не заметит?

И так далее. У меня от этого вытекают глаза. При слове «докер» я инстинктивно хватаюсь за пистолет.

Проблема докера и всех этих новомодных трендов в том, что средний программист становится ещё тупее и ещё ленивее. Он не знает, как что работает, а сама работа сводится к быстрой реализации хоть как-нибудь, лишь бы работало, что распространяется и на код, и на деплой, и на проекты в целом. Тот самый «хуяк-хуяк и в продакшн». Я не против такого подхода для разработки, но когда дело касается продакшена, тут в моём понимании, без вариантов вообще. Даже то, как Докер хранит свои логи, уже указывает на то, что делался он без соблюдения хоть каких-то стандартов, потому что логи должны лежать в /var/log/, а не в рандомном месте ОС.

Люди не с той стороны заходят на процесс разработки/деплоя. Ты не должен передавать в продакшн собранную на коленке магию в контейнере, в которой не разбирается никто, включая тебя, ибо так исторически сложилось. У тебя изначально должен быть «метаскрипт», который, будучи запущенным при определённых условиях, выполнит полную установку и настройку твоего софта и голой ОС. Но ты должен понимать, как, что и почему работает именно так, а не иначе. Я сторонник партии качества в продакшене, а не скорости и удобства. Все эти инструменты: образы ОС с предустановленным софтом, виртуальные машины, контейнеры сделаны для удобства и скорости, но нигде не было сказано, что надо делать на пофиг, лишь бы работало.
Отсутствие девопса или сисадмина в команде никак не оправдывает разгильдяйство с докером в продакшене. А потом начинаются приключения, когда раз в месяц у вас повторяющийся факап, который вместо того, чтобы один раз починить и автоматизировать, каждый раз решается руками, а как решать, знает всего один человек. В голове. Но онжепрограммист, ему некогда заниматься автоматизацией, ему код надо писать.
Ещё раз. Я не говорю, что докер — плохо. Я говорю, что докер в продакшене скорее всего признак лени и пофигизма, что влечёт за собой хаос, падение производительности, а при усложнении системы, постоянные проблемы.
Разработчики не должны выполнять работу DevOps. В противном случае в контейнере всё будет от рута, в корне файловой системы, без внятного понимания того, что и как там происходит, без соблюдения хоть каких-то стандартов и далее по списку. Моё личное мнение: в продакшене не должно быть никаких дополнительных прослоек, обусловленных удобством кого бы то ни было. Всё можно сделать нативно, безопасно, по стандартам и с полным описанием процесса, например, в ansible, который будет полностью конфигурировать софт со всеми зависимостями. Если нужно прямо вот что-то особенное — виртуалки под тем же ansible. Более того, программистов надо периодически пинать на предмет соблюдения стандартов даже в рамках их докеров, потому что они там говна понапихают на соплях, а как это выносить в реальную жизнь, чтобы оно не падало, не понятно, никто не знает, и всем пофигу, потому что это не работа программиста.
Лично мне докер и в разработке выносит всю психику своими перманентными препонами. Терпеть его не могу, хотя в некоторых случаях, он бывает удобен только для скорости разворачивания прототипа на демонстрационном показе.
Все мои основные контакты или уже были в Tg и общие чатики именно там, или резко перешли в него на прошлой неделе. Осталось пара человек, но в целом, его уже можно сносить, потому что с ними общение редкое, можно по телефону/лично. Так что, здравствуй, 1%!
Но я вёл целенаправленную компанию среди людей по переходу из Wa в Tg, потому что Wa — абсолютно конченное говно (было на тот момент) в техническом плане. И остаётся оным с точки зрения спама и прочей ерунды и некоторых технических решений, которые могли придти в голову только идиоту от технологий. И в бизнесе Wa бесполезен. И отношение Wa к разработчикам не выдерживает никакой критики. Так что он идёт лесом.
Если есть группа людей, в которую я вхожу, с огромной долей вероятности, у неё есть общий чатик в Tg. Или по частям. Или лично, да. Не так сложно пнуть десяток человек. Как вариант, попросить кого-то, кто в контакте с другими, пнуть их.
Социальные связи нынче очень дешевые в плане их ценности, если смотреть на каждый день.
Я тоже придерживаюсь такой политики.

1) Если человеку надо что-то донести лично для меня, он сделает это напрямую, а не широковещательным образом. Чем более широковещательно, тем менее ценная и нужная для вас информация.
2) Если человеку надо что-то донести до группы людей, в которую я вхожу, то или мне это не нужно, или он это сделает через канал, к которому я подключён.
3) На практике, 99.9% ваших социальных связей не нужны ни вам, ни вы им. А те, кто нужны, имеются в каком-нибудь доступе: от телефона с смсками, до известно общего чата. В Ig/Fb/Wa не упёрлось. Так и живём.
А там нечего смотреть. И тем более читать. Если это что-то действительно важное (sic!), то перепечатают, а источник проверят другие люди.
Сам, конечно.
На следующей неделе истекут 30 дней с момента безвозвратного удаления моих аккаунтов из Ig и Fb. Как бы ещё избавиться от богомерзкого Wa?

Information

Rating
Does not participate
Registered
Activity