Что нужно сделать, чтобы Kubernetis прижилась в корпоративной среде

APC

Сегодняшнее мероприятие проведет Александр Шумилин, компания Hewlett Packard Enterprise, он расскажет о HPE Ezmeral Container Platform, ранее известной под названием HPE Container Platform. 


Многие аналитики считают, что контейнеры представляют собой следующий этап развития корпоративной инфраструктуры. С течением времени постепенно осуществлялся переход от клиент-серверной архитектуры к виртуальным машинам. Многим это понравилось: можно экономить, консолидировать, переносить виртуальные машины, так что стали их переносить даже из ЦОД в облака. 

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

Посмотрим на мировую статистику. Предполагается, что буквально в течение двух лет количество контейнеров значительно возрастет, в 2022 году 3/4 корпоративных заказчиков будут использовать в своей среде контейнеры. 

При этом следует обратить внимание, что более половины (54%) этих контейнеров будут размещены в собственных ЦОДах. Т.е. рассчитывать на то, что все пользователи контейнеров будут работать в облачном формате не корректно, значит айтишникам придется каким-то образом интегрировать контейнеры и среды по управлению контейнерами в свои корпоративные инфраструктуры.

Чем контейнеры отличаются от виртуальных машин

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

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

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

Считается, что наличие гипервизора у виртуальных машин по сравнению с контейнерами добавляет от 5 до 20% нагрузки, и от 5 до 20% ресурсов тратится на "обогрев" гипервизора, кроме того дополнительно необходимо дублировать ОС, библиотеки и т.д. Все это устраняется при использовании контейнеров. Здесь есть свои безусловные достоинства, но есть и недостатки в вопросах обеспечения безопасности, изолированности контейнеров и т.д. Все это становится актуальным и важным.

В настоящее время сами контейнеры упаковываются с помощью программного обеспечения компании Docker, а управление контейнерами осуществляется в основном с помощью open source продукта компании Kubernetes. 

Области применения контейнеров

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

С другой стороны, мы видим, что Data Analytics, Data Science и те, кто работает с машинным обучением при подготовке своих моделей и формировании из них уже готового продукта тоже достаточно активно используют контейнеры. И можно сказать, что это два основных направления использования контейнеров, с одной стороны это разработчики приложений, с другой стороны - это всякого рода машинное обучение, Data Analytics и Data Science, эти два направления сейчас сближаются по функционалу и получается, что те вендоры, которые производили продукты и писали soft для одной группы людей, либо для другой группы, сейчас все ближе и ближе по своим функциональным возможностям.

И стоит обратить внимание, на то, что, казалось бы, можно ожидать, что большая часть новых разворачиваемых контейнеров используется для написания новых приложений в формате cloud-native. Но оказывается, что по статистике, чуть больше половины новых контейнеров разрабатывается не только для новых приложений либо задач искусственного интеллекта, обработки данных, но эта технология также активно используется для модернизации существующих приложений. Т.е. обеспечивается перевод их в формат, похожий на микросервисы, для того, чтобы ими было удобнее управлять. И просматривается такая идеология. Обычно при работе с Kubernetes разработчики пользуются open source продуктами, самим собственно Kubernetes, где-то они берут также ресурсы для Kubernetes. Это могут быть либо корпоративные собственные серверы, системы хранения, либо размещаются свои контейнеры в облаках. 

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

Далее возникает необходимость решать следующий вопрос: контейнеры по своей природе не сохраняют свою информацию. Т.е. при перезапуске контейнеров, вся находящаяся в них информация пропадает, то для монолитных приложений, особенно старого формата non nаtive для облачных сред это становится актуальным. И необходимо обеспечить каким-то образом сохранение и доступность данных во всех средах, начиная от облаков, собственных гибридных ЦОДов и на границе сети.

HPE Ezmeral Container Platform

HPE Ezmeral Container Platform как раз та платформа, которая позволяет обеспечить эти сервисы, которые, при внедрении в корпоративные среды контейнерных платформ, необходимо писать самостоятельно. 

Из чего он состоит эта платформа? По сути были взяты два новых продукта, купленных у компаний BlueData и MapR, и объединены в один продукт. При этом используется стандартный open source Kubernetes, к нему добавляются управляющие модули от BlueData, а универсальное хранилище с глобальным доступом обеспечивается с помощью продуктов, которые были приобретены вместе с компанией MapR. 

И если посмотреть на предыдущие слайды, то можно заметить, что те модули, которые приходилось бы писать самостоятельно, с помощью HPE Ezmeral Container Platform становятся доступны вот в таком виде. 

А IT-служба получает возможность управления контейнерной средой по REST API, возможность обеспечивать должный уровень безопасности, в том числе интеграцию с Active Directory и т.д. 

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

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

Если посмотреть на это решение в разрезе, в виде пирога, то мы здесь  увидим картинку, похожую на классическую семиуровневую модель OSI. У нас на нижнем уровне находится железо: серверы, системы хранения данных, расположенные как в собственном ЦОДе, так и в публичных облаках, при этом с точки зрения систем хранения мы можем использовать варианты, которые пропагандируются HPE, это возможность использования HPE Nible как систему хранения данных, либо MapR, платформы Data Fabric, которая всеядна и универсальна с точки зрения железа.

Следует обратить внимание, что с точки зрения пользователей, которые обращаются к Kubernetes, эти добавляемые компоненты, которые являются внешними дополнительными компонентами и то, каким образом люди из верхнего списка (инженеры, разработчики приложений) работают с Kubernetes, этот формат работы не поменяется, если снести все эти модули и приложения, которые ставятся в рамках HPE Ezmeral Container Platform. 

