Контейнеры — это стандартизированные единицы программного обеспечения, которые содержат весь код и зависимости, включая двоичные файлы, библиотеки и файлы конфигурации, необходимые для работы приложения. Контейнерное программное обеспечение может надежно работать с переходом между вычислительными средами.
И в виртуальных машинах (ВМ), и в контейнерах с помощью виртуализации созданы изолированные сред для запуска приложений. Ключевое различие заключается в уровне виртуализации: ВМ виртуализируются на уровне операционной системы (ОС) / машины, а контейнеры — на уровне программного обеспечения.
Рассмотрим подробнее различия между этими двумя технологиями виртуализации.
ВМ виртуализирует всю машину и ОС для размещения на другой машине. Чтобы совместно использовать ресурсы хост-машины, необходим гипервизор для виртуализации сервера. Несколько ВМ могут работать на одном гипервизоре, взаимодействующем с хост-машиной. Виртуальные машины помогают сэкономить деньги, позволяя разделить один физический сервер на несколько машин, на которых можно запускать приложения с разными зависимостями и рабочими требованиями.
Хотя можно сэкономить деньги, не покупая новые серверы, для ВМ требуется много системных ресурсов хост-машины. Если нужно смоделировать всю ОС и базовый компьютер для запуска единственного приложения через гипервизор, становится ясно, что дальнейшая детализация поможет добиться еще большего снижения затрат.
Опробуйте инстанс Pure1® с самообслуживанием для управления Pure FlashBlade™, самого передового решения в отрасли, предоставляющего файловое хранилище и хранилище объектов с горизонтальным масштабированием.
Представьте, насколько удобно запускать приложение в виртуальной среде, когда не нужно выполнять жесткие требования к ресурсам для гипервизора. Именно это и позволяет делать контейнер, инкапсулируя программное обеспечение в виртуальные автономные единицы.
При использовании контейнеров больше не нужно виртуализировать всю операционную систему и сервер с помощью гипервизора. Вместо этого достаточно виртуализировать только программные и аппаратные зависимости, необходимые для запуска конкретного приложения, при использовании ядра ОС хост-машины. Контейнеры позволяют создавать несколько рабочих сред в одном экземпляре ОС. В результате контейнеры нагружают физические серверы на несколько порядков меньше, чем виртуальные машины.
Хотя контейнеры более гибкие, чем виртуальные машины, их зависимость от ядра ОС хост-машины ограничивает использование приложений с зависимостями в средах других ОС. Виртуальные машины также более изолированы и безопасны, поскольку полностью независимы от хост-машины.
Контейнеры следует использовать в таких случаях:
ВМ следует использовать в таких случаях:
Хотя контейнеры позволяют абстрагироваться от деталей базового оборудования при разработке ПО, неэффективность устаревшей ИТ-инфраструктуры может снизить общую производительность.
Pure Service Orchestrator™ — это инструмент для оркестрации контейнеров, который легко предоставляет ресурсы постоянной СХД контейнерным приложениям. Он беспрепятственно интегрируется с Kubernetes и другими инструментами оркестрации контейнеров, обеспечивая следующее:
Pure Service Orchestrator сочетает в себе эластичное масштабирование, интеллектуальную инициализацию и прозрачное восстановление для предоставления контейнеров как услуги.