Ответ VMware на исчезнувший мир Docker

Опубликовано: 18 Апреля, 2023
Ответ VMware на исчезнувший мир Docker

Любой, кто имел возможность работать с контейнерами, знает, насколько популярен Docker. Особенность контейнеров заключается в гибкости работы, которую они предлагают, с использованием относительно небольших ресурсов по сравнению с виртуальными машинами — основным предложением VMware. Означает ли это, что люди вообще перестанут использовать виртуальные машины? Отнюдь не. Большинство предприятий по-прежнему считают, что стабильность и безопасность, предлагаемые виртуальными машинами, намного перевешивают гибкость и низкие требования к ресурсам, предлагаемые контейнерами. Это может быть связано с тем, что отсутствие изоляции, обеспечиваемой контейнерами, делает их более легкой мишенью для хакеров. Однако, если вы посмотрите на историю и на то, как новые технологии всегда сталкиваются с проблемами, набирая популярность, это определенно просто проблемы, и как только разработчикам удается сгладить несколько изломов, невозможно скрыть тот факт, что контейнеры здесь, чтобы остаться.

Если вы не можете победить их, присоединяйтесь к ним

Зная, что контейнеры — это путь в будущее, и что им действительно не хватает безопасности и стабильности, которые предлагают виртуальные машины, у VMware действительно было только два варианта. Поднимитесь на борт или уйдите с дороги. Они приняли правильное решение, присоединившись к ним, и теперь работают над тем, чтобы сделать контейнеры пригодными для предприятий. Вероятно, следует задать вопрос: «Что они могут принести к столу?» Ответом будет чертовски много, потому что вы говорите о компании, у которой есть хотя бы один продукт в каждом центре обработки данных в мире, и к тому же у нее большие карманы.

Давайте посмотрим, как VMware «подталкивает» контейнеры к готовности к производству, чтобы они были на подножке, когда они, наконец, взлетят. До использования контейнеров каждому экземпляру программы требовалась собственная ОС вместе с библиотеками и ресурсами. Что сделали контейнеры, так это виртуализировали уровень ОС, так что одного ядра Linux и набора ресурсов было достаточно для параллельного запуска большого количества экземпляров. Это имеет решающее значение для DevOps, и любое предприятие, принявшее этот подход, склонялось бы к использованию контейнеров, особенно при разработке.

Проблемы с управлением контейнерами

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

Ответ VMware

Решение VMware о поддержке контейнеров привело к запуску двух продуктов, предназначенных для разных клиентов: Vsphere Integrated Containers (VIC) и Photon. VIC был разработан для работы с Docker и позволяет клиентам VMware использовать знакомую консоль VSphere и инструменты управления для управления и контроля контейнеров. Что он на самом деле делает, так это рассматривает каждый контейнер как мини-виртуальную машину. VSphere, пожалуй, самая популярная облачная платформа виртуализации от VMware. VMware признала, что основной областью, в которой не хватало контейнеров, была безопасность. Компания VMware потратила почти 15 лет на создание гипервизора, похожего на крепость, который уже пользуется доверием предприятий во всем мире. Интегрировав Docker в свою платформу виртуализации VSphere, VMware не только предоставила разработчикам знакомый Docker API для работы, но и обеспечила его безопасность таким образом, которого ожидают предприятия при запуске своих критически важных приложений.

Хосты и клоны виртуальных контейнеров

Благодаря жесткой границе изоляции, обеспечиваемой VSphere, использование Docker стало гораздо более привлекательным вариантом для производства. Хотя виртуальные машины всегда были совместимы с контейнерами, каждому контейнеру требовалась собственная виртуальная машина. Это может показаться огромной тратой ресурсов на то, чтобы у каждого контейнера была собственная ОС, но большинство предприятий так и делали до сих пор. С VIC используется Virtual Container Host (VCH), который запускает бумажную копию ОС с каждым контейнером. Отличительной чертой VCH являются его полностью динамические границы и тот факт, что он использует только те ресурсы, которые используются запущенными контейнерами. Когда контейнеры перестают существовать, их ресурсы возвращаются в пул ресурсов. Наряду с технологией клонирования, которая позволяет клонировать и разветвлять ОС по мере необходимости, она позволяет одновременно запускать контейнеры и обычные приложения виртуальных машин. Что он делает, так это устраняет разрыв между теми, кто хотел бы начать использовать контейнеры, и теми, кто использует исключительно виртуальные машины. Там, где предприятие, вероятно, использовало тысячу виртуальных машин для запуска тысячи приложений, с помощью VCH теперь они могут запускать эти приложения в контейнерах, распределенных по гораздо меньшему количеству виртуальных машин.

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

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

«голое» ядро

Еще одним шагом в продвижении контейнеризации является ОС Photon. Контейнеры работают на одном ядре Linux, что позволяет их упаковывать и запускать на любой платформе независимо от несоответствий в среде. Так что VMware создала сверхлегкое ядро Linux с нуля с задачей успешного запуска контейнеров в качестве единственного приоритета. То, что делает операционная система Photon, — это обертывание каждого контейнера с помощью технологии клонирования, которая позволяет ей разветвляться на несколько экземпляров. Клоны можно создавать и удалять в одно мгновение, и они обеспечивают столь необходимую изоляцию для контейнеров. Фотонная платформа состоит из фотонной машины и фотонного контроллера. Машина состоит не только из упрощённой ОС, но и упрощённой версии гипервизора ESXi, называемого микровизором. Таким образом, каждый контейнер получает не только свою ОС, но и мини-охранника! В отличие от VIC, Photon не использует Docker в качестве базовой технологии. В отличие от пользователей VIC, которые переходят с виртуальных машин на контейнеры, Photon предназначен для новых разработчиков, которые хотят полностью внедрить контейнеризацию.

Лучший из двух миров

Благодаря обоим этим усилиям VMware эффективно рассматривает возможность слияния двух технологий, виртуальных машин и контейнеров, чтобы получить лучшее из обоих миров. Благодаря сверхлегкой ОС и микровизору VMware удалось обеспечить столь необходимую изоляцию, необходимую контейнерам для предотвращения их взаимодействия друг с другом. Является ли запуск каждого контейнера с уменьшенной ОС и гипервизором оптимальным решением для использования контейнеров в производственной среде? Только время покажет, но мы знаем, что это определенно шаг вперед как для контейнеров, так и для виртуальных машин.