Я трачу много времени на установку новых серверов. У меня всегда один и тот же программный стек:
nginx mysql php + php-fpm + xcache, memcached munin
Я беру все скрипты конфигурации и init.d из моего репозитория на github.
На всех моих серверах работает Debian. Мой первый шаг - это обычно apt-get update и apt-get install vim (и другие базовые пакеты).
Смогут ли Capistrano или Puppet автоматизировать этот процесс? Если они оба подходят, какой из них больше подходит для этой работы?
PS: Я бы предпочел Capistrano, потому что мне нравится Ruby.
Насколько я знаю, могут. Обратите внимание, что марионетка тоже рубиновая. И так повар.
Думаю, это дело личного вкуса, взгляните на способ определения «рецептов» и решите, какой из них вам больше подойдет.
Вы также можете посмотреть на эти Другой вопросы.
Этот ответ говорит само за себя :). Если у вас уже есть репозиторий git, возможно, вам лучше подойдет capistrano.
Проверять, выписываться эти статьи о различиях в целях и характеристиках марионетки и капистрано и о том, как выбрать между ними.
Puppet идеально подойдет для этого. Puppet предоставляет вам декларативный язык для описания конфигурации каждого сервера, включая пакеты, службы и файлы конфигурации. Puppet предоставляет прочную основу для описания зависимостей каждого компонента друг от друга, что позволяет создавать модульные файлы конфигурации, описывающие как взять базовый образ и превратить его в сервер, готовый выполнять определенную роль.
Звучит как идеальное приложение Puppet. Если это поможет, я написал серию коротких обучающих статей по Puppet для начинающих, в которых рассказывается об установке, запуске и управлении вашими первыми ресурсами Puppet: