🖥 Инфраструктура¶
3 варианта серверов · HPE ProLiant DL360 Gen11 · Production deployment
Серверная инфраструктура для 198 ЭЗС с 500+ WebSocket соединений
Сравнение серверных вариантов¶
| Параметр | Вариант A (Cloud) | Вариант B (Dedicated) | Вариант C (HPE Own) |
|---|---|---|---|
| Для фаз | 1-2 (до 35 ст.) | 3-4 (до 138 ст.) | 5-6 (до 198 ст.) |
| CPU | 4 vCPU | 8 CPU | 2×8 CPU (32 потока) |
| RAM | 16 GB | 64 GB | 128 GB DDR5 ECC |
| Storage | 100 GB SSD | 500 GB NVMe | 4×960GB NVMe RAID10 |
| Network | 1 Gbps shared | 1 Gbps dedicated | 2×10 GbE |
| Стоимость | $200-400/мес | $400-800/мес | $8-12K единоразово |
| Стоимость/год | $2,400-4,800 | $4,800-9,600 | ~$2,000 (обслуживание) |
| WS лимит | ~100 | ~400 | 1,000+ |
| Latency | 50-100ms | 10-30ms | <10ms |
| Контроль данных | Облако | Частичный | Полный |
HPE ProLiant DL360 Gen11 (Рекомендация)¶
Спецификация¶
| Компонент | Модель | Обоснование |
|---|---|---|
| CPU | 2× Intel Xeon Gold 5415+ (8C/16T, 2.9 GHz) | 32 потока для async OCPP + API |
| RAM | 128 GB DDR5 ECC (4×32GB RDIMM) | PostgreSQL cache 40GB + Redis 16GB + FastAPI 16GB |
| Storage | 4× 960GB NVMe SSD RAID 10 (HPE NS204i-u) | ~1.8TB полезно, IOPS >500K |
| Network | 2× 10GbE (HPE 562SFP+) | Failover + VLAN separation |
| PSU | 2× 800W Platinum | Hot-swap, разные фидеры |
| Management | HPE iLO 6 Advanced | Удалённое управление |
| RAID | HPE MR416i-a | Аппаратный, battery-backed cache |
Почему HPE ProLiant¶
- Uptime 99.99% — станции работают 24/7
- Масштабирование — RAM до 512GB, до 8 NVMe без замены сервера
- Гарантия — 3 года с заменой на следующий рабочий день
- Партнёры в КР — официальные представители HPE
- Отраслевой стандарт — #1 в enterprise серверах
Архитектура деплоя¶
flowchart TB
Internet["🌐 Internet"]
DNS["DNS: redpetroleum.kg"]
subgraph Server["HPE ProLiant DL360 Gen11"]
Nginx["Nginx\n:443 HTTPS\n:9210 WSS OCPP"]
subgraph Docker["Docker Compose"]
API["FastAPI\n:8000"]
OCPP16["OCPP 1.6J\n:9210"]
OCPP20["OCPP 2.0.1\n:9211"]
Redis["Redis\n:6379"]
PG["PostgreSQL 16\n:5432"]
Grafana["Grafana\n:3000"]
end
end
Stations["198 ЭЗС"]
Internet --> DNS --> Nginx
Nginx --> API
Nginx --> OCPP16
Nginx --> OCPP20
API --> Redis
API --> PG
OCPP16 --> Redis
OCPP16 --> PG
Stations -->|WSS| Nginx
Deployment Checklist¶
Подготовка¶
- Заказ HPE ProLiant DL360 Gen11
- Выбор ЦОД в Бишкеке (UPS, cooling, network)
- Установка Ubuntu 22.04 LTS Server
- Настройка HPE iLO 6 (удалённый доступ)
- Настройка RAID 10
Сетевая инфраструктура¶
- Статический IP от провайдера
- DNS: A-записи для redpetroleum.kg
- SSL сертификат (Let's Encrypt + auto-renewal)
- Firewall (UFW): 80, 443, 9210, 9211
- Tailscale VPN для management
Приложение¶
- Docker + Docker Compose
- PostgreSQL 16 + TimescaleDB
- Redis 7
- Nginx config (reverse proxy + WSS)
- FastAPI deploy (Gunicorn + Uvicorn workers)
- OCPP servers (asyncio)
- Environment variables (.env)
- SSL для OCPP (WSS)
Мониторинг¶
- Grafana + Prometheus
- Node Exporter (CPU, RAM, Disk)
- PostgreSQL Exporter
- Redis Exporter
- Custom OCPP metrics
- Alert rules (Telegram bot)
Backup¶
- pg_dump daily (cron 03:00)
- Incremental backup (WAL archiving)
- Offsite backup (S3 / Supabase Storage)
- Backup verification monthly
- Disaster recovery plan
Мониторинг и алерты¶
Метрики¶
| Метрика | Порог | Алерт |
|---|---|---|
| CPU usage | >80% (5 мин) | ⚠️ Warning |
| RAM usage | >85% | ⚠️ Warning |
| Disk usage | >80% | 🔴 Critical |
| WS connections drop | >10% за 5 мин | 🔴 Critical |
| API latency P95 | >500ms | ⚠️ Warning |
| OCPP heartbeat miss | >2 мин | ⚠️ Station offline |
| PostgreSQL connections | >80% max | ⚠️ Warning |
| Redis memory | >75% | ⚠️ Warning |
Алерты¶
Telegram бот отправляет уведомления: - 🔴 Critical: Даунтайм, потеря данных, массовый disconnect - ⚠️ Warning: Высокая нагрузка, медленные запросы - ℹ️ Info: Деплой, бэкап, плановые работы