Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad

Вероятно, мы достаточно слышали о том, что Kubernetes - это Linux для облака, с самым быстрым уровнем внедрения и т. Д. Но Kubernetes ни в коем случае не единственный вариант оркестровки, и существует немалая доля альтернатив Kubernetes. Kubernetes, Docker Swarm, Mesos, Nomad (и многие другие) попадают в категорию Инструменты управления инфраструктурой для DevOps, известного как Механизмы консолидации контейнеров (COE). Параллелизм для них дает нам столь необходимый уровень абстракции за счет Контейнеры приложений которые служат для защиты наших ресурсов и реальных пулов ресурсов.

работать с Контейнеры в облаке Все дело в эффективном распределении ресурсов. Ситуация усложняется, когда вы используете несколько облаков вместе с локальным центром обработки данных и развертываете в них различные приложения. Тем более, что эти приложения могут быть чем-то таким же простым, как небольшая реляционная база данных, или чем-то более продвинутым, например, сервисом потоковой передачи видео в реальном времени.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

Основы синхронизации

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

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

Это лишь некоторые из основных задач, которые выполняет высокоуровневый механизм оркестровки, и список бесконечен, включая планирование контейнеров, проверки работоспособности и управление хранилищем. Было бы неплохо указать сейчас, что они развиваются так быстро, что то, что мы знаем о них сегодня, может устареть через несколько месяцев. Кроме того, каждый месяц появляются новые крупные обновления Kubernetes, Mesos и Swarm, и они не единственные.

Традиционные особенности дизайна вынуждают отправлять обновления в виде полных сборок. Установка обновления может занять несколько часов, а это означает много времени простоя для пользователей. Контейнерные микросервисы - удобный способ решения этой проблемы. Контейнеры по сути являются автономными процессами, и все их зависимости сгруппированы для запуска. Все, что нужно процессу контейнера, - это запустить его в этом контейнере, что делает его очень портативным.

Как работают контейнеры?

Вот простое измерение. Думайте о своем облачном приложении как о микросервисах для судов и контейнеров, как о нескольких частях герметичной переборки. Если есть только одна каюта, ваш корабль затонет в случае затопления. Но если у вас несколько отсеков, с вашим кораблем все будет в порядке, даже если одно из отсеков будет затоплено. Приложения, созданные с использованием архитектуры микросервисов, могут содержать десятки или даже сотни контейнерных микросервисов, которые работают вместе. Микросервисы могут предоставлять уникальные функции (например, только часть обмена сообщениями в социальной сети). Вы также получаете несколько микросервисов, которые выполняют повторяющиеся функции на нескольких серверах для балансировки нагрузки.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

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

Как контейнеры помогают

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

Что такое Kubernetes?

Вот хорошая аналогия Что это такое Kubernetes. Но на практике управление и контроль (координация) приложений, созданных с помощью микросервисов, могут быть очень сложными. Вам понадобится система, которая отслеживает и изменяет критически важные службы на сотнях или тысячах серверов. К счастью, Google разработал мощный инструмент с созданием Kubernetes. Слово «Kubernetes» по-гречески означает правитель, и это в основном то, что оно есть. Это платформа, которая помогает вам отслеживать и контролировать приложения на основе микросервисов.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

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

Альтернативы Kubernetes

1. Докер Рой

для кого: Пользователи, которым нужна простая в настройке альтернатива Kubernetes

Docker (весь проект, а не только Swarm) впервые предложил идею контейнерных микросервисов в 2013 году. Docker Swarm - это платформа оркестровки Docker. У него много преимуществ перед Kubernetes. Во-первых, хотя он менее универсален, чем Kubernetes, его гораздо проще использовать и проще установить, чем Kubernetes. Docker Swarm использует интерфейс командной строки с семантикой, подобной GIT.

Эти знания означают, что разработчики могут легко интегрировать Swarm в свой рабочий процесс. Во-вторых, установка базы для масштабирования сервисов вручную по сравнению с использованием функции kubectl в Kubernetes. Докер также выигрывает с точки зрения поддержки. Сам Docker предоставляет официальную корпоративную поддержку клиентам Docker Enterprise Edition (включая Swarm). Google не поддерживает Kubernetes. Однако Kubernetes - это платформа с открытым исходным кодом, поэтому есть и другие поставщики. Он обеспечивает поддержку собственных версий.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

