Dmitry
Почему все так любят предлагать нерешения проблемы 😂
Timur
И не нужно думать ни о каких зависимостях
Timur
Просто описываете декларативно свою инфраструктуру, а он ее делает
Timur
Максимально параллельно
Timur
Что там от чего зависит - вас вообще волновать перестаёт
Dmitry
Даже если это так, к сожалению, это не решает основной проблемы, когда ansible деплой тесно связан с деплоем инфраструктуры
Dmitry
деплой любого DB, message queue итд и нецелостное решение не поможет
Dmitry
elasticsaerch + app1 + ECS, например
Timur
И в чем проблема?
Dmitry
я же хочу задеплоить сначала vpc, потом 3 виртуалки для ES, конфиг ES, а уже потом потом виртуалку для app1, конфиг для app1 и ECS одновременно
Dmitry
И в чем проблема?
Я, лично, не вижу возожности это сделать в один подход
Timur
Разворачиваете инфраструктуру терраформом и накатываете роли параллельно
Dmitry
как app1 узнает endpoint для ES?
Timur
ну и какой failure rate при таком подходе?
Зависит от того, насколько хорошо продуман дизайн
Dmitry
как app1 узнает VPC?
Timur
как app1 узнает VPC?
Зачем апликухе vpc?
Dmitry
одни вопросы)
Dmitry
когда происходит запуск ec2 ты должен указать vpcid, subnet, итд
Dmitry
И?
ты не сможешь его указать если VPC еще не создан
Dmitry
тоже самое с подсетями
Timur
А вам и не надо это делать
Timur
Терраформ сделает
Dmitry
ок, это частный пример. в случае частного примера где мы деплоим раннер гитлаба это нужно, все равно будет. как насчет ES/DB endpoint?
Dmitry
Что именно нужно будет? Я не очень понимаю суть вашего вопроса
приложение должно подключиться к DB, ES или Message queue. Как оно узнает его если у нас нет никакой гарантии последновательности?
Dmitry
ответ простой: нам необходимо все стадии делаь вручную
Dmitry
сначала тераформ, потом все остальное
Dmitry
Но это всего лишь 1 прстейшая зависимость. Отсюда и вопрос, когда их 10 или 20 или 100
Timur
Как сделать солюшен таким, чтобы минимизировать зависимости?
Timur
Так это уже не вопрос ансибла
Timur
Если речь идёт о зависимостях между микросервисами, то для этого тоже не ансибл нужен, а другие решения
Timur
Ансибл тут вообще параллелен
Timur
Хендлинг зависимостей между сервисами - не его задача
Dmitry
Да, все верно)
Dmitry
Спасибо за мнение
Dmitry
Пора бежать, чуть позже еще появлюсь
Timur
Такое впечатление, что статью какой-то откровенный нуб писал, который ансибл неделю назад впервые увидел
Надо же. Не нуб, а целый Senior Architect for Red Hat Consulting 🤟 https://www.ansible.com/blog/author/allen-eastwood Куда катится Red Hat...
Sergey
ответ простой: нам необходимо все стадии делаь вручную
Ну если так, то добро пожаловать в боль и унижение. Вообще смею напомнить, что Ансибл - это про идемпотентность. Правильно написанный плейбук как бы ни запускали - выхлоп будет строго один: тот, что описан плейбуком. Ну и развёртывание VPC и окружения в нём Ансиблом было возможно уже в 2015 😉
Sergey
Причём в multiregion-варианте.
Dmitry
)) из контекста, конечно вручную не вариант. Все давно повторяемо, вопрос зависимостей и порядка
В целом awx workflow решает проблему, но в идеале хочу на ядре провернуть
Dmitry
Ну если так, то добро пожаловать в боль и унижение. Вообще смею напомнить, что Ансибл - это про идемпотентность. Правильно написанный плейбук как бы ни запускали - выхлоп будет строго один: тот, что описан плейбуком. Ну и развёртывание VPC и окружения в нём Ансиблом было возможно уже в 2015 😉
Надеюсь проблема ясна, плейбуком достаточно сложно описать когда можно запускать другой плейбук асинхронно а когда необходимо блокирование. Если плейбук А не зависим от плейбука Б то ждать выполнения Б бессмысленно
Timur
В декларативном и лаконичном подходе к описанию инфраструктуры
Timur
Ну и immutable
Timur
Т.е. описали в темплейте все, что вам нужно - от vpc и подсетей до деталей конфигурации машинок и всех остальных облачных сервисов, запустили - и все поднялось в нужном виде в нужной последовательности
Timur
Понадобилось внести изменения в конфигурацию (например добавить или удалить пару машинок) - изменили один параметр в шаблоне и запустили роль ещё раз. Терраформ внесёт именно те изменения, какие нужно
Timur
По сути Терраформ - это такой ансибл для облачных инфраструктур
Dmitry
Кстати, в чем цимес терраформа?
в мифической кросс-платформенности)
Nklya
в том что если не описывать управление инфраструктурой в коде, получится говняканье в веб интерфейсе облака
Timur
@arno49 тут за терраформ говорят. Твой выход 😉
George
в мифической кросс-платформенности)
+1. Она не мифическая, но чтобы ее достигнуть придется кучу бойлерплейта написать
Dmitry
+1. Она не мифическая, но чтобы ее достигнуть придется кучу бойлерплейта написать
Мифическая в том плане что можно с таким же успехом нормально использовать и, что самое главное, понимать родные средства типа Cloudformation
Denis 災 nobody
Только терраформ от поставщика не зависит...
Dmitry
Только терраформ от поставщика не зависит...
А в чем разница где писать бойлерплейт?
Denis 災 nobody
А вдруг надо переехать на всферу?
Dmitry
Время в конечном итоге тратим и там и там
Denis 災 nobody
Амазон в полном блоке ркн например
Dmitry
А вдруг надо переехать на всферу?
Опять писать бойлерплейт в террафорсме)
Nklya
вмваре отвратительно поддерживается
Denis 災 nobody
Есть вообще их сравнение?
Denis 災 nobody
Типа props-cons
Nklya
клаудформейшен сраное говно, зачем его использовать
Denis 災 nobody
Nklya
Есть вообще их сравнение?
В интернете много чего есть) Каждый хвалит свое. https://www.terraform.io/intro/vs/cloudformation.html
Denis 災 nobody
Офсайтов не надо, понятно что там они лучшие
Nklya
вот другое сравнение, типа непредвзятое https://hackernoon.com/your-infrastructure-as-code-cloudformation-vs-terraform-34ec5fb5f044
Denis 災 nobody
клаудформейшен сраное говно, зачем его использовать
Пруфы где? Есть претензии - выкладывай. Не осилил - не гони. А так многим интересно похоже
Nklya
я его только слегка потыкал пару лет назад, поблевался и пошел юзать тераформ. Говорят что сейчас он стал сильно лучше. Тогда он был монструозным по абстракциям и размеру кода. И код на json
Denis 災 nobody
Знать минусы порой важнее чем плюсы
Denis 災 nobody
Я вот знаю минусы заббикса, но они мне не мешали его использовать много лет
Dmitry
Есть вообще их сравнение?
Плюс cloudformation в его нативности, и в том, что это целая система управления, в то Время как Терраформ Это всего лишь надстройка над API. Весь бенефит терраформа, на мой взгляд его синтаксисе, И то многие люди недовольны. Я не вижу необходимости использовать инструмент который не факт что ещё будет гарантировать кроссплатформенность. Но это дело каждого и холивар не моя стихия...