docs: defer backups, single disk, add LLM model testing section

This commit is contained in:
apuc committed 2026-09-26 19:05:23 +03:00
1 parent d4ff27faeb
commit c8ba5ebb48
1 file changed
+39 -20
+39 -20
View File
@@ -1,7 +1,7 @@
# Стек технологий и архитектура развёртывания
**Проект:** АС «Платформа ОПОРА РОССИИ»
**Статус:** согласовано
**Статус:** согласовано (бэкапы отложены, выбор LLM — в тестировании)
**Дата:** 26.09.2026
---
@@ -29,9 +29,9 @@
| Контейнеризация | **Docker Engine + Docker Compose** | Один сервер; задел под Kubernetes при росте |
| Reverse proxy / TLS | **Nginx + Certbot (Let's Encrypt)** | HTTPS, статика фронтенда |
| Мониторинг | **Prometheus + Grafana + Loki** | Метрики, логи, алерты |
| Бэкапы | **pgBackRest** (БД) + **rclone** (файлы, offsite) | Ежесуточно, хранение ≥ 30 дней |
| Бэкапы | **Отложены** (см. раздел 5) | Принятый риск на текущем этапе |
| CI/CD | **GitLab CI** | Сборка образов, деплой на сервер |
| AI-ассистент «Зам» | **Внешний LLM API: OpenRouter / PiAPI** | Без GPU; только обезличенный контекст (см. раздел 6) |
| AI-ассистент «Зам» | **Внешний LLM API: OpenRouter / PiAPI** | Без GPU; выбор модели — в тестировании (см. раздел 8) |
---
@@ -63,7 +63,6 @@
└────────────────────┘
Мониторинг: Prometheus + Grafana + Loki
Бэкапы: pgBackRest → внешний диск + offsite (rclone)
AI: внешний LLM API (OpenRouter / PiAPI) — только обезличенные данные
```
@@ -81,7 +80,6 @@
| `redis` | Redis |
| `minio` | S3-совместимое хранилище артефактов |
| `prometheus` / `grafana` / `loki` | Мониторинг и логи |
| `pgbackrest` | Резервное копирование БД |
---
@@ -93,7 +91,7 @@
| CPU | **Intel Xeon** |
| RAM | **16 ГБ** |
| GPU | **нет** (AI — через внешний API) |
| Диск | SSD — уточнить объём (рекомендуется ≥ 500 ГБ + отдельный диск под бэкапы) |
| Диск | **SSD, единый** (отдельного диска под бэкапы нет) |
| Сеть | **статический IP** |
| Домен | **opora.my-dpr.ru** (тестовый) |
| TLS | **Let's Encrypt** (Certbot, автообновление) |
@@ -104,13 +102,16 @@
## 5. Надёжность и резервное копирование
- Ежесуточный бэкап PostgreSQL (pgBackRest) + архивация WAL для point-in-time recovery.
- Бэкап артефактов (MinIO) — ежесуточно через rclone.
- **Схема хранения (рекомендация):** локальный внешний диск/NAS + offsite-копия в S3-совместимое хранилище РФ (Selectel / Yandex Object Storage / VK Cloud).
- Хранение ≥ 30 дней (п. 4.1.9 ТЗ).
- Восстановление — не более 24 ч (п. 4.1.4 ТЗ).
- Ежеквартальная проверка восстановления из бэкапа.
- Мониторинг доступности и алерты (Prometheus + Alertmanager).
**Решение заказчика: бэкапы на текущем этапе отложены.**
Принятый риск: при сбое диска или ошибке данные могут быть потеряны безвозвратно. Рекомендация на будущее (не блокирует старт):
- минимальный `pg_dump` раз в сутки на внешнее хранилище (offsite, S3-совместимое в РФ) — дёшево и снимает основной риск;
- бэкап артефактов (MinIO) через rclone;
- хранение ≥ 30 дней (п. 4.1.9 ТЗ);
- восстановление — не более 24 ч (п. 4.1.4 ТЗ).
Мониторинг доступности и алерты (Prometheus + Alertmanager) — в объёме.
---
@@ -143,17 +144,35 @@ OpenRouter и PiAPI — зарубежные сервисы, данные ухо
---
## 8. Открытые вопросы
## 8. AI-ассистент: тестирование моделей
1. **Объём диска** сервера (SSD) и наличие отдельного диска под бэкапы.
2. **Offsite-хранилище** для бэкапов — подтвердить провайдера (Selectel / Yandex / VK) или второй диск.
3. **Модель LLM** для ассистента (выбор через OpenRouter/PiAPI) — уточнить на этапе техпроекта.
4. **Реестр отечественного ПО** — нужен ли в перспективе (влияет на миграцию ОС/СУБД).
Выбор LLM — в тестировании. Критерии оценки:
| Критерий | Что проверяем |
|---|---|
| Русский язык | Качество текста, терминология («точка 0», «прирост», «красная зона») |
| Function calling | Надёжность вызова инструментов (заполнить карточку, создать задачу, загрузить артефакт) |
| Стоимость | Цена за 1M токенов, оценка месячного бюджета |
| Скорость | Латентность ответа |
| Контекст | Размер окна (сводки по 89 регионам) |
| Стабильность | Повторяемость структурированного вывода (JSON) |
Кандидаты (через OpenRouter): GPT-4o / GPT-4o-mini, Claude (Sonnet/Haiku), Gemini Flash, Qwen, DeepSeek, Mistral.
PiAPI — уточнить назначение (генерация изображений/медиа для артефактов или LLM).
---
## 9. Следующие шаги
## 9. Открытые вопросы
1. Уточнить объём диска и offsite-хранилище (раздел 8).
1. **Модель LLM** — по результатам тестирования (раздел 8).
2. **Назначение PiAPI** — LLM или генерация медиа.
3. **Бэкапы** — когда включать (отложено).
4. **Реестр отечественного ПО** — нужен ли в перспективе.
---
## 10. Следующие шаги
1. Провести тестирование LLM-моделей (раздел 8).
2. Утвердить документ.
3. Перейти к техническому проекту: структура БД, контракты API, макеты экранов.