Сравнение виртуальных машин и контейнеров
Виртуализация оборудования позволяет одновременно запускать несколько изолированных экземпляров операционных систем на одном физическом оборудовании. Контейнеры представляют собой следующий этап виртуализации вычислительных ресурсов.
Виртуализация на основе контейнеров позволяет виртуализировать операционную систему. Этот подход позволяет запускать несколько приложений в одном экземпляре операционной системы, сохраняя изоляцию между приложениями. Контейнеры в виртуальной машине предоставляют функциональные возможности, аналогичные виртуальным машинам на физическом сервере.
Сведения о контейнерах и виртуальных машинах
Чтобы лучше понять виртуализацию на основе контейнеров, давайте сравниваем контейнеры и виртуальные машины.
Сравнить | Контейнеры | Виртуальные машины |
---|---|---|
Изоляция | Контейнер обычно обеспечивает упрощенную изоляцию от узла и других контейнеров, но контейнер не предоставляет так сильную границу безопасности, как виртуальная машина. | Виртуальная машина обеспечивает полную изоляцию от операционной системы узла и других виртуальных машин. Это разделение полезно, если важная граница безопасности, например размещение приложений от конкурирующих компаний на одном сервере или кластере. |
Операционная система | Контейнеры запускают часть операционной системы в пользовательском режиме и могут быть адаптированы для хранения только необходимых служб для вашего приложения. Этот подход помогает использовать меньше системных ресурсов. | Виртуальные машины выполняют полную операционную систему, включая ядро, для которого требуются дополнительные системные ресурсы (ЦП, память и хранилище). |
Развертывание | Отдельные контейнеры можно развернуть с помощью Docker с помощью командной строки. Можно развернуть несколько контейнеров с помощью оркестратора, например Служба Azure Kubernetes. | Вы можете развернуть отдельные виртуальные машины с помощью Windows Admin Center или диспетчера Hyper-V. Вы можете развернуть несколько виртуальных машин с помощью PowerShell или System Center диспетчер виртуальных машин. |
Постоянное хранилище | Контейнеры используют диски Azure для локального хранилища для одного узла или Файлы Azure (общие ресурсы SMB) для хранения, совместно используемого несколькими узлами или серверами. | Виртуальные машины используют виртуальный жесткий диск (VHD) для локального хранилища для одного компьютера или общей папки SMB для общего хранилища несколькими серверами. |
Отказоустойчивость | Если узел кластера завершается ошибкой, оркестратор на другом узле кластера быстро создает все контейнеры, работающие на узле. | Виртуальные машины могут выполнять отработку отказа на другой сервер в кластере, где операционная система виртуальной машины перезапускается на новом сервере. |
Что следует учитывать при использовании контейнеров
Контейнеры предлагают несколько преимуществ по сравнению с физическими и виртуальными машинами. Ознакомьтесь со следующими преимуществами и рассмотрим, как реализовать контейнеры для внутренних приложений для вашей компании.
Рассмотрите возможность гибкости и скорости. Получите повышенную гибкость и скорость при разработке и совместном использовании кода контейнерного приложения.
Рассмотрите возможность тестирования. Выберите контейнеры для конфигурации, чтобы обеспечить упрощенное тестирование приложений.
Рассмотрим развертывание приложения. Реализуйте контейнеры для упрощения и ускорения развертывания приложений.
Рассмотрим плотность рабочей нагрузки. Поддержка более высокой плотности рабочей нагрузки и улучшение использования ресурсов путем работы с контейнерами.