Ansible
Во многих наших выпусках мы говорим о Chef и других сложных системах управления конфигурацией, но Ansible традиционно оставляем в тени. Сегодня мы исправляем эту ошибку.
Что такое Ansible по большому счету? Это "безагентный" исполнитель команд по SSH и WinRM, написанный на Python. Поверх этого исполнителя команд надстроена система инвентаризации, сбора фактов и оркестрации. В общем, Ansible напоминает "fabric на стероидах".
Многие поделились тем, что Ansible гораздо проще, чем Chef/Puppet/Salt, что делает его применимым в компаниях с очень ограниченными ресурсами. Ну и для небольших проектов, в которых применение более сложных инструментов будет оверкиллом. Но есть, правда, люди, поднимающие при помощи Ansible довольно сложные окружения. Например, Алекс Чистяков разворачивает стек HBase (Hadoop и товарищи). Поэтому нельзя сказать, что Ansible в чем-то существенно ограничен.
Но есть одно применение, для которого Ansible подходит особенно хорошо: Если вы "приходящий админ", или по другим причинам часто исследуете проблемы на чужих машинах, то безагентное средство управления, поддерживающее сбор фактов о целевой системе может оказаться незаменимым.
Почему еще может быть интересно использовать Ansible:
- Для разворачивания autoscale групп в Amazon
- Как дополнение к Chef/Puppet/Salt
- Для разных задач автоматизации сборки
- Как замену capistrano, для принесения кода на продакшен
- Внутри Dockerfile для настройки Docker контейнеров
- Для разворачивания Docker контейнеров
Еще важно, что в составе Ansible поставляется большое количество готовых playbook-ов для настройки разного софта. И они довольно качественные. К сожалению, то что сделано сообществом в Ansible Galaxy, как правило, сделано значительно хуже.
В общем, сейчас Ansible вполне можно советовать коллегам по цеху.
Участники этого выпуска:
- Алекс Чистяков
- Илья Беда
- Олег Сорока
- Кирилл Мокевнин
- Денис Хабаров
- Вячеслав Кузнецов
- Константин Назаров