Впервые возможность запускать одну ОС внутри другой появилась около 20 лет назад. Еще несколько лет спустя возникла технология, позволяющая изолировать отдельные сегменты ОС. Однако ближе всего к контейнерным технологиям приблизилась ОС Linux Containers (LXC), которая вышла в 2008 году. Она же стала базой для разработки платформы Docker в 2013-м. Новая платформа поддерживала API, командную строку, модель образов данных и инструменты управления кластером, которые упрощали масштабирование. Это послужило хорошим началом для создания автономных единиц приложений без встроенной ОС — современных контейнеров. Сегодня они разрабатываются в среде Linux и ОС Windows.
Принцип работы контейнеров
С помощью гипервизора на одном физическом компьютере можно изолировать друг от друга несколько ОС — создать под них виртуальные машины (ВМ) и в каждой запустить свою ОС. Это позволит максимально использовать доступные физические ресурсы. Если с традиционной архитектурой уровень загрузки серверов редко превышает 50 % (а обычно находится в районе 5-15 %), то виртуализация поднимает его до 80 %.

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

Контейнеры на «голом железе»
Контейнеры можно запускать непосредственно на физическом оборудовании, в виртуализированной среде и в облаке — везде они будут работать одинаково эффективно. К другим плюсам можно отнести простое и наглядное управление работой контейнеров, высокую доступность и безопасность выполнения запущенных приложений, сокращение затрат на IT-инфраструктуру и повышение катастрофоустойчивости.
Контейнеры на самом деле помогают среднему и малому бизнесу (СМБ-сегменту) экономить. Если возникнет проблема на одном физическом сервере, работающие на нем контейнеры быстро «переедут» на соседний, рабочий. Он может находиться как в исходном дата-центре, так и в другом, но при этом оба ЦОДа должны быть объединены единой средой виртуализации. Требования к единообразию физических серверов нет — они могут быть разных типов и с разными ОС.
Понятия «контейнеры», «докеры» тесно взаимосвязаны с Kubernetes — это современная платформа управления контейнерами Docker и их сервисами. Она упрощает настройку и автоматизирует работу приложений, запущенных на контейнерах.
Зачем СМБ использовать контейнеры
С помощью контейнерных технологий можно упростить создание, сократить время запуска и остановки приложений, с меньшими ресурсами реализовать подходы DevOps, эффективно совмещать процесс разработки, интеграции и развертывания приложений. Контейнеры позволяют контролировать ряд метрик на уровне ОС и оперативно получать сведения о работоспособности приложений, универсифицировать рабочие среды и обеспечить совместимость, которая требуется при переносе кодов между разными ОС.
Контейнеры, как и ВМ, виртуализируют приложения, однако при этом работают более автономно и содержат все необходимое для запуска: программный код, время исполнения, системные инструменты, библиотеки и т. п. Все это делает работу контейнеров более прогнозируемой независимо от принципов устройства IT-инфраструктуры организации.
Контейнерные решения HPE для СМБ-сегмента
Компания HPE стремится к тому, чтобы ее клиенты смогли оценить все преимущества контейнерных технологий и на выходе получили стабильно работающие бизнес-приложения. Для этого одна из крупнейших IT-компаний США предлагает комплексные решения, которые включают не только средства для контейнеризации, но и серверы линейки ProLiant, экспертную поддержку и финансовые сервисы для оптимизации стоимости развертывания.
HPE GreenLake
Облачная платформа HPE GreenLake упрощает и снижает затраты на развертывание контейнерной среды в компаниях малого и среднего бизнеса. Это возможно благодаря тому, что данное решение предоставляет предварительно сконфигурированные платформы для развертывания Kubernetes на стороне клиента или в дата-центре, где он арендует вычислительные ресурсы.
Многие IT-системы в пиковые периоды могут нуждаться в дополнительных ресурсах. Разработчики учли это и заложили в HPE GreenLake дополнительную емкость для наращивания производительности. Ее можно получить в соответствии с принципом «as-a-service», то есть только тогда, когда трафик становится более интенсивным. Такой подход позволяет бизнесу экономить — он полностью прозрачно потребляет и оплачивает ресурсы, которые необходимы ему в каждый момент времени.
HPE Pointnext Services и HPE Container Adoption
Оба сервиса помогают клиентам HPE создавать оптимальные архитектуры контейнеризованных приложений, хранилищ данных, а также автоматизировать операции в виртуальной среде.
HPE Container Platform
Данную платформу можно развернуть на площадке организации или в облаке у публичного провайдера. Ее можно реализовать в виде отдельных ВМ на базе гипервизора или гостевой ОС, а также на bare metal («голом железе») с общей ОС посредством Docker Engine.

