Как независимый поставщик программного обеспечения, у нас есть корпоративное решение, которое расширяет существующее программное обеспечение для наших крупных клиентов, которым необходимо установить и настроить 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