Инфраструктура для машинного обучения — это не просто «поставить кубер и Jupyter». Любая команда, которая пыталась собрать MLOps-стек с нуля, знает: в теории всё просто, а на практике — год возни, YAML на сотни строк и бесконечные танцы с GPU-драйверами. Мы через это тоже прошли.

Так появилась Nova AI — новая редакция нашей платформы Nova, адаптированная под задачи искусственного интеллекта и машинного обучения. Базовая Nova уже несколько лет используется компаниями как Kubernetes-платформа для оркестрации контейнеров и управления инфраструктурой. Но в какой-то момент стало ясно: если поверх этого ядра добавить GPU Operator и специализированные ML-сервисы — такие как JupyterHub, MLflow, Airflow и KServe, — получится полноценная среда для ML-команд.

Меня зовут Никита Векессер, я лидер продукта Nova AI, и в этой статье будет инженерный разбор того, как мы собрали новую редакцию продукта: из чего она состоит, как устроено управление компонентами, как реализовано дробление GPU и почему мы сделали ставку на модульность, а не на монолитный стек вроде Kubeflow.

Почему и зачем появилась Nova AI

Nova AI выросла из Nova Container Platform — Kubernetes-платформы Orion soft для оркестрации контейнеров. Уже несколько лет она используется enterprise-компаниями для инфраструктурных сценариев, и со временем стало понятно, что она также хорошо подходит для задач машинного обучения и искусственного интеллекта.

Первым делом мы провели опрос рынка и определили основные боли ML-команд:

  • построение собственной ML-платформы занимает год–полтора даже у опытных инженеров;

  • рынок MLOps-специалистов узкий, и потеря одного из них способна надолго остановить развитие инфраструктуры;

  • оптимизация GPU и распределённый инференс остаются для большинства компаний неизведанной зоной;

  • Основной приоритет на создание инфраструктуры под ML, в результате чего часто забивают безопасность и другие сопутствующие и неотъемлемые вещи.

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

Логичный вопрос, который наверняка может возникнуть у читателя: чем это всё отличается от Kubeflow и аналогов?

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

Nova AI построена иначе: всё модульно и управляется через CRD и кастомный оператор, который автоматизирует установку и обновление компонентов по принципу GitOps. Команда сама выбирает нужные модули — JupyterHub, Airflow, MLflow, KServe и другие. Каждый можно установить отдельно, без жёстких зависимостей и общего монолита.

Такой подход убивает сразу не двух, а трёх зайцев:

  • упрощает интеграцию с внутренними системами и IDM;

  • делает обновления и масштабирование предсказуемыми;

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

В результате Nova AI остаётся инженерно понятным решением: без магии, без vendor lock-in, с знакомой многим архитектурой и контролем за всем, что происходит под капотом.

Архитектура и стек

Как уже писалось выше, в основе Nova AI — Nova Container Platform, Kubernetes-платформа Orion soft для оркестрации контейнеров. Поверх неё развёрнут слой, оптимизированный под задачи машинного обучения и искусственного интеллекта.

Архитектура разделена на два уровня — инфраструктурный и прикладной.

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

  • NVIDIA GPU Operator — обеспечивает корректное определение и использование видеокарт в кластере;

  • Node Feature Discovery — определяет аппаратные характеристики нод и их системные конфигурации.

Оба компонента устанавливаются по умолчанию. При необходимости в конфигурации кастомного оператора можно задать параметры для включения режимов MIG (Multi-Instance GPU) или time-slicing, чтобы управлять дроблением GPU на уровне манифеста. Этот слой обеспечивает видимость GPU и распределение вычислительных ресурсов между подами.

Прикладной уровень — это ML-стек, с которым работают инженеры и дата-сайентисты:

  • JupyterHub для запуска ноутбуков, 

  • Airflow для оркестрации пайплайнов, 

  • MLflow для трекинга экспериментов, 

  • MinIO для хранения данных, 

  • KServe для инференса моделей,

  • KubeRay — для распределённых вычислений и управления задачами.

Каждый модуль независим: можно развернуть только нужные — например, ограничиться JupyterHub или добавить Airflow и MLflow для полного цикла MLOps. Все настройки выполняются через ресурсы MLInfrastructure и MLCluster, которые создаёт оператор.