Возможные варианты реализации HPE Container Platform
Общие принципы развертывания контейнеров
Как выглядит начальная конфигурация Docker для среднего и малого бизнеса на базе серверов линейки HPE ProLiant:

Начальная конфигурация Docker для СМБ.
Ниже представлена конфигурация контейнерной платформы с высокой доступностью на нескольких кластерах в режиме «активный-пассивный»:

Docker c высокой доступностью НА
Контейнерная платформа для HPE EdgeLine
В HPE есть несколько вариантов реализаций контейнерных платформ для организаций различного размера и сферы деятельности. Для крупных предприятий с большим количеством филиалов разработано решение HPE Ezmeral, в то время как для сегмента СМБ и вычислений на границе сети (Edge Computing) больше подойдет HPE Container Platform на оборудовании HPE EdgeLine.
Предприятия СМБ-сегмента стали генерировать, собирать и накапливать больше данных, чем несколько лет назад. Чаще всего это так называемые данные в сети граничных вычислений, которые анализируются непосредственно на границе сети — это быстрее и дешевле, чем отправлять их в облако. Оба критерия важны для малого и среднего бизнеса: он стремится экономить в том числе на IT-инфраструктуре плюс отдельные приложения могут быть чувствительны к задержкам обработки данных. Кроме этого, проблемой может стать безопасность данных при передаче их на большие расстояния.
Выполнить все три условия — обрабатывать данные на границе сети быстро, дешево и безопасно — позволяют контейнерные технологии. Рабочие экземпляры приложений можно упаковать в контейнеры, доставить на граничные сетевые устройства и запустить. Таким образом, локально полученные данные можно будет анализировать на границе сети, а результаты отправлять в облако для обучения аналитической модели, более детального анализа или составления отчетов. Удобнее всего это делать, когда есть общий набор стандартных приложений, которые одинаково работают в разных частях сети. Под это условие как раз подходят контейнеризированные приложения.
HPE Edgeline для обработки контейнеров под задачи аналитики
Давайте определимся с тем, что мы называем границей сети Edge. В общем случае это рабочие места или участки, на которых можно собирать данные: удаленные офисы, производственные цеха, базовые станции сотовых операторов и т. п. Тогда устройствами, работающими на границе сети, будут автомобили, регистраторы, камеры видеонаблюдения, всевозможные датчики и другое оборудование, которое может генерировать данные. Если их обрабатывают по месту сбора, то саму операцию называют граничными вычислениями или Edge Computing. Лучше всего для этих задач подходят легкие и предсказуемые в работе контейнеры.
В HPE разработали несколько серверов, которые идеально подходят для развертывания на границе сети. Они поставляются в усиленных корпусах, работают в широком температурном диапазоне (от 0 °C до 55 °C), устойчивы к механическим повреждениям и вибрации. Внутри таких серверов находятся процессоры промышленных стандартов Intel, поддерживающие работу соответствующих ОС — Red Hat Enterprise Linux, CentOS, SUSE, и Windows.
Оборудование HPE Edgeline имеет все необходимые сертификаты для запуска HPE Container Platform и включает в себя три сервера: HPE EL1000, HPE EL4000 и HPE EL8000.
HPE Edgeline EL1000 Converged Edge System
Сервер HPE Edgeline EL1000 Converged Edge доступен в трех типах шасси.
- HPE Edgeline EL1000 1GbE 2xRJ45 v2 Pass Thru System
- HPE Edgeline EL1000 10GbE 2xSFP+ v2 Pass Thru System
- HPE Edgeline EL1000 1GbE 2xRJ45 Pass Thru PXIe System
В шасси EL1000 вставляется картридж сервера HPE ProLiant m510.
Сетевые карты EL1000:
- 2-х портовая карта Ethernet 10/25Gb HPE 640SFP28
- 2-х портовая карта InfiniBand FDR/Ethernet 10Gb/40Gb HPE 544_QSFP
- 2-х портовая карта InfiniBand EDR/Ethernet HPE 841QSFP28
Ускоритель GPU:
- HPE NVIDIA Tesla T4 16GB
- HPE Edgeline EL1000 может крепиться в стойке или на стене рабочего помещения.
HPE Edgeline EL4000 Converged Edge System
Сервер HPE Edgeline EL4000 Converged Edge System доступен в трех типах шасси:
- HPE Edgeline EL4000 10GbE 2xSFP+ v2 Switch System
- HPE Edgeline EL4000 4x10GbE 2xQSFP+ v2 Pass Thru System
- HPE Edgeline EL4000 10GbE 2xSFP+ Switch PXIe System
- HPE Edgeline EL4000 может содержать от 1 до 4 картриджей сервера HPE ProLiant m510
Сетевые интерфейсы HPE Edgeline EL4000:
- 2-х портовая карта Ethernet 10/25Gb HPE 640SFP28
- 2-х портовая карта InfiniBand FDR/Ethernet 10Gb/40Gb HPE 544_QSFP
- 2-х портовая карта InfiniBand EDR/Ethernet HPE 841QSFP28
Ускорители HPE GPU:
- Вычислительный ускоритель HPE NVIDIA Tesla T4 16GB
- Графический ускоритель HPE AMD Radeon Pro WX4100
- Графический ускоритель HPE NVIDIA Quadro P1000 Graphics Accelerator
Сервер HPE Edgeline EL4000 можно монтировать в стойку, на стену рабочего помещения или на полку.
Картридж сервера HPE ProLiant m510
Данный картридж поставляется с восьми- или шестнадцатиядерным процессором Intel Xeon и максимум 128 ГБ ОЗУ. При условии использования графического ускорителя GPU NVIDIA Tesla T4 сервер HPE ProLiant m510 может выполнять практически любые аналитические операции на границе сети. Внутри картриджа предусмотрен слот M.2 для накопителей емкостью 64 ГБ, 120 ГБ или 240 ГБ. Два слота NVMe подходят для установки накопителей емкостью 256 ГБ, 512 ГБ, 1 ТБ и 2 ТБ. Таким образом, максимальный объем одного картриджа составляет 4,24 ТБ.
HPE Edgeline EL8000 Converged Edge System
HPE Edgeline EL8000 обеспечивает максимально высокую производительность для вычислений на границе сети и может содержать одно- или двухюнитовые блейд-серверы e910 (четыре 1U или два 2U). До восьми накопителей вида SFF поддерживают «горячую замену», что ускоряет транспортировку данных для приложений. Среди поддерживаемых накопителей — 400 ГБ SAS, 800 ГБ SAS, 480 ГБ SATA, 3,84 ТБ SATA и 15,36 ТБ SAS. Оптимизировать кабельную инфраструктуру помогают два необслуживаемых коммутатора 10 Гб/с.
В HPE Edgeline EL8000 возможны следующие виды ускорителей:
- Вычислительный ускоритель HPE NVIDIA Tesla V100 PCIe 32GB
- Вычислительный ускоритель HPE NVIDIA Tesla T4 16GB
- Ускоритель Intel Stratix® 10 SX FPGA
- Графический ускоритель HPE NVIDIA Quadro TRX 6000
Блейд-серверы HPE ProLiant e910
Одноюнитовые серверы имеют один слот PCIe половинной высоты и половинной длины, двухюнитовые — два слота PCIe половинной длины и половинной длины и три слота PCIe полной высоты и длины. Также в 2U-варианте предусмотрено расширение для дополнительных слотов PCI.
Выгоды для СМБ-сегмента
Предприятиям малого и среднего бизнеса выгодно использовать HPE Container Platform по следующим причинам:
- Прирост производительности. Платформа унифицирует развертывание для самых разных сценариев, в том числе модернизации приложений, хостинга баз данных, аналитики и внедрения модели DevOps.
- Повышение безопасности. Использование решения снижает потенциальные риски для организации.
- Экономия ресурсов. Внедрение платформы помогает снизить полную стоимость владения (TCO), более рационально использовать ресурсы физического оборудования, ускорить окупаемость и сроки возврата инвестиций (ROI).
- Повышение гибкости. Унифицированная платформа идеально справляется с нагрузками, которые создают любые типы приложений, включая облачные.