Я пытаюсь выбрать между использованием Puppet или CFEngine для моей системы управления конфигурацией.
Производительность будет ключевым фактором, и исследования в Интернете показывают, что CFEngine использует меньше памяти и циклов ЦП по сравнению с марионеткой. Однако марионетка кажется проще в использовании.
Мне нужно управлять несколькими веб-серверами, а также портативными планшетами и машинами, которые периодически подключаются к некоторым серверам центрального управления. Все машины Linux.
Смогу ли я использовать для этого Puppet или CFEngine? И если да, то неужели Puppet по-прежнему плохо использует ресурсы?
Также я хотел бы использовать Puppet отчасти потому, что он кажется более простым, но многие статьи, которые я нашел, относятся к CFEngine 2 - проще ли настроить CFEngine 3?
Вы можете использовать оба инструмента для своего варианта использования. Я не знаю, насколько мощны ваши портативные планшеты, но вам может быть интересно узнать, что:
Синтаксис CFEngine 3 проще, чем у CFEngine 2. Я бы не стал сравнивать использование Puppet, потому что я не фанат Ruby, поэтому буду предвзятым :)
Если вы ищете производительность, Cfengine - ваш выбор. В вашем случае вы не хотите поддерживать полноценную установку Ruby + Puppet на портативных устройствах.
То, что Puppet «проще в использовании», - это просто миф, созданный людьми Puppet, попробуйте Cfengine (также посмотрите библиотеку тела открытых обещаний).
Обратите внимание, что я использовал только cfengine (v2), а не puppet / chef и т. Д. Все они имеют довольно большие кривые обучения, чтобы вы полностью погрузились в голову, как что-то делать. Хотя в наши дни в сети есть гораздо больше примеров, на которые можно посмотреть.
Тем не менее, была по крайней мере одна статья, в которой утверждается, что cfengine более легкий. Эта страница facebook от cfengine относится к статье, которая находится на самом деле в usenix; Логин: журнал: http://www.facebook.com/note.php?note_id=319929967052 (Я не уверен, могут ли участники, не являющиеся участниками usenix, прочитать эту конкретную статью в; Войти: пока)
Предполагая, что ваши планшеты и другие имеют разумное количество ресурсов, я бы подумал, что влияние ресурсов будет в основном сводиться к тому, как часто он запускается на клиенте / планшете. Один раз в день немного отличается от каждых 10 минут!
Хотя это старый вопрос, я подумал, что было бы уместно дать ссылку на это недавно опубликованное сравнение производительности Puppet и CFEngine: http://www.blogcompiler.com/2012/09/30/scalability-of-cfengine-and-puppet-2/
Хотя это было сделано сотрудником CFEngine, IMO довольно беспристрастно, и включены все детали, необходимые для воспроизведения результатов.
(отказ от ответственности: я также являюсь сотрудником CFEngine)
Сколько машин? Использование ресурсов Puppet на клиенте не имеет значения, если вы собираетесь запускать его только время от времени. Количество клиентов и частота обращений к серверу гораздо важнее, потому что сервер может использовать довольно много ресурсов. У меня есть десятки машин, связывающихся с марионеточным сервером каждый час, и я прекрасно обходился, используя только тривиальный и плохо работающий встроенный сервер без какой-либо специальной настройки.