Я рассматриваю несколько инструментов для управления инстансами ec2:
Requirement:
1) Я должен иметь возможность запустить новый экземпляр, и новый экземпляр должен получить все необходимые конфигурации.
2) Я должен иметь возможность вносить изменения на всех машинах одним махом, что включает в себя: выполнение команды на всех экземплярах и получение результата, внесение изменений в код или установка нового программного обеспечения на всех машинах и получение результата.
3) Проверка состояния всех машин.
Инструменты, которые я рассматриваю: rightscale, puppet и nagios.
Так как я начинаю новую компанию, бюджет довольно ограничен, поэтому я ищу решения с открытым исходным кодом и с меньшей кривой обучения.
Пожалуйста, посоветуйте мне, какие инструменты использовать для этого.
Заранее спасибо...
Это - совершенно другие требования (как Daniel предполагает в ответе при помощи абзацев). Вы могли бы хотеть сесть и использовать 3 листа бумаги и записать их отдельно (честно, который помогает получить ясный путь при обнаружении реальных требований).
Что касается второго вопроса: Если Вы идете, марионеточные команды выполнения маршрута на всех хостах могут быть сделаны с mcollective. Это - те же люди, которые делают марионетку, таким образом, у них действительно есть вполне хорошая идея о том, что управление конфигурацией может сделать к системной среде.
Я предпочитаю Zabbix Nagios в наше время для контроля. Это идет с хорошими шаблонами, это способно к автоматическому обнаружению, и очень легко расшириться путем выполнения произвольных команд на целевых узлах.
Учитывая Ваше требование выполнения команды на всех машинах (я принимаю, это - одноразовая команда), Шеф-повар кажется лучшим выбором, чем Марионетка, но необходимо будет изучить Ruby для Шеф-повара - его сценарии конфигурации являются программами Ruby.
Если бы Вы не знаете Марионетку заранее, я советовал бы Вам не принимать изучение, что это будет быстрее, чем изучение Ruby. Это, конечно, более просто, но это действительно занимает время для получения ловкости для записи сложных конфигураций в нем.
Scalr (Disclaimer: I work there) is cloud management tool which meet most of your requirements:
Scalr is open-source or available online as a hosted version. RightScale and enStratus are two Alternatives to Scalr.