У Docker Swarm тоже есть недостатки. Запись и мониторинг являются серьезным недостатком. В то время как Kubernetes имеет встроенные инструменты мониторинга, Docker Swarm требует, чтобы вы использовали сторонние инструменты, такие как Sumo Logic и Retrace. Кроме того, сообщество Docker Swarm намного меньше сообщества Kubernetes.

Положительные:

  1. Легче установить и настроить, чем Kubernetes
  2. Официальная поддержка Enterprise Edition

Минус:

  1. Ограниченные функции мониторинга и записи
  2. Меньшее сообщество Kubernetes

Скачать Докер Рой

2. ДК/ОС

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

DC / OS - это аббревиатура от «Операционная система центра обработки данных». Он работает на более высоком уровне абстракции, чем Kubernetes. Kubernetes только форматирует микросервисы в контейнеры. Вы по-прежнему имеете дело с несколькими отдельными серверами и несколькими пулами ресурсов. Однако DC / OS отбирает ресурсы у самого оборудования. DC / OS может представить весь центр обработки данных как один гигантский набор ресурсов - петабайты хранилища, терабайты оперативной памяти и тысячи ядер ЦП.

Разработчики могут кодировать это так, как будто они работают с одной гигантской системой, и магия DC / OS разумно распределяет нагрузку по всем вашим серверам. Это означает, что DC / OS также можно использовать для распределения рабочих нагрузок не-контейнерам. Однако у DC / OS есть заметные недостатки.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

Хотя DC / OS имеет открытый исходный код, существует корпоративная версия, в которой есть несколько ключевых функций, заблокированных брандмауэром подписки. Вам придется заплатить за некоторые функции, поддерживаемые Kubernetes.

Положительные:

  1. Позволяет узнать контейнерную или неконтейнерную рабочую нагрузку.
  2. Он представляет собой единый пул ресурсов, что упрощает работу разработчиков.

минусы:

  1. Премиум-функции заблокированы за платный доступ

Скачать DC/ОС

3. кочевник

для кого: Пользователи, которым нужна ограниченная, но целенаправленная служба синхронизации

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

Сам по себе Nomad делает очень мало. Он позволяет вам только управлять группами контейнеров и планировать эти операции. Если возникнут ошибки, ваши группы контейнеров продолжат работать, но не более того. Любые другие функции, которые вам нужны, с точки зрения ведения журнала, мониторинга или сети, должны выполняться другими инструментами. Если у вас есть дополнительные требования, Nomad легко интегрируется с другими инструментами. Hashicorp, ведущий разработчик Nomad, обеспечивает тесную интеграцию Nomad с другими программными продуктами, такими как Consul и Vault.

Лучшие альтернативы KUBERNETES: взгляд на Swarm, DC / OS, Nomad - лучший

Однако у Nomad есть несколько очень заметных недостатков. Во-первых, он ограничен, и это палка о двух концах. Если вам нужна расширенная сетевая политика и встроенная функция мониторинга, Kubernetes - лучшее решение. Кроме того, Nomad намного меньше Kubernetes. Оба являются проектами с открытым исходным кодом, которые в значительной степени полагаются на вклад сообщества. Из-за того, что всего 10%, Github практически не привязан к Kubernetes. Это означает, как правило, медленную скорость разработки и исправления ошибок.

Положительные:

  1. Простота использования по сравнению с другими перечисленными вариантами

минусы:

  1. Ограниченный объем и масштабы затрудняют реализацию в действительно крупных проектах.
  2. Относительно небольшое сообщество

Скачать кочевник 

تغليف

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

Docker Swarm намного проще настроить и использовать, но в него нет встроенных мощных инструментов для мониторинга или ведения журнала. DC / OS позволяет делать больше, чем просто организовывать микросервисы в контейнеры, но премиальная функциональность скрывается за брандмауэром. Хотя основной отличительной чертой Nomad является его простота, которая делает его идеальным для небольших проектов, сама простота делает его менее чем идеальным для работы на уровне крупного предприятия.

Перейти к верхней кнопке