Где Размещать Контейнеры: На Выделенном Сервере Или На Виртуальной Машине?

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

Эксперт Кристофер Тоцци объясняет, почему иногда стоит выбирать виртуальные машины.

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

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

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

Я сосредоточусь на Docker, но выводы в целом применимы к любой платформе управления контейнерами.



Где размещать контейнеры: на выделенном сервере или на виртуальной машине?



Выделенный сервер или виртуальная машина?

Сравнение плюсов и минусов выделенных серверов и виртуальных машин для размещения программной среды — задача не новая.

Руководители технологических компаний задумались об этом с тех пор, как виртуализация получила широкое распространение в центрах обработки данных в 2000-х годах, задолго до появления Docker. Вкратце, основные преимущества выделенного сервера заключаются в следующем:

  • Относительно высокоскоростной .

    Системные ресурсы не тратятся на эмуляцию оборудования;

  • Ресурсы оборудования используются полностью, поскольку оно не простаивает в периоды высокой нагрузки;
  • Упрощенное администрирование.

    Инфраструктура содержит меньше хостов, сетей и дисков.

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

    Это решает проблемы безопасности и помогает снизить сложность администрирования;

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

Но использование виртуальных машин также предполагает некоторые недостатки .

К ним относятся следующие:

  • Ресурсы сервера могут быть использованы не полностью.

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

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

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

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

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

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

То есть объем памяти не будет заблокирован до тех пор, пока он действительно не понадобится пользователю.

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

Однако эти уловки не всегда эффективны.

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

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

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



Квадратура круга: как работают контейнеры на выделенном сервере

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

Контейнеры на выделенных серверах позволяют:

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

    Приложение работает в той же операционной системе, что и сервер.

  • - эффективно использовать системные ресурсы.

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

    То есть сервер может распределять системные ресурсы по мере необходимости.

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

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

  • Изоляция приложений.

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

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

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

Почему не всегда следует размещать контейнеры на выделенном сервере.

Вы, наверное, задаетесь вопросом, почему бы не запускать контейнеры всегда непосредственно на выделенном сервере? Если этот подход обеспечивает все преимущества, зачем нужен другой? Учтите следующие недостатки размещения контейнера на выделенном сервере, а не на виртуальной машине:

  • Обновление физического сервера затруднено.

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

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

  • Большинство облачных сервисов настаивают на использовании виртуальных машин.

    Также есть облачный хостинг с выделенными серверами, например, OnMetal от Rackspace или Bare Metal Cloud Service от Oracle. Но в целом работа с облаком предполагает использование виртуальных машин.

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

  • Контейнеры поддерживают не все настройки оборудования и программного обеспечения.

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

    Но возможности Docker ограничены.

    При размещении на физическом сервере он работает только на Linux и некоторых серверах Windows. Это означает, что если ваш выделенный сервер работает, скажем, под управлением Windows Server 2012, а Docker в настоящее время его не поддерживает, и вы хотите разместить на нем Docker, вам придется установить виртуальную машину в дополнение к серверу Windows, чтобы соответствовать требованиям.

    с требованиями Docker.

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

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

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

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

    Сами контейнеры — это нечто эфемерное; у них нет предыдущего состояния.

    Ведь простейший возврат в предыдущее состояние можно реализовать только на виртуальной машине.



Заключение

Нелегко решить, размещать ли контейнеры на выделенном сервере или на виртуальной машине.

Вам придется взвесить все «за» и «против», чтобы определить, какой вариант лучше всего подходит для вашей организации.

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

Если вы выбираете виртуальный сервер или выделенный сервер для своих проектов, попробуйте использовать каталоги VDS.меню И ВЫДЕЛЕННОЕ.

меню .

Теги: #Виртуализация #Системное администрирование #Администрирование серверов #выделенные серверы #Облачные вычисления #виртуальные серверы

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.