Dmitrii
26.04.2016
13:37:13
Деплоим мы все же с помощью капистрано. Под него много готовых гемов есть на все случаи жизни. А переписывать на плейбуки лень.
Но вообще я рад, что хотябы кто-то разделяет мое мнение по докеру ?
Anton
26.04.2016
13:42:17
На мой субъективный взгляд, докер просто дал сильную популярность контейнеризации и заставил довольно ощутимую часть бэкендеров думать не только о приложении, но и о целостности окружения. У него есть оверхед, но в сравнении с остальными инструментами - он ощутимо проще (ну или возможно, что мне просто так кажется).
Ощутимо проще в плане Get Started
Google
Alexander
26.04.2016
13:44:08
Докер очень нужен, когда есть больше чем 7 сервисов, которые интегрируются друг с другом (7 - число из психологии, число сущностей которое человек может держать во внимании). Если сервисов мало или они не особо интегрированы, то и не нужен вовсе
Dmitrii
26.04.2016
13:44:55
Не совсем понял где сложность в интеграции сервисов между собой?
Если все сделано через ансибль то он легко впихивает обновленные конфиги в нужные ноды на основе inventory файла
Taviscaron
26.04.2016
13:45:44
Dmitrii
26.04.2016
13:46:51
У нас нигде в репозитории ансибля не встретится захардкоженый IP адрес. Все вычисляется через роли и т.д.
И это я считаю залог успеха. Просто добавил в inventory Хосты. Запустил плейбук и готово
Все тоже самое с AWS.
Evgeny
26.04.2016
13:47:43
Taviscaron
26.04.2016
13:47:47
Dmitrii
26.04.2016
13:48:17
Так а что магия? Просто все поделено на группы и все.
В nginx апстрим составляется через j2 шаблон
И все везде в том же духе.
Настоящие проблемы начинаются когда прод в амазоне а стейджинги в хетцнер. Но и здесь я тоже нашел как сделать единый плейбук на все окружения
Google
Dmitrii
26.04.2016
13:51:14
А т.к. при использовании aws нет смысла хардкодить IP т.к. запвришься менять, то их у нас там действительно нет
Alexander
26.04.2016
13:52:11
> Dmitrii
Не совсем понял где сложность в интеграции сервисов между собой?
я про взаимозависимость, когда для изменения параметра в одном серивсе надо поменять еще в 7ми, тогда в ансибле надо мутить абстракции для этого, которые вначале терпимые, а потом начинают требовать все больше и больше внимания
Anton
26.04.2016
13:52:30
Alibek
26.04.2016
13:52:40
А у меня наоборот, в переменных на хост заданы и накатка ip-адресов и маршруты и имена хостов (своя виртуализация/изоляция, не aws/digitalocean/azure)
Dmitrii
26.04.2016
13:55:21
Alexander
26.04.2016
13:55:41
да, я в курсе
Dmitrii
26.04.2016
13:55:51
А если еще использовать теги, то как я писал выше - обновление параметра будет занимать 10 секунд
Alibek
26.04.2016
13:55:53
Alexander
26.04.2016
13:56:00
и это мейнтейнить сложно, когда проект большой
Alibek
26.04.2016
13:56:16
накатить везде docker и наступит счастье?
Alexander
26.04.2016
13:56:29
но пока у вас проект не большой, то мне можно верить только на слово :)
Dmitrii
26.04.2016
13:57:00
Alexander
26.04.2016
13:57:34
я там ввел критерий - больше 7ми сервисов завязанных серьезно друг на друга
не MVC приложение -> кэш -> база а что-то понавороченней
Dmitrii
26.04.2016
13:58:18
Так это. Может это проблема "микоосервисной архитектуры" и кто то "переупоролся" ею?)
Alibek
26.04.2016
13:58:25
Если одни хосты в openvz, другие в lxc, третьи в azure, четвёртые в железе, пятые на винде, то какой профит тут от докера? К пример?
у
Anton
26.04.2016
13:58:36
Это чем же?
Ну докер тебя вообще изолирует от окружения вендора, поэтому тебе пофиг на всё, лишь бы докер поднялся.
Alibek
26.04.2016
13:59:03
нифига он не изолирует, как минимум он упарывается на openvz и lxc
ядра разные
Google
Alexander
26.04.2016
13:59:43
> Dmitrii
Может это проблема "микоосервисной архитектуры"
да и именно поэтому Докер и сделали, как решение этой проблемы
Dmitrii
26.04.2016
13:59:53
Уже 6 сущностей
Anton
26.04.2016
14:01:03
Alexander
26.04.2016
14:01:32
вам тогда не надо беспокоится, у вас почти классическая трехзвенка, ей не надо докер
под сервисом я имею в виду отдельную изолированную сущность
в смысле микросервис
Konstantin
26.04.2016
14:02:31
а потом у них случился контроль версий окружения, а потом они захотели страшно - cgroups, а потом они поняли, что никакая дедупликация памяти у гипервизора не даст такого профита, как какой-нибудь вариант chroot, а еще встал в всю голову вопрос service dicovery
Alexander
26.04.2016
14:03:04
если приложение монолитное, то там ансибл рулит докер ваще, так что вы все правильно делаете
Dmitrii
26.04.2016
14:04:08
Так я еще час назад выше писал что многие используют докер, хотя их проекты много проще чем даже наши
Alexander
26.04.2016
14:05:07
это глюк :)
и желание попробовать новую технологию
Magistr
26.04.2016
14:05:39
докер нужен когда у тебя 100 инстансов и их надо утилизировать под 90%
Alexander
26.04.2016
14:05:52
ну или еще что-то из этой серии
Alibek
26.04.2016
14:06:32
А можно поподробнее? Я что-то не очень понял кейс.
Вот пришли вы в новую организацию, а там уже давно используется openvz под прод и прод не абы какой, а постоянный tcp от 130тыс-150тыс клиентов, в котором жить и жить ещё до полного перехода на свежее ядро, и параллельно развёрнута половина хостов в lxc с целью слезть с openvz, в будущем. Там в такой тут докер применим, тут нужна именно система управления конфигурациями или менять всё и вся (в условиях ограниченных ресурсов это не так-то просто сделать, бабло решаетЪ).
"в такой"/какой
Dmitrii
26.04.2016
14:08:39
Alibek
26.04.2016
14:11:12
Профит докера не столько утилизации (это следстиве функций cgroups, которое наследует lxc, который наследует docker), а в возможности фиксировать состояние (версионность, реализованная по аналогии с git).
Dmitrii
26.04.2016
14:12:03
Так состояние можно зафиксировать и с помощью Ansible + Git
Magistr
26.04.2016
14:12:28
Google
Dmitrii
26.04.2016
14:14:23
Если честно, до сих пор так и не увидел реальное объяснение или юзкейс для применения докера, где бы он не выглядел как лишняя сущность
Я не докеро-хейтер, просто не привык пихать в продакшен все подряд
Magistr
26.04.2016
14:15:19
запаковать говнокод вот идеальный юзкейс
Alibek
26.04.2016
14:20:21
Так состояние можно зафиксировать и с помощью Ansible + Git
Вот выше сказано - запаковать говнокод, и зафискировать его с нумером. Ансибл не фиксирует состояние, он фиксирует конфигурацию, что-бы зафиксировать с его помощью стостояние, надо всё окружение тоже вести у себя (например, срезы репозиториев (deb,rpm) с пакетами на момент времени).
Dmitrii
26.04.2016
14:22:09
Ок. Согласен, правда про си демоны опять же я выше уже писал, что это вполне себе юзкейс.
Но можно ли сделать тоже самое без докера?
Ведь LXC контейнер это просто директория с файлами.
Ansible + Git + Tar
Magistr
26.04.2016
14:24:31
хмм надо побольше про lxc почитать
Alibek
26.04.2016
14:24:40
Можно, можно снапшотами на fs можно tar'ом.
Dmitrii
26.04.2016
14:25:14
Вооот. Так стоит ли тащить целый докер ради куска говнокода?
Alibek
26.04.2016
14:27:43
ну в докере это "conf-managment+git+tar" уже решено, и возможно даже лучшим образом, но под это надо общее окружение (как минимум ядро с cgroups и совместимый lxc).
Dmitrii
26.04.2016
14:29:19
У вас на каждом проде разное ядро и несовместимые LXC?
?
Alibek
26.04.2016
14:29:51
не у меня - у жизни, она такая сука разнообразная ))
Anton
26.04.2016
14:31:47
Так мы шо, пришли в итоге к тому, что надо только ансибл с гитом?
Dmitrii
26.04.2016
14:32:18
?
Anton
26.04.2016
14:32:23
В идеальном мире с красными велосипедами, я про него
Alibek
26.04.2016
14:32:32
если всё как в жизни - то да ))
или проектировать на века ))
Google
Alibek
26.04.2016
14:33:33
Когда там квантовые пк дома у каждого?
Anton
26.04.2016
14:35:34
А если смотреть в рамках пары машин с кучей разных приложений, то anisble + lxc + git?
Alibek
26.04.2016
14:37:41
пары машин? Речь о железках с 48core/1TiB/100TiB? Это я к тому, что ресурсы решают
на таких железках может быть за 100 контейнеров
Andrey
26.04.2016
14:38:29
nginx 1.8.x -> 1.10.0
Anton
26.04.2016
14:38:35
Ага, о здоровых таких машинах с конями. (Я про идеальное средство виртуализации сейчас)
Dmitrii
26.04.2016
14:38:57
Антон, LXC это не виртуализация как бы
Anton
26.04.2016
14:39:42
ээээ
Dmitrii
26.04.2016
14:39:50
Внкзапне
Anton
26.04.2016
14:40:09
Ага
THE
26.04.2016
14:40:38
Добрый день, есть ли еще группы для фронтеншиков
/stat@comstatbot
Combot
26.04.2016
14:40:39
comstatbot.xyz/chat/-1001030317489
Alibek
26.04.2016
14:41:20
ну если у вас бд под которую надо 1TiB/10TiB и конкуренция будь здоров, то тут вам не до контейнеров будет. ))
Aleksandr
26.04.2016
14:45:43
/stat@comstatbot
Combot
26.04.2016
14:45:43
comstatbot.xyz/chat/-1001030317489
Anton
26.04.2016
14:47:57
/stat@comstatbot
Combot
26.04.2016
14:47:57
comstatbot.xyz/chat/-1001030317489
Alibek
26.04.2016
14:49:51
Вообще, с точки изоляции процессов lxc начал свою путь на полку истории когда в systemd появился nspawn и скорее всего docker тоже заменить внутри lxc на nspawn
Dmitrii
26.04.2016
14:50:37
О знаете какие грабли у нас были с LXC
Вспомнил
Alibek
26.04.2016
14:50:51
Ленард уже везде пустил свои корни.