Назад | Перейти на главную страницу

Лучшая стратегия для развертывания распределенного приложения на узлах

это общий вопрос о развертывании и обслуживании узлов. Я не сисадмин.

Я рассматриваю следующую «наивную» стратегию:

  1. Выберите вариант Linux и придерживайтесь его.
  2. Создайте образ с моим вкусом Linux.
  3. Установите мое приложение, скрипты и все пакеты на образ.
  4. Удалите все ненужные пакеты и приложения.
  5. Настроить безопасность (блокировка портов, средства мониторинга).
  6. Сделайте резервную копию моего изображения.
  7. При необходимости скопируйте мое изображение на каждый новый узел.
  8. Установите обновления безопасности (со временем создайте обновленную версию моего образа).
  9. Запускаем установочные скрипты + конфигурация.

Это обычная практика? Есть ли лучшая стратегия? Есть ли какие-то дополнительные углы, о которых мне следует подумать?

Похоже, вы - главный кандидат на решение для облачных вычислений. Я бы попытался использовать что-то вроде Amazon EC2, который автоматизирует все перечисленные вами шаги вплоть до нажатия кнопки. И не ограничивайтесь только EC2, конкурентов много.

Но да, короче говоря, это довольно распространенная практика.

Вы можете попробовать такие инструменты, как SystemImager который поддерживает распространение PXE Multicast и даже протокол BitTorrent для распределения изменений. Если вам нужно создать много узлов одновременно, bittorent заманчиво, но будьте осторожны, вы можете поставить некоторые коммутаторы / маршрутизаторы на колени, если не будете обращать внимания.

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

Вы можете пересмотреть шаг 1. Вы ограничиваете свою клиентскую базу. Вы можете ограничить набор поддерживаемых дистрибутивов, но я бы не стал выбирать только один.

Для распространения приложений я бы предоставил пакеты в формате, родном для ОС узлов. Тогда обновление приложения будет простым обновлением пакета, что настолько просто для системного администратора, насколько это возможно.

Если вы хотите подготовить всю среду, начиная с уровня ОС, у вас есть 2 варианта. Вы можете подготовить файл виртуальной машины в выбранном формате (или форматах). Тогда вам придется подготовить всю среду, начиная с ОС.

Или вы можете подготовить систему / образ с автоматической установкой (используя встроенную неинтерактивную систему установки дистрибутива или объединить ее, например, с xCat), которая развернет полную ОС, настроит ее, а затем загрузит ваше приложение поверх.