Skip to content

Эксплуатация и развёртывание ​

1. Назначение и структура раздела ​

Раздел посвящён инженерным регламентам, архитектуре производственного окружения, сетевой безопасности, процедурам контейнеризации и непрерывной доставки (CI/CD) распределённой микросервисной платформы «UrFU HeatBalance».

Комплекс спроектирован для бесперебойной промышленной эксплуатации в гетерогенных серверных средах на базе ОС Linux (Ubuntu Server / Debian). Микросервисная топология гарантирует высокую доступность, изоляцию сбоев отдельных расчётных ядер и горизонтальную масштабируемость при возрастании потока телеметрических данных или параллельных инженерных сессий.


2. Карта подразделов ​

В данном разделе представлены подробные технические руководства и регламенты:

  1. Руководство пользователя:

    • Авторизация в системе и управление учётной записью.
    • Пошаговый сценарий проведения теплотехнического расчёта для 4 типов печей.
    • Контроль граничных условий и валидация физических параметров.
    • Формирование, анализ балансовых таблиц (с учётом и без рециркуляции) и экспорт протоколов в PDF.
    • Работа с библиотекой эталонных датасетов и мониторинг IoT-телеметрии.
  2. Руководство администратора:

    • Инспекция и верификация жизненного цикла 10 микросервисов платформы.
    • Ролевая модель доступа (RBAC), управление пользователями и клеймами.
    • Эксплуатационный мониторинг IoT-шлюзов и каналов передачи данных.
    • Анализ очередей сообщений RabbitMQ и диагностика кэша Redis.
    • Мониторинг предиктивной аналитики и календарные регламенты технического обслуживания.
  3. Развёртывание в Docker Compose:

    • Аппаратные и системные требования к серверу (CPU, RAM, NVMe SSD).
    • Топология 14 контейнеров платформы и карта сетевых портов.
    • Пошаговый регламент развёртывания со скриптами инициализации.
    • Конфигурация персистентных томов PostgreSQL, RabbitMQ и Redis.
    • Инструменты мониторинга, сбора логов и процедуры резервного копирования.
  4. Конфигурация Nginx и SSL:

    • Архитектура периметрального реверс-прокси Nginx.
    • Маршрутизация трафика между фронтендом, шлюзом API и Jenkins.
    • Выпуск, установка и автоматическое продление SSL/TLS сертификатов Let's Encrypt через Certbot.
    • Настройка защитных HTTP-заголовков, сжатия Gzip и лимитов размера тела запросов.
    • Регламенты аудита журналов доступа и ошибок.
  5. CI/CD автоматизация (Jenkins):

    • Сквозной конвейер сборки и доставки на базе Jenkinsfile.
    • Интеграция с репозиторием GitHub через вебхуки.
    • Автоматизированное тестирование математических моделей HeatBalance.Math.Tests.
    • Сборка и тегирование Docker-образов микросервисов.
    • Механизм бесшовного развёртывания стека и протокол отката версий.

3. Матрица сетевых интерфейсов и портов ​

Для безопасного развёртывания и конфигурирования межсетевого экрана (UFW / iptables) используется следующая схема экспозиции портов:

Порт хостаВнутренний сервисПротоколДоступность извнеНазначение
80heatbalance-nginxTCP (HTTP)ПубличныйПеренаправление всего входящего трафика на HTTPS (порт 443)
443heatbalance-nginxTCP (HTTPS)ПубличныйЗащищённый трафик веб-интерфейса, API и CI/CD
5432heatbalance-dbTCP (PostgreSQL)ЗакрытРеляционная СУБД (доступна только внутри docker network)
6379heatbalance-redisTCP (Redis)ЗакрытКэш датасетов и сессий (доступен только внутри docker network)
5672heatbalance-rabbitmqTCP (AMQP)ЗакрытШина обмена событиями (доступна только микросервисам)
15672heatbalance-rabbitmqTCP (HTTP)Закрыт / SSHВеб-консоль управления RabbitMQ (доступ через SSH-туннель)
8080Jenkins DaemonTCP (HTTP)ЗакрытВнутренний порт Jenkins (проксируется через Nginx на ci.*)

IMPORTANT

Прямой доступ из внешней сети разрешён исключительно к портам 80 и 443. Все базы данных, очереди сообщений и вычислительные микросервисы изолированы в виртуальной подсети Docker heatbalance_network и недоступны для внешнего сканирования.

Разработано в рамках проекта моделирования тепловых балансов и промышленного мониторинга