Azure Service Fabric против центра обработки данных Docker

Я просмотрел этот блог Azure SF против Docker, но он не полностью ответил на мои сомнения. У меня есть Docker Data Center, и я хочу подтолкнуть Azure SF к этому. Но я чувствую, что DDC делает то же самое, что и Service Fabric. Несколько вещей из моей головы.

  • DDC заботится о расширении масштабов, всех видах оркестровки контейнеров, мониторинге состояния и т. Д.

Несколько предметов, которые он не предоставляет:

  • Служба удаленного взаимодействия между службами, публикация модели подписки между службами, слой с состоянием (я слышал о томе portworx volume)

Может кто-нибудь рассказать мне больше о том, когда я должен пойти с SF, который DDC не предоставляет.

1 ответ

Решение

Если ландшафт вашего приложения состоит из контейнеров, и вы не собираетесь его менять, то вам, вероятно, стоит придерживаться DDC.

Service Fabric (ASF) может предложить гораздо больше, чем поддержка контейнеров. Фактически, в прежние времена у него даже не было поддержки контейнеров.

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

Вещи, которые DDC не предоставляет:

Службы с сохранением состояния: Преимущество служб с сохранением состояния заключается в том, что данные живут там, где живет код, поэтому больше нет отдельных хранилищ данных, таких как NoSQL или реляционная база данных. Большим преимуществом является снижение задержки. Другими словами, если у вас есть внешний интерфейс, запущенный в контейнере, который подключается к контейнеру, например, с сервером MySQL, вы можете заменить его, используя набор сервисов без сохранения состояния и состояния.

Модель актера. Паттерн актера - это вычислительная модель для параллельных или распределенных систем, в которой большое количество этих действующих лиц могут работать одновременно и независимо друг от друга.

В некоторых сценариях использование контейнеров в ASF является временным, чтобы поднять и переместить существующее программное обеспечение и объединить его с собственными моделями обслуживания ASF. На более поздних этапах контейнеры могут быть заменены сервисами ASF.

Официальные документы перечисляют некоторые сценарии того, когда запускать контейнеры в ASF:

Подъем и сдвиг IIS: если у вас есть существующие приложения ASP.NET MVC, которые вы хотите продолжать использовать, поместите их в контейнер вместо их миграции на ASP.NET Core. Эти приложения ASP.NET MVC зависят от информационных служб Интернета (IIS). Вы можете упаковать эти приложения в образы контейнеров из предварительно созданного образа IIS и развернуть их с помощью Service Fabric. См. Изображения контейнеров на Windows Server для получения информации о контейнерах Windows.

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

Уменьшите влияние служб "шумных соседей": вы можете использовать возможность управления ресурсами контейнеров, чтобы ограничить ресурсы, которые служба использует на хосте. Если сервисы могут потреблять много ресурсов и влиять на производительность других (например, длительные операции, подобные запросам), рассмотрите возможность размещения этих сервисов в контейнерах с управлением ресурсами.

Кстати, в упомянутых вами вопросах и ответах тот факт, что это продукт Microsoft, рассматривается как возможный недостаток. Это может быть еще для некоторых, но Microsoft объявляет, что это будет ASF с открытым исходным кодом.