Еще один популярный тренд — системы контейнеризации. Сегодня мы попытаемся сравнить две популярные системы — Kuberneres и Docker. Сразу хочется отметить, что обе эти системы предоставляют широкие возможности по управлению виртуальными контейнерами, но делают это несколько разными способами.
Kubernetes — OpenSource программное обеспечение для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями, разработанное Google. Хотя Kubernetes и предоставляет очень мощный и масштабируемый инструмент, он является сложной, а иногда очень сложной системы.
Контейнеризация Docker — гибкая и простая система, позволяющая упаковать приложение со всем его окружением и зависимостями в контейнер, который может быть перенесен на любую
Стремительный рост средств контейнеризации в 2016–2018 годах привел к распространению платформ, обеспечивающих масштабируемость, гибкость и безопасность. В июле 2018 года Google выпустила свою платформу Google Services Platform, чтобы конкурировать с аналогичными продуктами от RedHat, AWS, VMware и Docker. Эти платформы являются моделями PaaS (Platform as a Service), которые в последнее время стали называть также моделями CaaS (Container as a Service). Они предоставляют доступ к контейнерными сервисами компаниям, которые хотят получить масштабируемую разработку посредством контейнеров, не создавая с нуля всю инфраструктуру.
Сравнение Kуба с Докером, на самом деле сводится к сравнению Куба с продуктом Docker Swarm. У новых подписчиков Докера есть непосредственный доступ к функциям Swarm, а в старых Swarm придется включать вручную.
Чаще всего пользователи Куба жалуются на то, что он использует отдельную установку для каждой ОС. Можно использовать
Docker Swarm гораздо проще: тебе нужно изучить всего один набор инструментов для создания и настройки среды — Docker CLI (Command Line Interface). Поскольку Swarm работает в твоем текущем докере, он практически не нуждается в настройке. Используя Swarm, ты можешь создавать свои контейнеры по мере возникновения в них необходимости, в отличие от Куба, где ты должен определить свои кластеры заранее.
Куб поддерживает несколько средств журналирования и мониторинга:
Докер контейнер поддерживает только сторонние приложения для мониторинга. Разработчики Докера рекомендуют использование Reimann, но поскольку API открыт, уже доступно много других приложений.
Раньше размер и количество контейнеров был решающим фактор в выборе между Кубом и Докером. Но последнее обновление Докера значительно сократило разрыв. Обе системы поддерживают кластеры, состоящие из 1000 узлов и 30 000 контейнеров.
Так что же выбрать? Если выберешь Куб, то после мучений с развертыванием, сможешь похвастаться, что 99% вызовов API отвечают в течение одной секунды. С другой стороны, Докер гораздо проще в настройке.
В марте 2016 года Докер сообщил о независимом тесте Куба и Докера. В результате теста было обнаружено, что при одинаковом количестве контейнеров Докер в 5 раз быстрее, чем Куб. А все это
Докер — быстрее в 5 раз
Выбор между Кубом и Докером — непростая задача. В заключение приведем табличку с преимуществами и недостатками каждого решения. Надеюсь, она поможет сделать правильный выбор.
Kubernetes | Docker | |
---|---|---|
Преимущества |
Бесплатный и очень мощный инструмент Отказоустойчивость на высоте |
Простота Скорость освоения Производительность |
Недостатки |
Сложен в освоении В 5 раз медленнее, чем Докер |
Узкий функционал Не такой отказоустойчивый, как Куб |