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 вполне можно советовать коллегам по цеху.

Участники этого выпуска:

comments powered by Disqus