LINUX.ORG.RU

В чем плюсы контейнеров для разработки?

 ,


3

3

Вот есть классический подход: наваял тулчейн (например, с помощью crosstool-ng), напихал туда нужных библиотек и таскаешь его с собой между системами в виде архива.

Сейчас модно нахерачить целый докер образ и таскать его с собой.

Вопрос: в чем плюс подобного подхода?

Я не троллю, я просто разработчик старой школы, думаю изучить всякие новые тулзы и прикидываю, стоит ли оно того.


Ответ на: комментарий от anonymous

я не спрашивал тебя, как бы ты построил систему и как дела в твоем выдуманном мирке. я описал архитектуру системы, которая уже есть в продакшне и которую нужно воспроизвести на тестовом окружении в количестве, ну минимум трех штук на тестировщика и по одной-две на каждого разработчика. давай уже, пердоль свои системд скрипты или чем ты там предлагал заменить контейнеры

Я точно так же могу тебе придумать «архитектуру системы, которая уже есть в продакшне», где софтины общаются друг с другом через dbus, /dev/shm, и считают нейросети на видеокарте, и ваши девопсы порежут себе вены в процессе тестирования и деплоя такой системы. Причем, указанные мной особенности функционирования изменяются намного сложнее, чем добавляются конфигурации портов/хостов в самом софте.

byko3y ()
Ответ на: комментарий от ugoday

Согласен, контейнер тут к месту.

Однако, если тестовое и рабочее окружение должны быть максимально унифицированы, то докер на CI означает докер и в проде

А я не совсем согласен. Это можно сделать с докером, это можно сделать без докера. Даже не так: это делают с докером, это делают без докера.

byko3y ()
Ответ на: комментарий от byko3y

может и можешь, только тебя никто не спрашивает.

вопрос был простой: как «поднять на одном теством узле 25 экземляров сервиса, каждый из которых слушает 80-ый порт и прогнать разные интерграционные проверки» и луддитам неплохо бы на него ответить перед тем, как начинать придумывать свои сумрачные системы

anonymous ()
Ответ на: комментарий от anonymous

это если ты круды тестируешь, то у тебя проблема в данных с продакшна, да и то, если у тебя мозгов не хватает кейсы продумать и данные подготовить

У ютьюба проблема есть, у тебя проблемы нету. Может поучишь их, как системы масштабируемые писать и тестировать?

byko3y ()
Ответ на: комментарий от anonymous

даёшь его координаты разработчику чтобы он там делал exec иди шо там разработчики с ними делают
и ты бы знал это, если бы имел хоть какое-то представление о докере

Зато мне очень нравится твое представление об отладке приложений. Если контейнер не был специально настроен-собран под отладку, то ничего ты не сделаешь, для разраба это черный ящик. И это я говорю про локальную отладку. Для удаленной нужно будет прыгать по своему под каждый язык, потому что отладчик-клиент должен будет как-то узнать параметры отладчика-сервера, который он не запускал.

byko3y ()
Ответ на: комментарий от anonymous

бле, чувак, ты хоть что-нибудь в своей жизни написал? ну хотя бы рядом стоял когда пацаны писали? ну я не знаю, может в родне у тебя есть кто-то, кто видел как пишут реальные программы? один раз настраивается. и пишется один раз

Я видел как комп включают. Ну а так — три книжки по программированию прочитал, я много знаю.

byko3y ()
Ответ на: комментарий от anonymous

вопрос был простой: как «поднять на одном теством узле 25 экземляров сервиса, каждый из которых слушает 80-ый порт и прогнать разные интерграционные проверки» и луддитам неплохо бы на него ответить перед тем, как начинать придумывать свои сумрачные системы

Никак. Не делайте таких систем, это плохая архитектура даже для уровня индусов. Ты же не сможешь дать ответ на простой вопрос: зачем иметь 25 сервисов на 80 порте?

byko3y ()

Отвязка приложения от среды разработки. Ты даже случайно не можешь использовать какой-то пакет из хост системы. И не только ты, но и твои зависимости, исходный код которых ты не контролируешь.

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

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от byko3y

Благо для кого?