Оператор интегрирован с FluxCD: изменения конфигурации применяются автоматически и безопасно. Чтобы включить новый модуль, достаточно изменить манифест ресурса — и платформа сама доставит нужные компоненты в кластер. Это избавляет от ручных кастомизаций на сотни строк и делает процесс воспроизводимым.

С точки зрения эксплуатации, Nova AI — это управляемая среда, где ML-инструменты остаются независимыми сервисами, но их установка и обновления происходят централизованно.

Общий интерфейс управления при этом не навязывается: у каждого инструмента сохраняется свой UI — JupyterHub, MLflow, Airflow и т. д.

Так достигается баланс между гибкостью и контролем: единая точка управления через CRD и GitOps, но полная автономность компонентов на уровне работы и интерфейсов.

GPU и производительность

В Nova AI дробление GPU на уровне драйвера реализовано стандартными средствами NVIDIA — MIG и time-slicing. Ниже кратко о том, как эти режимы работают и чем отличаются. Тот или иной режим выбирается в зависимости от конфигурации и возможностей видеокарты.

MIG обеспечивает аппаратное разделение GPU на независимые логические секции. Каждая получает гарантированные ресурсы, и «перетекание» нагрузки между задачами исключено. Такой вариант даёт стабильную производительность и защищённость от ошибок вроде Out of Memory, но требует GPU с поддержкой MIG на уровне железа (серии A100/H100 и совместимые).

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

Nova AI не накладывает собственных ограничений — все возможности и лимиты определяются самим железом и драйверами NVIDIA. Платформа просто обеспечивает правильную интеграцию и автоматическую настройку через GPU Operator, без необходимости ручного тюнинга.

Распределенный инференс

Платформа поддерживает объединение ресурсов GPU с разных физических серверов. Это позволяет запускать крупные языковые модели, которым требуется больше видеопамяти, чем доступно на одном узле.

В одном из пилотных кейсов на четырёх серверах с GPU NVIDIA Tesla T4 были запущены модели Qwen-2.5-7B и Qwen-2.5-Coder-14B. Платформа автоматически распределяла нагрузку между карточками и масштабировала вычисления внутри единого GPU-кластера.

Утилизация и контроль производительности

Nova AI включает инструменты для мониторинга и анализа загрузки ресурсов, но не задаёт единую систему метрик. Платформа обеспечивает базовые механизмы сбора данных, а выбор и интерпретация метрик остаются на стороне команды.

Инженеры могут логически делить GPU и распределять задачи параллельно, повышая фактическую утилизацию ресурсов видеокарт. Для мониторинга можно использовать привычный стек Prometheus и Grafana с экспортом метрик GPU, CPU, памяти и сетевых задержек.

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

Nova AI не подменяет собой систему наблюдаемости — она даёт инфраструктурный слой, где метрики доступны из коробки и легко встраиваются в существующие процессы DevOps/MLOps.

Ключевая идея такая:

  • дробление GPU реализовано нативно через NVIDIA-операторы;

  • поведение зависит от выбранного режима (MIG / time-slicing);

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

Безопасность и комплаенс

В Nova AI безопасность встроена на уровне инфраструктуры — от управления секретами до сканирования на уязвимости контейнеров и хостов.

Управление секретами и токенами

Центральный элемент системы — StarVault, хранилище секретов компании Orion soft. Оно служит единой точкой входа для всех сервисов Nova AI и обеспечивает централизованный контроль доступа.

Компоненты с пользовательским интерфейсом — MLflow, JupyterHub, Airflow и другие — интегрированы со StarVault по протоколу OIDC (OpenID Connect). Пользователь проходит аутентификацию один раз, а доступ к сервисам управляется через общую политику.

Для доставки секретов в контейнеры поддерживаются несколько механизмов:

  • Vault Agent — автоматически получает и обновляет секреты внутри подов;

  • Vault CSI Driver — монтирует секреты в виде файлов;

  • Vault Secrets Webhook — подставляет токены и переменные окружения при запуске контейнеров.

Такой подход исключает хранение секретов в открытом виде и обеспечивает безопасную работу ML-стека даже в изолированных инфраструктурах.

Защита контейнеров и сетей

В Nova AI реализован тот же уровень безопасности, что и в базовой Nova Container Platform. Для контроля среды выполнения используется NeuVector — модуль, отвечающий за runtime-мониторинг и анализ сетевых соединений. Он выявляет уязвимости, отслеживает подозрительную активность и при необходимости блокирует несанкционированные операции.

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

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

