Наше приложение состоит из кластера:
- Один балансировщик нагрузки
- Три веб-сервера
- Один сервер приложений
- Две базы данных
- Один управляемый сервер передачи файлов
И у нас есть много такого для каждого нашего клиента.Каждую ночь проводятся обычные операции по обслуживанию, выполняйте полное / разностное резервное копирование обеих БД, запускайте jars
на сервере приложений, чтобы выполнить некоторые вычисления для бизнеса следующего дня и отправить много файлов отчетов (csv
, pdf
и т. Д.) используя MFT сервер для клиентов.
Все серверы работают с Windows Server 2012R2
.Эти работы по обслуживанию должны выполняться в определенном порядке, чтобы завершить процесс в соответствии с запросами.В настоящее время у нас есть пользовательские Batch/PowerShell
сценарии для запуска событий и T-SQL
для выполнения на стороне БД.Мы используем Windows Task schedulers
, а также некоторые сторонние корпоративные планировщики.
Это решение работает (я должен сказать, сработало), но оно создает много проблем.Иногда нам нужно возвращаться к нашим книгам Runbook для ручного процесса.Правильное решение оркестровки не на своем месте, если честно.Я искал инструмент, который может организовать эти шаги на этих узлах.
Во время исследования я наткнулся на HashiCorp's Nomad/Consul/Serf
.Я нашел много примеров, документации и учебных пособий для контейнерных сред, где наше приложение работает в VMWare vCenter.
Кто-нибудь может посоветовать, является ли Nomad подходящим инструментом для такого рода работ?