Создание шаблона DevOps применительно к индустриальной Continuous Intelligence платформе

Автор: Малых М.А., Предеин Н.С., Бурдин Д.Е., Медведев М.А.

Журнал: Сетевое научное издание «Устойчивое инновационное развитие: проектирование и управление» @journal-rypravleni

Статья в выпуске: 2 (67) т.21, 2025 года.

Бесплатный доступ

В статье рассматривается разработка шаблона DevOps для платформы Object Relations Technique/Continuous Intelligence (ORT/CI), предназначенной для поддержки концепции Continuous Intelligence в промышленных приложениях. Платформа ORT/CI включает инструменты Apache NiFi, JupyterLab и Totum, что обеспечивает интеграцию больших данных и аналитики непосредственно в операционные процессы. Цель работы - создать универсальный шаблон версионирования, развертывания и сопровождения пользовательских приложений на этой платформе, а также настроить сбор и визуализацию метрик и логов с помощью инструментов Prometheus, Grafana и Loki. В рамках работы был реализован конвейер CI/CD на основе GitLab CI с контейнеризацией (Docker, Kubernetes), реализовано автоматическое развертывание функций, созданных в JupyterLab, с помощью без серверной платформы Nuclio. Разработанный шаблон упрощает вход в среду ORT/CI, обеспечивая стандартизацию процессов разработки и эксплуатации. Результаты показывают, что интеграция современных DevOps-практик позволяет повысить автоматизацию и прозрачность работы платформы, сохраняя при этом гибкость настройки и масштабируемость.

Еще

Платформы интеграции, мониторинг, автоматизация

Короткий адрес: https://sciup.org/14133747

IDR: 14133747   |   УДК: 004.75

Текст научной статьи Создание шаблона DevOps применительно к индустриальной Continuous Intelligence платформе

                                            том 21 № 2 (67), 2025, ст. 7

Быстрое развитие информационных технологий стимулирует цифровизацию промышленных процессов и внедрение современных методов сбора и анализа данных. Концепция Continuous Intelligence (CI) – непрерывной аналитики в реальном времени – становится ключевой для предприятий, позволяя адаптировать операции к изменяющимся условиям практически мгновенно [1].

Цифровизация производства является одной из наиболее актуальных и значимых тем, поскольку информационно-коммуникационные технологии трансформируют экономические и производственные процессы. Внедрение Интернета вещей (IoT), больших данных (Big Data) и искусственного интеллекта (AI) способствует оптимизации производственных процессов, снижению издержек, повышению качества продукции и открывает новые возможности для инноваций [2].

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

Попытки агрегировать данные в так называемые «озера данных» с использованием технологий Big Data часто не решают проблему разнородности, а лишь переносят ее на общий сервер, формируя коллекцию таблиц и файлов. Это приводит к необходимости создания дополнительных ИТ-команд для подготовки сырых данных к анализу, что снижает оперативность принятия решений. Таким образом, работа направлена на преодоление этой проблемы, предлагая унифицированный подход к управлению данными и процессами. Проектируемая платформа

Object Relations Technique/Continuous Intelligence (ORT/CI) ориентирована на реализацию принципов CI: она объединяет механизмы интеграции данных и аналитики в единое решение, предоставляя возможности искусственного интеллекта и машинного обучения для обработки больших объёмов информации. Для успешной эксплуатации такой платформы важно разработать стандартизированные процессы разработки и развертывания приложений [3].

В данном контексте DevOps-подход играет решающую роль, поскольку способствует слаженной работе команд разработки и эксплуатации, автоматизации сборки, тестирования и развертывания программных компонентов. Целью работы является создание шаблона DevOps, применительно к ORT/CI, включающего средства контроля версий, конвейер CI/CD, контейнеризацию и инструменты мониторинга, что позволит ускорить разработку пользовательских решений и повысить надежность их работы.

2.    Платформа ORT/CI и концепция Continuous Intelligence

Платформа ORT/CI представляет собой интегрированное решение для промышленной аналитики и управления данными. Она включает несколько ключевых компонентов: Apache NiFi, предназначенную для построения конвейеров обработки данных; JupyterLab – среду разработки интерактивных вычислений и анализа данных; а также Totum – систему создания информационных панелей и управления бизнес-процессами.

