Я собираюсь развернуть новый инструмент управления конфигурацией, который заменит наше собственное решение. Стандарты де-факто - Chef и Puppet, оба из которых ориентированы на Ruby (хотя, очевидно, могут использоваться для развертывания среды, отличной от Ruby). Подавляющее большинство наших разработок выполняется на Python, и наши внутренние инструменты развертывания интенсивно используют Ткань. Поэтому я учусь Поваренная соль поскольку это тоже Python, хотя он и не такой зрелый, как Chef или Puppet. Но поскольку я недостаточно знаком с вариантами, мне сложно сравнивать яблоки с яблоками.
Могу ли я отказаться от чего-то значительного, кроме небольшого сообщества, используя Salt вместо Puppet / Chef?
Прошло шесть месяцев с тех пор, как я разместил этот вопрос. И, несмотря на то, что он был закрыт, его просмотрели более 1000 раз, поэтому я решил прокомментировать свой опыт.
В конце концов я остановился на Puppet, так как у него было большее сообщество. Однако это было чрезвычайно неприятно, в основном из-за запутанного синтаксиса конфигурации Puppet. Поскольку теперь у меня была система отсчета для сравнения этих двух, я недавно еще раз взглянул на Salt - я не вернусь. Это очень и очень круто. Что мне нравится больше всего:
Полная интеграция моделей конфигурации push и pull. Puppet использует модель извлечения (узел периодически опрашивает сервер на предмет обновлений) и имеет родственный компонент под названием Marionette для отправки изменений. Оба важны для меня, и я предпочитаю, как работает соль. Salt также выполняется намного быстрее, когда у вас много узлов.
Синтаксис конфигурации использует YAML, который представляет собой простой текстовый формат, в котором используются отступы и маркеры. Вы также можете использовать другие форматы конфигурации через шаблон. По моему опыту, это примерно в 10 раз упрощает изучение и поддержку Salt.
На основе Python. Это была главная причина, по которой я вообще начал смотреть на Salt. Это стало одной из самых незначительных причин, по которым я остался. Но если вы, как и мы, представляете Python-магазин, вам будет проще разрабатывать плагины Salt.