Тема оформления
Эксплуатация и развёртывание
1. Назначение и структура раздела
Раздел посвящён инженерным регламентам, архитектуре производственного окружения, сетевой безопасности, процедурам контейнеризации и непрерывной доставки (CI/CD) распределённой микросервисной платформы «UrFU HeatBalance».
Комплекс спроектирован для бесперебойной промышленной эксплуатации в гетерогенных серверных средах на базе ОС Linux (Ubuntu Server / Debian). Микросервисная топология гарантирует высокую доступность, изоляцию сбоев отдельных расчётных ядер и горизонтальную масштабируемость при возрастании потока телеметрических данных или параллельных инженерных сессий.
2. Карта подразделов
В данном разделе представлены подробные технические руководства и регламенты:
- Авторизация в системе и управление учётной записью.
- Пошаговый сценарий проведения теплотехнического расчёта для 4 типов печей.
- Контроль граничных условий и валидация физических параметров.
- Формирование, анализ балансовых таблиц (с учётом и без рециркуляции) и экспорт протоколов в PDF.
- Работа с библиотекой эталонных датасетов и мониторинг IoT-телеметрии.
- Инспекция и верификация жизненного цикла 10 микросервисов платформы.
- Ролевая модель доступа (RBAC), управление пользователями и клеймами.
- Эксплуатационный мониторинг IoT-шлюзов и каналов передачи данных.
- Анализ очередей сообщений RabbitMQ и диагностика кэша Redis.
- Мониторинг предиктивной аналитики и календарные регламенты технического обслуживания.
Развёртывание в Docker Compose:
- Аппаратные и системные требования к серверу (CPU, RAM, NVMe SSD).
- Топология 14 контейнеров платформы и карта сетевых портов.
- Пошаговый регламент развёртывания со скриптами инициализации.
- Конфигурация персистентных томов PostgreSQL, RabbitMQ и Redis.
- Инструменты мониторинга, сбора логов и процедуры резервного копирования.
- Архитектура периметрального реверс-прокси Nginx.
- Маршрутизация трафика между фронтендом, шлюзом API и Jenkins.
- Выпуск, установка и автоматическое продление SSL/TLS сертификатов Let's Encrypt через Certbot.
- Настройка защитных HTTP-заголовков, сжатия Gzip и лимитов размера тела запросов.
- Регламенты аудита журналов доступа и ошибок.
CI/CD автоматизация (Jenkins):
- Сквозной конвейер сборки и доставки на базе
Jenkinsfile. - Интеграция с репозиторием GitHub через вебхуки.
- Автоматизированное тестирование математических моделей
HeatBalance.Math.Tests. - Сборка и тегирование Docker-образов микросервисов.
- Механизм бесшовного развёртывания стека и протокол отката версий.
- Сквозной конвейер сборки и доставки на базе
3. Матрица сетевых интерфейсов и портов
Для безопасного развёртывания и конфигурирования межсетевого экрана (UFW / iptables) используется следующая схема экспозиции портов:
| Порт хоста | Внутренний сервис | Протокол | Доступность извне | Назначение |
|---|---|---|---|---|
80 | heatbalance-nginx | TCP (HTTP) | Публичный | Перенаправление всего входящего трафика на HTTPS (порт 443) |
443 | heatbalance-nginx | TCP (HTTPS) | Публичный | Защищённый трафик веб-интерфейса, API и CI/CD |
5432 | heatbalance-db | TCP (PostgreSQL) | Закрыт | Реляционная СУБД (доступна только внутри docker network) |
6379 | heatbalance-redis | TCP (Redis) | Закрыт | Кэш датасетов и сессий (доступен только внутри docker network) |
5672 | heatbalance-rabbitmq | TCP (AMQP) | Закрыт | Шина обмена событиями (доступна только микросервисам) |
15672 | heatbalance-rabbitmq | TCP (HTTP) | Закрыт / SSH | Веб-консоль управления RabbitMQ (доступ через SSH-туннель) |
8080 | Jenkins Daemon | TCP (HTTP) | Закрыт | Внутренний порт Jenkins (проксируется через Nginx на ci.*) |
IMPORTANT
Прямой доступ из внешней сети разрешён исключительно к портам 80 и 443. Все базы данных, очереди сообщений и вычислительные микросервисы изолированы в виртуальной подсети Docker heatbalance_network и недоступны для внешнего сканирования.