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

    Ключевые особенности Ансибля:

  • работа по ssh, соответственно на управляемые машины не нужно ставить никаких клиентов, да и сам сервер просто в установке и лишён какой-либо громоздкости;
  • сравнительно низкий порог вхождения: для описания машин и сценариев работы с ними используется YAML, причём его основы, достаточные для работы с Ансиблем, доходчиво описаны в документации;
  • система в целом достаточно слабо структурирована, что с одной стороны усложняет работу, с другой - позволяет легко обходить проблемы в нестандартных ситуациях;
  • как я уже писал выше, пока что не хватает плагинов, однако писать их просто, причём использовать можно произвольные языки;
  • зачётное название;

    В целом, программа достойная внимания, и я её выбрал как базу для дальнейшей работы в данном направлении.

    У авторов Ансибля есть веб приложение Ansible tower. Что интересно, устанавливается оно с помощью Ансибля, лишний раз демонстрируя мощь и гибкость последнего.

    Честно говоря, я думал, что это просто вебморда, которая позволит привлекать к работе по настройке серверов людей, занимающихся ей эпизодически и не имеющих ресурсов на изучение очередной системы автоматизации. Однако всё оказалось несколько сложнее: AT - система контроля работы Ансибля, т.е. нужна при наличии сложной, объёмной и динамичной серверной инфраструктуры. Мне, к сожалению, такую штуку пока девать некуда, но зарубку на пямять я сделал. AT бесплатна для 10 хостов, дальше просят денег, причём хороших. Впрочем, насколько я понимаю, вещь того стоит.