Кластер Azure Service Fabric на одном компьютере

Как независимый поставщик программного обеспечения, у нас есть корпоративное решение, которое расширяет существующее программное обеспечение для наших крупных клиентов, которым необходимо установить и настроить Azure SF Cluster локально или даже в Azure. Наше программное обеспечение работает в основном с сервисами без отслеживания состояния и только с несколькими службами с сохранением состояния. Он также является мультитенантным, поэтому мы можем запускать программное обеспечение самостоятельно в облачной среде.

Но у нас также есть и третий способ его использования: нам нужно отправить наше программное обеспечение не корпоративным клиентам, у которых есть другое наше программное обеспечение локально. Это проблема, поскольку для Service Fabric требуется несколько компьютеров, которых у этих мелких клиентов нет и которые они определенно не хотят иметь. Иногда они являются единственным пользователем программного обеспечения и запускают его на одном ноутбуке.

Я вижу несколько решений c.q. параметры:

1. Перепишите программное обеспечение.

Каким-то образом поддерживая ту же базу кода, размещайте как службу Windows или что-то в этом роде. with topshelf, что относительно просто для размещения программ на основе OWIN / Katana.

Плюсы

  • Нет кластера Service Fabric
  • Более простая установка, например служба Windows

Минусы

  • Нет сервисов с отслеживанием состояния
  • Множественные решения визуальной студии
  • Разработчики должны подумать о том, как будет доступен хостинг и будет ли Service Fabric.
  • Нет надежности и масштабируемости

2. Размещение в кластере с одним узлом

Установите кластер как отдельный узел на машине в качестве производственной среды. Зная, что надежность и масштабируемость потеряны, но это также относится к варианту 1.

Плюсы

  • Одно решение для визуальной студии
  • Только одна кодовая база, не требует изменений в коде, что легко для разработчиков

Минусы

  • Не поддерживается Azure Service Fabric для производства
  • Нет надежности и масштабируемости

3. Отправьте кластер внутри одного док-контейнера

Я мало что знаю о докере, но, может быть, легко отправить предварительно настроенный кластер Service Fabric?

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

Некоторые ссылки по теме, которые я нашел:

Вариант 2. Единая виртуальная машина Azure Service Fabric

Вариант 3: https://github.com/Azure/service-fabric-issues/issues/409


person rfcdejong    schedule 29.09.2017    source источник
comment
По какой уважительной причине у вас есть все приложения в SF?   -  person Mardoxx    schedule 02.10.2017
comment
Кодирование в первую очередь ориентировано на облако, все приложения в решении в одном манифесте, простая установка для клиентов с локальным кластером или подпиской.   -  person rfcdejong    schedule 02.10.2017
comment
Но это одна установка на одной машине? Скорее поражает цель использования Serboce Fabric, не так ли? Мне кажется, вы хотите использовать SF, потому что это крутой инструмент, а не подходящий для работы! Массивный ненужный слой сложности и неустойчивости imo.   -  person Mardoxx    schedule 02.10.2017
comment
Для наших более крупных клиентов это не для одной машины, только для мелких клиентов. И мы используем сервисы с отслеживанием состояния не потому, что это круто, а потому, что они отлично справляются со своей работой.   -  person rfcdejong    schedule 02.10.2017


Ответы (1)


Вы можете исследовать использование одного сервера и использовать его для запуска от 3 до 5 виртуальных машин и запускать на нем свой кластер. У вас не будет максимальной доступности, но вы все равно сможете пользоваться многими функциями SF (сервисы с отслеживанием состояния, скользящие обновления, репликация). Не нужно переписывать какое-либо программное обеспечение.

person LoekD    schedule 29.09.2017
comment
Да, но тогда простой способ установить виртуальные машины, без кластера Hyper-v или чего-то еще. Заказчику следует просто запустить установщик или msi. Также каждой виртуальной машине потребуется память для работы на ней ОС. - person rfcdejong; 29.09.2017