да для кого угодно, только не говори что ты испытываешь эстетическое наслаждение разбирая в очередное говноподелье очередного ведосипедостроителя который вместо того чтобы предлагать свои решения в виде патчей на схожий проект который объективно все равно будет лучше чем его эрзац, продолжает уныло накидывать свои башпортянки, а то и чего другого возьмут, например мертвоперл или же это будет солянка из мертвоперла, пыхпыха и башпортянок, или еще какая-то неведомая херня и все это говно тебе достается в наследство на поддержку, без документации, без общего подхода, естественно тестами такой код не покрыт оно же на коленке пишется по большой нужде, от какого-то уникума которому заняться нечем было на работе. Уж лучше докер ей богу.

Я вижу благо лишь для фирм, которые нанимают бездарных кодеров и чудом запускают их поделия в контейнерах.

У тебя походу какая-то детская травма. Как одно вообще соотносится с другим, вы тут все противники докера это повторяете как мантру. Но инструмент то тут чем виноват? Это надо всяких топ менеджеров бездарей, да бесполезных хэар точилок и вообще индустрию с кумовством и наплевательским отношением к подбору персонала или хищническим оскалом капитализма во всем этом обвинять, но никак не докер.

И то это только серверный софт, клиентский в таких случая предпочитают писать на браузере.

nobody cares как говорится, пиши что хочешь и на чем хочешь лишь бы другим не мешал.

ну и далее по тексту ты скатываешься в какие-то местечковые примеры клиентского толка, я тут уже не однократно писал что докер в принципе для этого если и можно использовать, то не нужно, он не замена пакетному менеджеру или виртуалочкам, он не призван и быть заменой скиптам или еще как его там сейчас пытаются использовать. Он нужен по сути для доставки и развертывания действительно масштабных решений, там где просто скриптов уже мало или нужно что-то придумывать над скриптами чтобы одни и те же действия производились не на одном сервере, а на всем парке и все это имело простой удобный единообразный интерфейс, это «что-то» и есть докер.

anonymous ()
Ответ на: комментарий от byko3y

разработаны гуглем

Если у тебя «один сервис - один сервер», то тебе вообще контейнеры не нужны

Докер нужен именно тогда, когда сервисов нужно запустить много, когда один сервис работает в нескольких экземплярах на одной машине

А взять и почитать, что пишет гугл - это слишком по-хипстерски? У гугла была не только задача утилизации ресурсов, но и абстрагирования от железа (с их масштабами нужно слишком много ног для железок), а следовательно и оркестрация. Контейнеры в данном случае дают лучшую управляемость даже в случае один сервер - один сервис.

winlook38 ★★ ()
Ответ на: комментарий от byko3y

Баш нужен только потому, что ничего лучше для мусорки из утилит не придумали, а люниксоиды необучаемы, куда же им новые инструменты изучать. Для нормальных специалистов придумали новый инструмент докер для абстрагирования от помойки.

winlook38 ★★ ()
Ответ на: комментарий от byko3y

Усатый лари тоже не был программистом, так бывает, люди без ученной степени в компьютер сайнс делают полезные и жизнеспособные вещи. Я вообще придерживаюсь взгляда что программистом по большей части может быть любой, главное чтобы у него были определенного толка личностные качества.

Ну вы опять перепрыгиваете с пятого на десятое. Как это вообще относится к тому что докер плохой инструмент. Ошибки есть у всех, не считаете прогрессом возможность быстро развернуть инфраструктуру единожды написав ее правильное заворачивание в докер, а как по мне это заметный прогресс в плане избавления от бессмысленной рутины как минимум. Не считаете что унификация это хорошо, тоже вопрос спорный, лично для меня это скорее плюс чем минус.

anonymous ()
Ответ на: комментарий от byko3y

Поддерживается и вместо того чтобы городить свой собор, можно просто взять докер и напатчить его так чтобы он работал в этих легаси системах, во-первых это будет отличный плюсик в карму, во-вторых таких специалистов любят все, резюме станет куда весомее. А от того что вы напишите свою безымянную систему доставки и деплоя прибитую гвоздями к конкретно вашей ситуации вы ничего не поимеете кроме геморроя с ее поддержкой, ну если только в этом и не есть суть вашей деятельности, чтобы привязать определенный проект или рабочее место к себе, чтобы без вас уж точно не обошлись.

anonymous ()
Ответ на: комментарий от byko3y

Почему ты считаешь, что, раз софт завернули в контейнер, то без контейнера его не запустить? Потому что без контейнера тебе придется разбираться как его запустить, а ты слишком стар для этого?

