Ansible - язык автоматизации, помогающий автоматизировать и ускорить выполнение рутинных задач. Также выполняет роль описания вашей IT инфраструктуры благодаря использованию файла инвентаризации (inventory). Автоматически выполняет задачи используя Ansible Playbooks.

Идеально подходит для реализации модели CI/CD.
Также плюс, который выявлен в процессе использования — это то, что один раз написали Ansible Playbook и уже потом через год не надо вспоминать, как и что вы там делали, как это иногда бывает при ручной установке чего-либо.

ansible tower
Платный фреймворк для ansible от RedHat для управления, защиты автоматизации Ansible с использованием UI интерфейса и RESTful API.
Где применяется
Применить Ansible можно для реализации следующих задач:
- Выкладка приложений
- Конфигурация ОС или приложений
- Автоматизация рабочего процесса
Безагентная архитектура
Преимущество Ansible заключается в том, что не нужно на каждый управляемый сервер устанавливать какой-либо агент. Для unix-based систем используется ssh, а для windows - WinRM.

Поддерживаемые системы
Используя Ansible вы можете управлять всеми часто используемыми ОС, также некоторыми специфическими приложениями (postgresql, mysql, mssql и т.д) или сетевым оборудованием (если написан модуль).

Модульность
Для конфигурирования или выполнения чего-либо на гостевой ОС Ansible использует модули, общее количество которых более 450. Например, для настройки сети в ОС используется модуль network, а для создания и редактирования файлов - files.
Ссылка для просмотра всех модулей.
Cообщество
Сообщество Ansible активное и насчитывает большое количество сторонников данного продукта . На github можно найти множество самописных модулей и готовых playbook, заточенных под конкретные задачи.
Примеры использования
Рассмотрим немного ситуаций, где вы можете применить Ansible:
- Допустим ситуации где вам нужно установить новое приложение или обновить старое на 100 серверах. Без использования ansible на это может уйти и пол дня, а с использование ansible минут 30.
- Выкладка приложения с использованием нескольких этапов (компиляция, выкладка, замена файлов конфигурации) может также занимать длительное время и замедлять процесс разработки. С использованием ansible это всё можно автоматизировать и ускорить процесс разработки
Это лишь малая часть примеров где и для чего можно воспользоваться ansible, который сэкономит вам время, которое вы можете потратить на что-то более интересное, чем выполнение рутинных задач.
Установка ansible
Установка не включает в себя каких-то сложностей.
sudo pip install ansible
Установка Ansible на RHEL, CentOS или Fedora:
sudo yum install epel-release
sudo yum install ansible
sudo dnf install ansible
Установка Ansible в Ubuntu:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible


Комментарии