А не поделится ли кто-нибудь опытом применения систем для управления конфигурацией в достаточно больших инсталляциях ?
У меня на нескольких проектах используется puppet, а на нескольких chef. Вкратце: - Несколько десятков узлов не являются для подобных систем "большой" инсталляцией, так что можно особо не беспокоиться на счёт производительности бокса, на котором будет работать сам сервер управления; - У puppet более простой learning curve - там свой достаточно простой декларативный язык. С другой стороны, это часто является неудобством, потому что нет прямого контроля очерёдности исполнения манифестов. С другой стороны, в chef рецепты пишутся на ruby, что навскидку может быть и сложней (особенно если не знать ruby), но в итоге, как по мне, оказывается удобней (да и для общего образования полезней выучить ruby, чем паппетовский язык). - Дефолтная серверная часть у puppet более легковесная. Chef, с другой стороны, ставит вместе с собой внешний идексатор и web-морду (в которую, впрочем, бывает удобно потыкать). - Самое важное, по-моему - это то, chef является системой не просто для configuration management, а для infrastructure management. Откинув мракетоидный язык это значит то, что в chef можно использовать информацию об объектах (серверах, которые заведены в системе управления конфигами, либо просто других объектах, представленных в виде data bag'ов) в самой конфигурации. Например: через puppet можно установить на десяти узлах bind и скопировать туда одинаковый файл dns-зоны, однако через chef шаблоном можно в этом файле зоны автоматически создать записи для всех хостов, которые заведены в системе. И при добавлении нового хоста в систему управления конфигами на него не только накатится конфигурация, но и сам хост будет автоматически добавлен в dns-зону. В общем, если строить систему с нуля, то я бы выбирал chef. -- ryzh-ripe