Nova AI создаётся с учётом российских норм информационной безопасности и политики импортозамещения. В экосистеме Orion soft уже есть сертифицированная редакция продукта, одобренная ФСТЭК. Команда работает над её обновлением и планирует включить туда модули ML-инфраструктуры Nova AI.

Платформа полностью совместима с отечественными ОС: Astra Linux, Red OS и другими. Все базовые компоненты, включая NVIDIA GPU Operator, протестированы на этих дистрибутивах и обеспечивают корректную работу GPU.

В планах — пересборка ключевых компонентов ML-стека (Airflow, MLflow, и др.) из исходников с устранением уязвимостей, что обеспечит прозрачность, контроль версий и соответствие требованиям безопасности при поставке решений заказчикам.

Таким образом, Nova AI уже поддерживает необходимые отечественные ОС и стандарты, а в перспективе планирует стать частью сертифицированной сборки, предназначенной для организаций с повышенными требованиями к ИБ и комплаенсу.

Типовой пилот 

Развернуть минимальный кластер Nova AI в среднем занимает 30–40 минут. Процесс полностью описан в документации и не требует ручных доработок.

Для пилота достаточно:

  • одного узла с GPU (физического или виртуального, поддерживающего драйверы NVIDIA). Если в ворклоаде используется GPU, нужно наличие такого узла и установка ресурса MLInfrastructure. Если же нагрузка выполняется только на CPU, ресурс MLInfrastructure можно не устанавливать — достаточно MLCluster;

  • предустановленной Nova Container Platform либо чистого сервера для её установки;

  • лицензии Nova AI.

Из подготовки — только установка видеодрайверов NVIDIA. Этот шаг выполняется строго по инструкции: требуется установка NVIDIA GPU Drivers. Мы протестировали их совместимость с отечественными ОС — Astra Linux и Red OS, так что проблем с установкой и работой GPU в этих средах не возникает.

После выполнения необходимых подготовительных шагов кластер разворачивается из готовых манифестов, и пользователю сразу доступны базовые компоненты ML-стека — JupyterHub, MLflow, Airflow. Такой пилот позволяет быстро проверить интеграцию с инфраструктурой заказчика и оценить возможности платформы в реальных условиях.

Сложности первых внедрений

Успешное развертывание Nova AI во многом зависит от подготовленности среды и согласованности инфраструктуры. При наличии у команды базовых нав��ков работы с Kubernetes и контейнерами установка проходит без затруднений

Чаще всего ошибки возникают из-за:

  • некорректных сетевых конфигураций или маршрутизации;

  • нехватки понимания механики подов и ресурсных лимитов;

  • неверно настроенных архитектурных зависимостей.

Эти вопросы решаются совместно: инженеры Orion soft подключаются к пилотам, помогают с конфигурацией и разбором ошибок. Обычно достаточно одного совместного сеанса, чтобы привести систему в рабочее состояние.

Поддержка и обновления

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

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

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

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

Будущее и опыт

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

Дальше — курс на развитие по нескольким ключевым направлениям.

Альтернативные GPU. Сейчас платформа оптимизирована под NVIDIA, но мы работаем над совместимостью и с китайскими видеокартами — это важно в условиях импортозамещения и локальных поставок железа.

Рабочие окружения. Помимо JupyterHub появится поддержка VS Code как альтернативного инструмента для экспериментов — для тех, кто привык писать код именно в нём.

ML-стек. В разработке новые компоненты: мониторинг моделей, Feature Store и инструменты, которые помогут глубже контролировать и управлять ML-процессами.

Network Operator. Добавление этого компонента позволит гибче управлять сетевыми политиками и изоляцией сервисов внутри ML-кластера.

UX для дата-сайентистов. Хочется, чтобы работа между компонентами была максимально естественной: например, результаты экспериментов из JupyterHub автоматически появлялись в MLflow без дополнительных действий.

Инфраструктура. В ближайших релизах появится автоматическая установка GPU-драйверов для российских ОС — чтобы новый сервер можно было запустить без участия администратора.

Дорожная карта гибкая: приоритеты задаёт не внутренний план, а реальные сценарии у заказчиков.

Связаться с нами и запросить демо можно через сайт Nova AI— там же оформляется пилот.

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

Комментарии (0)