Почему виртуализация все еще используется вместо контейнеров?

Почему виртуализация все еще используется вместо контейнеров?

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

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

Контейнерыявляются формой виртуализации операционной системы.

Обе системы могут достичь одной и той же цели, но контейнеры гораздо эффективнее.

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

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

решение1

Контейнеры естьнет"форма виртуализации операционной системы". Контейнеры — это способ создания многопользовательских сред в одном образе ОС. Контейнеры и виртуальные машины никогда не могли достичь той же цели. Контейнеры основаны на технологии, которая никогда не предназначалась для замены виртуальных машин; это способ создания jails, более безопасных, чем, скажем, chroot (это как "chroot на стероидах").

Если вы хотите увидеть «форму виртуализации операционной системы», узнайте о паравиртуальной технологии Xen;чтоявляется формой виртуализации ОС.

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

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

Из-за инертности в умах людей. Виртуальные машины — это как компьютеры, которые мы используем уже очень давно, и все к ним привыкли. Контейнеры — это совсем другие вещи.

Из-за широкого распространения Windows, в которой нет такой концепции. Я даже могу предположить, что это из-за того, что сложно обеспечить соблюдение лицензионных ограничений в действительно безопасной контейнерной среде; условия лицензирования Micro$oft всегда были очень размытыми, но включение контейнеров может сделать это невыносимым даже для их самых преданных сторонников.

решение2

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

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

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

Каждая отдельная виртуальная машина теоретически может создать еще 3–5 виртуальных машин, которые затем можно контейнеризировать и использовать гораздо эффективнее.

решение3

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

Это от Microsoft и, очевидно, ориентировано на Azure, но все равно это хорошее сравнение:https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm.

решение4

С контейнерами вам нужно запустить одну и ту же ОС во всех контейнерах. Но людям часто нужно запускать разные ОС. Вам может потребоваться запустить в облаке как системы Linux, так и Windows; более того, вам может потребоваться запустить какую-то определенную старую версию Linux или Windows для определенного приложения, которое не работает на новых системах. Для поставщика облачных услуг единственным способом удовлетворить потребности разных клиентов (которым может потребоваться несколько разных ОС) является виртуализация.

Связанный контент