Наша стартап-компания запускает несколько сервисов, размещенных на JBoss AS. Эти сервисы отличаются своим бизнесом и группируются для обеспечения высокой доступности и масштабируемости.
Я ищу то, что может:
Какие-либо предложения?
Без дополнительной информации о ваших требованиях я бы предложил изучить Кукольный и Повар для обработки пунктов 1, 2 и 3.
Пункт 4 немного сложнее - вам нужна система мониторинга (посмотрите здесь или спросите Google. Вы получите много предложений), и если вы хотите автоматические ответы, ваша система мониторинга должна будет кормить какую-то другую систему, чтобы действие.
Это не должно быть слишком сложно - я реализовал нечто подобное, используя InterMapper: При обнаружении сбоя InterMapper запускает «средство уведомления командной строки», указывающее сбойную систему. Уведомитель командной строки - это просто сценарий оболочки, который принимает имя системы в качестве аргумента и перезапускает ее, отправляя электронное письмо, если перезагрузка не удалась.
От 1 до 3 Согласен с @ voretaq7, Chef, Puppet или любым другим программное обеспечение для автоматизированного управления конфигурацией. Обратите внимание, что все это не подходит для ваших нужд. Программное обеспечение для управления конфигурацией иногда является слишком расплывчатым термином.
Для последнего, возможно, можно использовать хороший набор скриптов из Обработчики событий Nagios которые будут в основном сценариями, которые будут пытаться исправить ситуацию, когда монитор выдает предупреждение или критическое состояние.
Поскольку вы используете JBoss, вам следует учитывать JON, Операционная сеть Jboss. Вы можете комбинировать это с RHN Спутник чтобы иметь возможность полного развертывания. Red Hat Cloudforms является более новым продуктом аналогичного предложения. Cloud Forms больше ориентирован на управление внутренними облачными развертываниями.
Как минимум, JON, вероятно, справится со многими из необходимых вам опций, и многие инструменты с открытым исходным кодом, такие как Puppet, Chef, PXE и т. Д., Могут быть использованы для удовлетворения некоторых потребностей более низкого уровня.