Я собираюсь начать новый проект, который, в частности, потребует развертывания множества идентичных узлов примерно трех разных классов:
- Узлы данных , которые будут запускать закрытые экземпляры MongoDB.
- Узлы приложения , которые будут запускать экземпляры приложения Ruby on Rails и более старого приложения ASP.NET MVC.
- Обработка узлов , которые будут выполнять задания, запрошенные узлами приложения.
Все узлы будут работать на экземплярах Ubuntu 10.04, хотя на них будут установлены разные пакеты.
У меня есть знакомство с Chef из предыдущих проектов, хотя я не считаю себя экспертом. В попытке проявить должную осмотрительность, я изучал альтернативные возможности. У нас есть много людей, которые давно работают с Puppet, и они посоветовали мне взглянуть.
У меня проблемы с оценкой обоих вариантов. Chef и Puppet используют одну и ту же терминологию домена - пакеты , ресурсы , атрибуты и т. Д., И у них общая история, основанная на разных подходах к одной и той же проблеме. Так что в некотором смысле они очень похожи. Но большая часть информации сравнения, которую я нашел, как эта статья , немного устарела.
Если бы вы начинали этот проект сегодня, какие вопросы вы бы задали себе, чтобы решить, следует ли вам использовать Chef или Puppet для управления конфигурацией? (Примечание: я не хочу отвечать на вопрос «Должен ли я использовать Chef или Puppet?»)