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

К настоящему времени практически все, кто работают в сфере ИТ, слышали о контейнерах — легкой технологии виртуализации, которая является одной из основ нативных облачных вычислений.

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

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

Миф 1. Технологию контейнеров изобрел Docker

Docker, который стал платформой с открытым исходным кодом в 2013 г., был первым фреймворком контейнеризации, получившим широкое распространение.

Но вряд ли его можно считать первой контейнерной технологией. Напротив, контейнеры появились несколько десятилетий назад. Docker предшествовали такие технологии, как LXC (на которой когда-то был основан Docker) и BSD «jails», которые также предоставляли возможность запускать приложения в квазиизолированных, программно-определяемых средах.

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

Миф 2. Контейнеры намного быстрее виртуальных машин

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

Это правда, что контейнеры более эффективны. Однако разница в производительности между контейнерами и ВМ меньше, чем можно подумать. В среднем, по данным VMware, она составляет всего 2% (хотя результат сильно варьируется в зависимости от того, с какими типами рабочих нагрузок вы имеете дело).

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

Миф 3. Kubernetes — это альтернатива Docker

Иногда люди рассматривают Kubernetes и Docker как предложения «или-или». Они считают, что использовать можно либо Docker, либо Kubernetes.

В действительности Docker и Kubernetes — это разные вещи. Kubernetes — это технология оркестровки, в то время как Docker по своей сути — это способ запуска контейнеров.

Честно говоря, сравнение Kubernetes и Docker может запутать, поскольку Docker также предоставляет свой собственный инструмент оркестровки, называемый Swarm. Но это только часть Docker (и не самая важная). Вы можете использовать Docker для запуска контейнеров одновременно с использованием Kubernetes для их оркестровки.

Миф 4. Контейнеры предназначены только для Linux

Большая часть усилий по разработке контейнеров была сосредоточена на Linux. Эта ОС также необходима для определенных типов рабочих нагрузок, связанных с контейнерами; например, главные узлы Kubernetes могут работать только на серверах Linux.

Однако контейнеры могут работать и на Windows. Более того, вы даже можете создать кластер Kubernetes, включающий одновременно узлы Linux и Windows, что позволит вам запускать приложения Windows и Linux бок о бок, используя центральную плоскость управления.

Миф 5. Контейнеры работают только в облаке

Люди считают контейнеры технологией, работающей только в облаке, и это, вероятно, связано с тем, что путаницу вызывает термин «cloud-native» (который тесно связан с контейнерами).

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

Миф 6. Контейнерами сложно управлять

На заре внедрения контейнеров их было сложно развертывать и контролировать. Управление такими вещами, как постоянное хранилище, также было сложным.

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

Поэтому, если раньше было справедливо утверждать, что работа с контейнерами объективно сложнее, чем работа с ВМ, то в 2022 г. это уже не так.

Миф 7. Все понимают, что такое контейнеры

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

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

Заключение

Чтобы получить максимальную отдачу от контейнеров, избегайте заблуждений — таких как идеи о том, что контейнеры намного быстрее ВМ, что они работают только на Linux или что если вы не освоили все тонкости контейнерной технологии, то вы — изгой.