winlook38 ★★ ()
Ответ на: комментарий от byko3y

Коротко: на самом деле готовая автоматизация докера заканчивается очень быстро

Это общие слова, а претензия «в докере сложно запустить gajim» вызывает только усмешку.

ugoday ★★★★★ ()
Ответ на: комментарий от byko3y

Это можно сделать с докером, это можно сделать без докера

Но с докером это делается проще, быстрее и надёжнее. А так, да, можно и без докера, если сроки не жмут и денег не жалко.

ugoday ★★★★★ ()
Ответ на: комментарий от byko3y

А вот поблагодарю, хорошее уточнение. Однако я считаю свой опыт релевантным индустрии в целом, хотя и готов поверить, что есть уголки: аэрокосмическая отрасль, секретные банки, встроенная техника, где всё совсем-совсем по другому.

ugoday ★★★★★ ()
Ответ на: комментарий от byko3y

Неофиты не значит что вообще люди с улицы, скорее просто новички у которых опыта поменьше, смогут со скрипом и погружением. Вообще все зависит от человека в большей степени, некогда носить пиццу не приговор это никак ни лакмус на профпригодность.

anonymous ()
Ответ на: комментарий от byko3y

Никак

QED

Не делайте таких систем, это плохая архитектура

обосравшегося забыли спросить

Ты же не сможешь дать ответ на простой вопрос: зачем иметь 25 сервисов на 80 порте?

Смогу. Но тебе – не хочу

anonymous ()
Ответ на: комментарий от byko3y

ну так ептеть, а ты что хотел? Бизнесу пох. на твое «искусство программирования» да и вообще всем пох. на то, какой ты крутой кодер. Все хотят видеть фичи и деньги….

romanlinux ()
Ответ на: комментарий от ugoday

встроенная техника

как ты думаешь, билды для эмбеддеда собираются на локальных тачках разработчиков? а билд сервер должен иметь одинаковый набор библиотек для разных плат?

anonymous ()
Ответ на: комментарий от romanlinux

А в чём крутость и искусство программиста-то? В написании 100тысячный раз баш-скриптов для реализации того что уже является стандартной опцией любой системы?

Можно еще себя крутым математиком считать, деля числа столбиком.

alpha ★★★★★ ()

Делаю copy/paste своего сообщения из соседнего топика:

Дело не в chroot’e. Дело в том как его используют сейчас подавляющее большинство погроммистов на сервере. Мне иногда плакать хочется когда я вижу такое.

Какие то виртуализации, контейнеры, кубернетесы, совершенно немыслимо кривые кластеры из говна и желудей… Рядом сидит шизофреник-дегенерат (под виндой и с putty, ага), который гордо называет себя devops и утверждает что вот сам, один, в одиночку управляет HA установкой из 20ти серверов, потратил на ее установку 10 минут нажав 10 раз на кнопку Next. Не то что эти ваши бородатые одмины-тормоза которые всю жизнь только штаны протирают. А так то вообще он курсы на Ютубе закончил и сразу понял что ничего сложного во всем этом нет.

Ах да, и как правило все это он делает для того чтобы его коллеги (такие же шизоиды) развернули связку java + MariaDB для обработки 5000 HTTP запросов в сутки. И вот это сейчас был пример из реальной жизни.

(Но это все конечно зависть с моей стороны)

alex07 ()
Ответ на: комментарий от project

Дело в том, что средний возраст лоровца неуклонно растёт. Поэтому мнения «всех стариков (старше сорока) надо отправлять на колбасу, чтобы не мешали молодым» постепенно замещаются на «камьпютеры-мампютеры, работать надо!!».

ugoday ★★★★★ ()
Ответ на: комментарий от project

Может, я и ненастоящий сварщик, но твои рыдания мне видятся куда более шизоидными, чем всё, что ты здесь описал.

А ты девопс?

Потому что я до сих пор хочу услышать внятного объяснения причины запуска JVM на докере.

Причем обычно это так: железо - AWS (виртуализация 1) - ОС - Докер (виртуализация 2) - JVM (виртуализация 3).

То есть по сути накладывается три слоя виртуализации, если это не шиза, то я не знаю что шиза.

P.S. С другой стороны я понимаю что для того чтобы реализовать тот же chroot штатными средствами JVM надо немного углубиться в изучение настройки машины, а не лепить горбатого на Spring Boot.

