Сетевой комплексный инструмент автоматизации дата-центра

После оценки существующих инструментов, таких как Ansible Tower, rundeck и других, кажется, что ни один инструмент не может удовлетворить необходимые требования.

У нас есть сложные серверы центров обработки данных, кластер БД и веб-серверы, в центре обработки данных много клиентских систем, +100 и другие инструменты, такие как solr, redis, k afk a... развернутые там на физических серверах, а не упомянуть, что одни и те же серверы центров обработки данных имеют разные учетные записи, пользователи Linux (QA,stag,production..etc), а теперь метаданные об этих средах вместе с их веб-приложениями, исходный код, который будет использоваться, серверы все кластеры определены в xml, и есть сценарии bash из этого XML, которые выполнялись вручную для запуска любой операции / задачи (например, извлечение источника, сборка, развертывание, запуск, остановка... и другие настраиваемые операции)

Эта система должна быть сделана вместе с разработчиком и инженерами DevOps, но что я хочу знать, есть ли какие-либо предпочтительные рамки, которые можно использовать для этой системы? фреймворки рабочих процессов можно использовать в этом случае? например, Activiti BPMN? Ant - это вариант, но нам не нужен просто инструмент автоматизации, а больше планировщик и ведение журнала, а также множество других сервисов.

И если это не то место, не могли бы вы указать, где кот я задаю такой вопрос?

Требуется создать веб-систему как инструмент автоматизации с:

  • Пользовательский интерфейс для определения конкретных операций, которые необходимо выполнить, таких как сборка, развертывание в конкретном веб-приложении кластера в определенной среде, запуск / остановка определенного веб-приложения на определенном компьютере или любая другая настраиваемая операция с несколькими вариантами выбора и гибкими и динамическими параметрами. выбирая путь.

  • FE должен показывать выполняемые рабочие процессы и операции внутри них.

  • Динамический способ создания набора операций как единого рабочего процесса, который имеет динамическую возможность устанавливать зависимости между ними.

  • Интерфейс между внутренним кодом этой системы с уже существующими bash-скриптами, которые будут выполнять реальные задачи на серверах DC.

  • Планировщик, чтобы иметь возможность организовать эти операции в соответствии с определенными сложными зависимостями между рабочими процессами.

  • Услуги аутентификации и авторизации для пользователей, так как будет много настраиваемых ролей для операций, сред, продуктов и т. Д.

  • Система регистрации для сохранения результатов операций.

3 ответа

Задача, которую вы описываете, - это базовая оркестровка сети, и существует множество движков / программ оркестровки. Однако тот факт, что вы задаете этот вопрос, означает, что вы только начинаете и еще не готовы инвестировать в полноценный продукт управления.

Я настоятельно рекомендую вам взглянуть на шеф-повара в ваших целях.

Надеюсь это поможет.

Я бы порекомендовал вам взглянуть на jenkinsx.io, если вы нацелены на kubernetes и контейнеры (докер). В рамках команды activiti bpm мы стараемся использовать такие технологии, чтобы упростить жизнь людей, интегрируя более сложные рабочие процессы с DevOps и операциями ваших проектов.

Почему бы не использовать комбинацию ansible/Docker и jenkins, Jenkins может выполнить большую часть того, что вы описали, используя проекты Pipeline /MultiProjects и Ansible для вашего пользовательского интерфейса и деталей, связанных с ролями.

Другие вопросы по тегам