Полное раскрытие: я сотрудник Puppet Labs. Но я выбрал Puppet как продукт более 2 лет, прежде чем присоединиться к ним.
Я бы порекомендовал вам использовать Puppet или Chef over shell, если ваши конфигурации будут a) иметь какую-либо степень сложности и b) будут меняться со временем - или вы ожидаете, что сама среда установки изменится таким образом, что может измените способ развертывания. Ваши сценарии могут быть очень хорошими, но, в конечном счете, если вы не будете следовать потрясающим методам программирования вокруг них, тестировать и проверять их и т. Д., Они в какой-то момент потерпят неудачу.
В DevOps обсуждается целый ряд грамотных, но все сводится к принципу «технического долга» - сейчас мы склонны делать вещи простым способом и, таким образом, воспринимать их как более простые, за счет увеличения сложность и сложность позже.
Одной из сильных сторон Puppet является его детерминистическая природа - написанный вами манифест должен быть программно преобразован Puppet в модель создаваемого вами сервера. Люди воспринимают это как «более сложное», но я бы сказал, что сложность уменьшается, если вы усредняете ее по кривой жизненного цикла вашей технологии. Другими словами, Puppet заставляет вас задуматься сейчас, но затем развернуть его с легкостью, вместо того, чтобы думать позже и переделывать по ходу дела. Оплата наличными сейчас, а не кредитом, с процентами, позже.
Если вы просто снимаете манифесты других людей, в какой-то момент вы столкнетесь с проблемами - хотя мы бы хотели, чтобы это было не так, работая с Puppet сегодня, это, безусловно, так, потому что они пишут их для решения общего дела, а не вашей конкретной системы. Многие манифесты общего назначения становятся полезными только тогда, когда вы лучше понимаете Puppet.
Так что вместо того, чтобы начать там, я бы пробился через превосходное руководство Learning Puppet , чтобы начать понимать основы. Кривая обучения кукол крутая, но через некоторое время она выравнивается.
Существуют и другие причины для использования других провайдеров или инструментов, но я бы с уверенностью утверждал, что вам лучше работать с Puppet или Chef, чем пытаться убедиться, что ваши сценарии оболочки выполняют именно то, что, как вы думаете, они должны делать, поскольку Пока вам нужно порождать новые среды.