alex07 ()
Последнее исправление: alex07 (всего исправлений: 2)
Ответ на: комментарий от alex07

реализовать тот же chroot

А теперь на всем кластере. А завтра на другом.

Сколько будешь делать?
Во сколько час своей работы оцениваешь?

Как думаешь, сколько времени уйдет у джуна с ансиблом в руках?
Как соотносишь свой рейт с рейтом джуна?

winlook38 ★★ ()
Ответ на: комментарий от alex07

причины запуска JVM на докере.

Вам нужно, чтобы на целевой системе была нужная JVM строго определённой версии. Докер — способ обеспечить это.

Докер (виртуализация 2) -

Докер это не виртуализация.

если это не шиза

Хорошие новости, это не шиза, а всего-лишь ваша некомпетентность. Тоже неприятно, но лечится гораздо проще.

ugoday ★★★★★ ()
Ответ на: комментарий от byko3y

Это можно сделать с докером, это можно сделать без докера.

Ага. То есть против самой идеи легко воспроизводимых окружений ты ничего не имеешь, только против конкретной ее реализации докером? Уже хорошо.

Nervous ★★★★ ()
Ответ на: комментарий от ugoday

Как бы да, но… Я в свои 44 считаю себя отстающим, закоснелым и плохо усваивающим новые технологии. У меня много коллег похожего возраста с похожими проблемами - надо заставлять себя врубаться в новые идеи и подходы, хотя в юности хер стоял оно как-то само происходило. Но вот я захожу на ЛОР - и самооценка просто выстреливает в небеса на фоне персонажей типа «пень гнилой замшелый». Сколько им, 70? 90?

project ()
Ответ на: комментарий от alex07

Воу-воу.

AWS (виртуализация 1)

true – таки да, в амазоне в основном виртуалки, но можно и bare-metal сервак достать.

Докер (виртуализация 2)

false, докер это изоляция, а не виртуализация.

JVM (виртуализация 3).

false, виртуализация, да не та.

Ты путаешь виртуализацию и абстракцию. Да, там слоев абстракции наложили будь здоров. И это и хорошо, и плохо. Хорошо тем, что можно автоматизировать рутинные операции, это упрощает контроль. Но так же это скрывает детали и дает возможность некоторым людям нагородить говно совершенно не напрягаясь.

реализовать тот же chroot штатными средствами JVM надо немного углубиться в изучение настройки машины, а не лепить горбатого на Spring Boot.

Зачем chroot в JVM? Там и так все хорошо изолировано.

cocucka ★★ ()
Ответ на: комментарий от winlook38

Как думаешь, сколько времени уйдет у джуна с ансиблом в руках?

Если вы не заметили, я ничего не имею против джунов, ансибла и докера. Более того, я сам все эти три вещи использую ежедневно.

Я выступаю против того чтобы джуны писали свои ансиблы и докерфайлы не имея ни малейшего представления о том как работает ОС. Которые, как показывает практика, по итогу никто кроме этих же джунов запустить не в состоянии так чтобы оно работало.

alex07 ()
Ответ на: комментарий от ugoday

Вам нужно, чтобы на целевой системе была нужная JVM строго определённой версии. Докер — способ обеспечить это.

Да вот как же без докера то все это делалось до сих пор? Человек умеющий работать с JVM обеспечит вот это гораздо меньшими усилиями штатными средствами самой JVM. И с гораздо меньшим оверхедом.

Опять же, если следовать политике «Докер — способ обеспечить это.», все что угодно есть способ обеспечить это, вплоть до выделения отдельного сервера. Другое дело что есть один или два способа обеспечить это с наименьшими затратами и так как рекомендует производитель, этот момент почему то никто не учитывает.

Докер это не виртуализация.

Да да, хорошо, мне уже второй раз на это указывают. Я уже осознал свою ошибку, покаялся и исправился. По сути аргументы будут какие то?

Хорошие новости, это не шиза, а всего-лишь ваша некомпетентность. Тоже неприятно, но лечится гораздо проще.

Да уж куда мне…

alex07 ()
Ответ на: комментарий от project

Сколько им, 70? 90?

Боюсь всё ещё хуже: им 25 и они ругают новые технологии, чтобы выглядеть старше. Господа, очнитесь, это так не работает. Лучше попробуйте отпустить бороду. Это тоже не сработает, но вы будете выглядеть менее глупо.

ugoday ★★★★★ ()