Apache NiFi – это мощная система обработки потоков данных на основе концепции flowbased programming. NiFi позволяет создавать визуальные схемы маршрутизации и преобразования данных с гибкими возможностями мониторинга «происхождения» данных (data provenance).

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

Все эти компоненты объединены общей концепцией Continuous Intelligence, при использовании которой данные из различных источников обрабатываются в реальном времени и немедленно используются для принятия управленческих решений. Так, платформа ORT/CI поддерживает непрерывный цикл «сбор-анализ-действие»: входящие бизнес-события и показатели обрабатываются конвейерами данных, результаты анализа визуализируются в дашбордах, а при необходимости автоматически инициируются управляющие воздействия [4].

3.    Методы3.1    Инструментарий проекта

Разрабатываемый шаблон DevOps интегрируется с основными инструментами платформы

ORT/ CI. В таблице ниже приведены ключевые компоненты инфраструктуры и их роль в шаблоне:

Таблица 1. Описание основных компонентов инфраструктуры проекта

Компонент

Описание

Apache NiFi

Используется для построения потоков обработки и интеграции данных между системами. Благодаря визуальному интерфейсу NiFi позволяет легко настраивать конвейеры получения, преобразования и передачи информации. В шаблоне предусмотрены типовые процессоры NiFi (например, GetFile, SplitJson, InvokeHTTP) для работы с входящими данными и API внешних сервисов [5].

JupyterLab

Среда разработки аналитических функций. На её базе создаются Python скрипты и Jupyter-блокноты, реализующие бизнес-логику (например, моделирование или предобработку). Для включения таких функций в CI/CD-процесс используется расширение nuclio-jupyter и утилита конвертации jupyter nbconvert для экспорта блокнота в конфигурацию Nuclio [6].

Nuclio

Nuclio – это платформа для создания и запуска без серверных функций (FaaS). Как указано на сайте проекта, «Nuclio – это без серверная платформа с открытым исходным кодом, используемая для минимизации затрат на разработку и обслуживание, и автоматизации развертывания приложений, основанных на науке о данных». В рамках шаблона DevOps функции, разработанные в JupyterLab, автоматически разворачиваются в Nuclio. Это обеспечивает мгновенное масштабирование и упрощает управление версиями функций [7].

Prometheus & Grafana

Для мониторинга приложения и сбора метрик задействован стек Prometheus+Grafana. Prometheus – это открытая система мониторинга и хранения временных рядов, которая получает метрики из контейнеров и сервисов ORT/CI. Grafana – это популярный инструмент визуализации и аналитики показателей, широко используемый для построения дашбордов. В шаблоне настроены экспортеры метрик Prometheus и готовые дашборды Grafana для отображения состояния функций, сервисов и производительности системы [8,9].

Grafana Loki

Для агрегирования и поиска логов используется лог-система Loki от Grafana Labs. Loki – «горизонтально масштабируемая, высокодоступная система агрегации логов, вдохновленная Prometheus» (или проще: система хранения и поиска логов из приложений). Логи контейнеров и функций отправляются в Loki, что позволяет проводить корреляцию с метриками и анализировать поведение сервисов [10].

3.2    Архитектура платформы ORT/CI

Концепция serverless используется в рамках ORT/CI для упрощения развертывания вычислений. Nuclio обеспечивает высокую производительность без серверных функций: на официальном сайте отмечается, что Nuclio способен выполнять до сотен тысяч вызовов функций в секунду. Такая архитектура позволяет отделить стадию разработки алгоритмов (в JupyterLab) от механизма их исполнения в продуктивной среде [11].

В шаблоне DevOps настройка без серверной среды включает преобразование Jupyter-блокнотов в конфигурационные файлы Nuclio и разметку функций метками для управления состоянием и запросами. Предусмотрена интеграция с системой CI: при каждом обновлении кода функции конвейер автоматически вызывает jupyter nbconvert --to nuclio, собирает Docker-образ и деплоит функцию в Nuclio. После успешного развёртывания функция становится доступна по REST API и сразу же попадает под наблюдение Prometheus/Grafana и сбор логов в Loki. Такой подход обеспечивает быстрое преобразование аналитических наработок в производственные микросервисы без ручной операционной работы.

3.3    Система непрерывной интеграции