Эта платформа фактически представляет собой инструментарий для IT-служб, перед которыми стоит задача внедрения контейнерных сред, но при этом нет возможности самим разрабатывать оркестратор. С другой стороны, использование только Kubernetes, достаточно ограничено по функционалу, если смотреть на его применимость именно в корпоративной среде. Если посмотреть на отдельные модули, которые интегрированы в HPE Ezmeral Container Platform, то BlueData Control Plane этот набор приложений, который предоставляет много интересных функций. С точки зрения IT-служб это управление обеспечит более простую инсталляцию и апгрейды. Модуль под названием KubeDirector специально разработан для того, чтобы в формате контейнеров можно было бы работать с не нотивными облачными приложениями. Здесь же заказчики получают тот самый требуемый корпоративный уровень безопасности, включая аутентификацию доступа к данным, к самим контейнерам и т.д., возможность такой универсальной работы инструмент по разворачиванию контейнеров обеспечивает как на голом железе, так и на виртуальных машинах, либо на отдаленных ресурсах (в облаках, либо серверах, размещенных на периферии). 

С другой стороны, классические пользователи Kubernetes, DevOps либо Data Scientist получают возможность работы с инфраструктурой в формате сервиса со своей собственной панелью управления. Т.е. получается, что с помощью то BlueData Control Plane мы разделяем физические ресурсы, серверы, системы хранения и те задачи, которые стоят перед пользователями этих ресурсов. Это своего рода переводчик с языка Data Scientist, либо DevOps специалистов на язык IT-специалистов и обратно.

На уровне систем хранения мы получаем, что в продукт HPE Ezmeral Container Platform прединегрирована шина данных, которую была взята из MapR и эффективно интегрирована как шина для универсального продукта по работе с контейнерами. И в результате получаем здесь мульти-протокольный доступ и возможность глобального NAMESPACE, и теперь вне зависимости от того, где располагается контейнер, он получит доступ к своим данным, и это будет обеспеченно с высоким уровнем безопасности.

С точки зрения применения HPE Ezmeral Container Platform понятно, что применение для задач машинного обучения и обработки данных достаточно специфично, т.е. специалистам, которые работают по этому направлению, необходимо следовать некоторому циклу производства своих продуктов. Сначала модель строится, потом она тренируется, а потом внедряется. Под такие задачи у нас есть специальная версия HPE Ezmeral Container Platform. 

Для разработки приложений, для работы по конвейеру CI/CD pipelines необходимо отслеживать жизненный цикл разрабатываемого продукта. И обеспечить внедрение контейнеров на всех этапах этого жизненного цикла. Модернизация приложений и упаковка не нотивных облачных монолитных приложений в контейнеры обеспечивается за счет KubeDirector, и также один из вариантов применения HPE Ezmeral Container Platform это работа с контейнерными средами при использовании разных IT-ресурсов, начиная c публичных облаков, собственных гибридных, либо удаленных инсталляций на периферии на Edge-устройствах.

Каталог приложений

Пользователи HPE Ezmeral Container Platform помимо возможности управлять платформой получают еще и интегрированный каталог приложений App Store. 

HPE Ezmeral Container Platform ориентирован на разработчиков, а для тех, кто занимается машинным обучением и искусственным интеллектом имеется специализированный набор шаблонов. Есть у нас референс-архитектуры под эту платформу, ориентированные на использование разного оборудования. 

А для машинного обучения и искусственного интеллекта, аналитики данных мы предлагаем использовать специализированные платформы на HPE Apollo, которые обладают высокой плотностью размещения дисков на один юнит, и одни модели HPE Apollo можно использовать как программно-определенные системы хранения данных, а другие серверы HPE Apollo обладают высокой плотностью размещения процессоров, графических ускорителей и т.д. Если же говорить про более универсальную платформу, которую мы предлагаем использовать при решении задач по разработке приложений, миграции приложений, и использовании гибридных облаков, здесь, естественно, будет правильно предложить нашу инновационную платформу HPE Synergy. Ну и при необходимости реализовывать задачи по аналитике на границе сети, на Edge-устройствах у нас есть архитектура под HPE Edgeline.

Если посмотреть на ценообразование, то здесь мы можем рассказать об отличиях разных контейнерных платформ. Базовая комплектация HPE Ezmeral Container Platform представляет собой набор инструментов для работы с классическим 100 %-ным Open Source Kubernetes, к которому добавляется контроль панели управления и HPE Ezmeral Data Fabric. Если же необходимо построить платформу для работы с машинным обучением, то здесь к самому базовому функционалу HPE Ezmeral Container Platform добавляется инструменты, специфичные для машинного обучения. Свой формат работы с ресурсами, специфика использования графических процессоров, возможность работы со своими специфическими шаблонными приложениями.

Существует вида поддержки: в рабочее время в рабочие дни или 24/7 длительностью от 1 до 5 лет. Лицензирование ведется по физическим ядрам. И при этом лицензии отличаются по типу оборудования. Есть универсальные лицензии, которые ориентированы на использование на любых типах серверов. А если используются модели серверов HPE, то здесь можно ожидать пониженный price list на такие позиции. Примерно на 20% он должен быть дешевле. 

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

Этот продукт, как предполагается, хорошо будет востребован теми компаниями, которые какое-то время уже работали с Kubernetes, и которые уже столкнулись с трудностями по использованию Kubernetes в корпоративной среде. До тех пор, пока этого опыта нет, возникает желание как-то поэкспериментировать и построить такую платформу чисто на OpenSource продуктах. Некоторые компании могут себе это позволить, некоторые нет.