All streams
Search
Write a publication
Pull to refresh

Comments 8

Хорошей альтернативой AWX может выступить https://semaphoreui.com

К тому же он поддерживает инструменты IaC terraform (opentofu) и требует меньше ресурсов для развертывания.

Когда (пару лет назад) прорабатывали возможность переезда с awx на semaphore то одним из существенных препятствий, явилось отсутствие в семафоре потока управления процессами (workflow) - там где в awx можно в вэб-морде натыкать из разных сценариев работающий процесс, с ветвлением, условиями и т.п., в семафоре все приходилось делать в рамках одного сценария (плейбука) связывающего другие. Т.е. все процессы пришлось описывать в yaml (как если-бы это все запускалось просто при помощи ansible-playbook, точнее оно и запускалось). В остальном семафор очень даже хорош.

Я бы еще добавил rundeck, кмк более гибкий инструмент чем semaphore:

https://rundeck.com

автор (Михаэль Дехан/Michael DeHaan), кстати, пытался дважды переписать ansible: сначала проект opsmop https://github.com/opsmop/opsmop, потом jetporche https://github.com/jetporch/jetporch

но оба проекта забросил (а на jetporche были надежды, интересно как бы быстро работал ansible на rust'е)

интересно как бы быстро работал ansible на rust'е)

Можете собрать и потестить. Рабочий вариант уже есть. Большая часть автоматизации никакой особой скорости не требует. Благо, не 3D-моделирование автоматизируют обычно. Скорость сценариев автоматизации обычно упирается в скорость API сервисов, с которыми взаимодействует тот же Ansible, скорости ввода-вывода, файловые операции, задержки на сетевой обмен и т.п. Все это никак не решается растом.

да возможно дойду как-нибудь, жалко что проект загнулся, вокруг ansible уж слишком большая инфра образовалась -- с наскока такое не перепишешь (да и не нужно, для инстурмента автоматизации: гибкость > скорость)

насчет скорости да, но даже несмотря на это разница в скорости будет существенная: я в качестве PoC переписывал модуль для ansible на Rust (slurp, который просто читает содержимое файла и кодирует в base64), вот ссыль https://debops.ru/ru/posts/crates_ansible_module/
tldr:
- для маленького файла модуль на питоне 0.21s, на расте 0.03s
- для большого файла модуль на питоне 23.41s, на расте 16.87s (тк питон дергает Сишную библиотеку)

все равно очень много времени утекает на ssh, выполнение модуля и т.д
плюсом в ansible нет тру многопоточности (привет GIL)

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

на удивление годная статья, без всякого этого самого.

Sign up to leave a comment.