Назад | Перейти на главную страницу

Производительность Puppet по сравнению с CFEngine

Я пытаюсь выбрать между использованием Puppet или CFEngine для моей системы управления конфигурацией.
Производительность будет ключевым фактором, и исследования в Интернете показывают, что CFEngine использует меньше памяти и циклов ЦП по сравнению с марионеткой. Однако марионетка кажется проще в использовании.

Мне нужно управлять несколькими веб-серверами, а также портативными планшетами и машинами, которые периодически подключаются к некоторым серверам центрального управления. Все машины Linux.

Смогу ли я использовать для этого Puppet или CFEngine? И если да, то неужели Puppet по-прежнему плохо использует ресурсы?

Также я хотел бы использовать Puppet отчасти потому, что он кажется более простым, но многие статьи, которые я нашел, относятся к CFEngine 2 - проще ли настроить CFEngine 3?

Вы можете использовать оба инструмента для своего варианта использования. Я не знаю, насколько мощны ваши портативные планшеты, но вам может быть интересно узнать, что:

  • Агент CFEngine использует около 15 МБ ОЗУ (никогда не видел, чтобы он превышал 30 МБ ни на одном из моих серверов) (и, как сообщалось, он работал на телефоне Nokia N900)
  • Puppet нуждается в стеке Ruby для работы, и, согласно документации, Puppet потребляет не менее 80 МБ ОЗУ.

Синтаксис 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 на клиенте не имеет значения, если вы собираетесь запускать его только время от времени. Количество клиентов и частота обращений к серверу гораздо важнее, потому что сервер может использовать довольно много ресурсов. У меня есть десятки машин, связывающихся с марионеточным сервером каждый час, и я прекрасно обходился, используя только тривиальный и плохо работающий встроенный сервер без какой-либо специальной настройки.