Azure Service Fabric делает то же самое, что и Docker?

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

Я на 100% работаю в сети, и я собираюсь перейти в облако вместе с нашими базами данных, и то, что не может быть перемещено, будет легко соединено, поэтому корпоративная среда и облако станут одной подсетью.

И поэтому мне интересно, может быть, Service Fabric уже делает то же самое, что делает Docker, плюс она предоставляет в качестве службы трансляции адресов (fabric://, которая немного похожа на DNS для процессов в пространстве матрицы) плюс (важно для некоторых) поощряет Распределение рабочих по требованию - огромный перк масштабируемости.

  1. Может ли Service Fabric успешно заменить Docker?
  2. Это набирает аудиторию и признание? Потому что в противном случае даже величайшее изобретение может потерпеть неудачу.

3 ответа

Решение

Это сбивает с толку, так как Docker (компания) пытается разместить претензии во всем облаке.

  • Docker Engine (то, что большинство людей называют "Docker") - это технология контейнеризации. Это может дать вам
    • Изоляция процесса
    • Сетевая изоляция
    • Согласованная прикладная среда
  • Docker Hub - это реестр изображений. Он хранит образы Docker, поэтому вы можете загрузить их как часть своего развертывания.
  • Docker Cloud - это система оркестровки для Docker. Это может дать вам
    • Масштабируйте ваши приложения вверх и вниз
    • Соедините свои приложения друг с другом
    • CI-тестирование, интегрированное с Docker Hub (это не часть оркестровки, а просто еще одна вещь)

Service Fabric - это система оркестровки. Он может управлять контейнерами Docker, но он также может более тесно интегрироваться с вашими сервисами, если вы создаете его специально для Fabric. (Докер совершенно не знает, что происходит внутри контейнера.)

Таким образом, Service Fabric в основном сопоставима с Docker Cloud, хотя и не является точным соответствием. Существуют и другие решения для оркестрации на основе Docker (Kubernetes, вероятно, является крупнейшим), а также существуют другие облачные решения для микро-услуг (Heroku, вероятно, является самым известным).

Основным недостатком Service Fabric является то, что это технология Microsoft, и поэтому вы будете в большей степени привязаны к Azure, чем при использовании Docker. Другая причина заключается в том, что у Docker есть более широкий выбор вариантов построения вашего стека: у всех трех перечисленных выше Docker есть по крайней мере одна альтернатива с открытым исходным кодом (это также большой недостаток Docker, поскольку никто не выкладывает единую передовую практику). Для Вас документ).

Если вы любите Microsoft и если объединение систем не является для вас чем-то важным, то Service Fabric должна стать прекрасной альтернативой экосистеме Docker. (И вы все еще можете запускать контейнеры Docker под ним.)

Основные сходства между контейнерами Service Fabric и Docker:

  1. И докеры, и SF способны создавать неизменный образ из вашей реализации микросервиса на обеих платформах - Linux и Windows.
  2. И докеры, и SF способны управлять вашим контейнерным приложением в кластере виртуальных машин. Эти виртуальные машины могут находиться где угодно - в публичном облаке, в частном облаке или в вашем собственном центре обработки данных. Обратите внимание, что оба они не зависят от облачной платформы, это означает, что они не имеют сильной привязанности ни к одному облачному сервису. Поэтому, если вы не используете какую-либо облачную функцию в своем микро-сервисе, это должно быть хорошо.
  3. Как докеры, так и SF способны демонстрировать основные возможности оркестрирующей платформы: обнаружение сервисов, балансировка нагрузки на уровне сервисов, изоляция на уровне сети между сервисами, обработка отказов при отказе и контроль репликации и т. Д.

Основные различия между контейнерами Service Fabric и Docker:

  1. Контейнер Docker - это, по сути, конструкция развертывания / упаковки. Тем не менее, Docker не определяет, что вы упаковываете в контейнер как часть реализации вашего сервиса. Он также не предоставляет никакой программной конструкции для реализации вашего вида услуг. Принимая во внимание, что Service Fabric предоставляет программные конструкции в форме базовых типов / интерфейсов, с которых реализация вашей службы может начинаться с определенного типа объявленной службы - службы с сохранением состояния, службы без сохранения состояния, виртуального субъекта.
  2. В мире Docker все является контейнером, т.е. ваша минимальная единица развертывания / оркестрации - это контейнер. Следовательно, он не распознает и не поддерживает отдельный процесс. Принимая во внимание, что в SF у нас есть положение, в соответствии с которым ваш микро-сервис, полученный из сервиса без сохранения состояния / состояния, может быть организован и управляться как процесс. Однако SF также поддерживает оркестровку контейнеров, как это делает Docker. Кроме того, последняя версия SF позволяет упаковывать ваш сервис с отслеживанием состояния / без сохранения состояния в контейнере.

Имея в виду вышеизложенные факты, обратите внимание, что SF не имеет сильной привязанности ни к одному облачному провайдеру. Он может работать одинаково в любом общедоступном облаке - Azure, AWS или GCP, если вы можете создавать виртуальные машины с желаемой платформой.

Это несопоставимо на всех. С сервисной фабрикой вы получаете мониторинг работоспособности, интеграцию кода с фабричной, регистрацию, мониторинг, балансировку нагрузки и другие интеллектуальные функции. Ваше приложение может даже выполнить код завершения работы. Service Fabric предназначена не только для технологий Microsoft, и даже докер может находиться внутри SF, так же как rkt или Unix OS. Безопасность и сетевые функции (в соответствии с веб-приложениями) - еще один плюс. Надежные коллекции просто великолепны. Кроме того, компаниям, внедрившим его, гарантирована дорожная карта для лучшего построения и производительности приложений (история так говорит).

Этот вопрос очень одобряет "величайшее изобретение" Докера. Это сравнение может принести пользу маркетингу Docker, но никто не заменит SF для Docker. Docker - это просто крошечная копия ОС (не имеет ничего общего со службами, приложениями или интеллектом). Docker даже не имеет ничего общего с разработкой приложений, это не было целью. Просто люди начали находить необходимость в изоляции и обмене. И это то, чем занимается Докер.

Другие вопросы по тегам