Шаблон DevOps предусматривает использование систем CI/CD для управления жизненным циклом разработки. В качестве основы используется GitLab CI – популярная платформа автоматизации сборки и развертывания. Непрерывная интеграция (CI) предполагает частое слияние изменений в общий репозиторий и автоматическую проверку каждой новой версии (сборка и тестирование). Такая практика помогает быстро обнаруживать дефекты на ранних этапах и обеспечивает качество кода. Непрерывная доставка (CD) дополняет CI автоматическим развертыванием каждой версии в тестовом или продуктивном окружении [12].

В разработанном шаблоне конвейер CI/CD включает следующие этапы: сборка образов Docker на основе кода функции/сервиса, прогон модульных и интеграционных тестов, пуш образов в репозиторий артефактов, и развертывание в Nuclio. Важной особенностью является автоматический сбор метрик и логов на каждой стадии: GitLab CI генерирует отчёты сборки и тестов, а Prometheus-провайдер отслеживает работоспособность развернутых сервисов. Благодаря этой автоматизации достигается высокая прозрачность и управляемость процессов, что существенно ускоряет выпуск новых версий ПО и снижает число ошибок.

  • 4.    Результаты

    4.1    Демонстрационная функция и её развёртывание

  • 5.    Обсуждение результатов 6.    Заключение

Для проверки работоспособности шаблона была реализована демонстрационная функция-микросервис в JupyterLab и развернута в Nuclio. Функция имитирует обработку данных «двойника» устройства из внешнего сервиса ORT/CI. В ходе работы разработчиками были выполнены следующие основные шаги: создание и отладка функции в Jupyter Notebook (с использованием nuclio-jupyter и API библиотеки dca-sm-sdk для состояния модели), конвертация блокнота в Nuclio YAML-конфигурацию с помощью jupyter nbconvert, и ручной (или CI-скриптом) деплой функции через веб-интерфейс или CLI Nuclio. После развертывания функция автоматически регистрируется в системе наблюдения Prometheus и появляется в списке сервисов. На этапе тестирования подтвердилось, что при помощи шаблона DevOps можно быстро повторить процесс: внесение правок в код функции сопровождается обновлением Docker-образа и заменой развернутой функции, а новая версия начинает сбор метрик и логов в существующую инфраструктуру мониторинга. Таким образом, демонстрация показала целостность подхода и возможность масштабирования его на произвольные пользовательские решения.

Одним из ключевых преимуществ предложенного решения является высокая скорость релизов, по результатам которой автоматизация достигла ≈ 80 %, заменив собой ручную работу. Вместе с тем, внедрение требует наличия Kubernetes-кластера и навыков работы с Docker, что может стать барьером для сотрудников без соответствующего опыта. Среди ограничений стоит отметить зависимость от конкретных FaaS-платформ (Nuclio) и инструментов мониторинга. В будущем планируется добавить поддержку альтернативных серверлес-решений и обеспечить полноценную интеграцию с системами CMDB и MES для закрытия полного цикла Continuous Intelligence.

В отличие от классических решений на базе Jenkins и Ansible, разработанный шаблон ориентирован на глубокую интеграцию с аналитической средой JupyterLab и без серверной архитектурой. Это делает его более подходящим для задач Data Science в промышленности, хотя и требует специфических навыков работы с Kubernetes и FaaS.

В статье представлено решение по созданию шаблона DevOps для платформы ORT/CI, включающее стандартизированный конвейер CI/CD, контейнеризацию и механизмы мониторинга. Разработанный шаблон опирается на инструменты Apache NiFi, JupyterLab (с Nuclio), Prometheus, Grafana и Loki, обеспечивая интеграцию обработки данных и средств визуализации метрик. Внедрение такого шаблона упрощает вход разработчиков в экосистему ORT/CI: существенно снижается порог знаний для развертывания новых сервисов, повышается повторяемость процессов и прозрачность инфраструктуры. Эксперименты показали, что применение DevOps-практик способствует ускорению доставки и повышению качества разрабатываемых решений в условиях производственных задач. В дальнейшем планируется расширить шаблон новыми инструментами и кейсами, а также автоматизировать полную интеграцию с промышленными системами (например, CMDB и MES) для реализации полного контура Continuous Intelligence.