From e74620e42c3a5d281074df5315601f1479530a13 Mon Sep 17 00:00:00 2001 From: Claude AI Date: Mon, 12 Jan 2026 13:44:54 +0000 Subject: [PATCH] docs: add test server requirements and architectural diagrams --- .../07-test-server-requirements.md | 789 ++++++++++++++++++ 1 file changed, 789 insertions(+) create mode 100644 docs/gitops-cicd/07-test-server-requirements.md diff --git a/docs/gitops-cicd/07-test-server-requirements.md b/docs/gitops-cicd/07-test-server-requirements.md new file mode 100644 index 0000000..27d52bb --- /dev/null +++ b/docs/gitops-cicd/07-test-server-requirements.md @@ -0,0 +1,789 @@ +# Требования к тестовому серверу GitOps CI/CD + +**Версия:** 1.0 +**Дата:** Январь 2026 +**Целевая аудитория:** Отделы инфраструктуры, безопасности, закупок + +--- + +## Содержание + +1. [Обзор и назначение](#1-обзор-и-назначение) +2. [Структурные схемы](#2-структурные-схемы) +3. [Варианты реализации](#3-варианты-реализации) +4. [Детальные технические требования](#4-детальные-технические-требования) +5. [Сетевая инфраструктура](#5-сетевая-инфраструктура) +6. [Хранилище данных](#6-хранилище-данных) +7. [Безопасность](#7-безопасность) +8. [Бюджетные расчеты](#8-бюджетные-расчеты) +9. [План закупок](#9-план-закупок) + +--- + +## 1. Обзор и назначение + +### 1.1 Зачем нужен тестовый сервер + +Тестовый (Development) сервер является **критически важным этапом** внедрения GitOps CI/CD в FinTech компании по следующим причинам: + +**Снижение рисков:** +- Тестирование новой инфраструктуры без влияния на production +- Выявление проблем на ранних стадиях +- Валидация security политик в безопасной среде +- Отработка disaster recovery процедур + +**Обучение команды:** +- Практический опыт работы с новыми инструментами +- Hands-on тренинг на реальной инфраструктуре +- Создание runbooks и документации +- Onboarding новых сотрудников + +**Оптимизация архитектуры:** +- Проверка capacity planning расчетов +- Выявление bottlenecks производительности +- Тюнинг конфигураций +- Корректировка требований для production + +**Финансовая обоснованность:** +- Меньший initial investment (~40% от production) +- Возможность корректировки решений до major закупок +- Proof of concept для stakeholders +- ROI демонстрация перед full rollout + +### 1.2 Ключевые отличия от production + +| Параметр | Production | Test/Dev | Обоснование | +|----------|-----------|----------|-------------| +| **Масштаб** | Full scale | 40% scale | Достаточно для testing | +| **HA** | Full redundancy | Simplified | Downtime acceptable | +| **Данные** | Real production | Synthetic/mock | Безопасность данных | +| **SLA** | 99.9% uptime | Best effort | Не критично для dev | +| **Access** | Restricted | More open | Удобство для dev team | +| **Cost** | $518K | ~$100K | Budget-friendly PoC | + +--- + +## 2. Структурные схемы + +### 2.1 Общая архитектура тестового окружения + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ TEST/DEV ENVIRONMENT │ +│ VLAN 100: 10.100.0.0/16 │ +│ │ +│ ┌────────────────────────────────────────────────────────────────┐ │ +│ │ EXTERNAL ACCESS │ │ +│ │ │ │ +│ │ ┌──────────────────────────────────────────────────────┐ │ │ +│ │ │ Corporate VPN (shared с production) │ │ │ +│ │ │ • Доступ для dev team │ │ │ +│ │ │ • MFA опционально (можно без для dev) │ │ │ +│ │ │ • IP: 10.100.1.1 │ │ │ +│ │ └──────────────────────────────────────────────────────┘ │ │ +│ │ │ │ │ +│ │ ▼ │ │ +│ │ ┌──────────────────────────────────────────────────────┐ │ │ +│ │ │ Jump Host (опционально для dev) │ │ │ +│ │ │ • Можно direct access для удобства │ │ │ +│ │ │ IP: 10.100.1.10 │ │ │ +│ │ └──────────────────────────────────────────────────────┘ │ │ +│ └────────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ════════════════════════════════════════════════════════════════════ │ +│ │ │ +│ ┌────────────────────────────▼──────────────────────────────────┐ │ +│ │ MANAGEMENT ZONE (10.100.10.0/24) │ │ +│ │ │ │ +│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ +│ │ │ Gitea │ │ Jenkins │ │ Harbor │ │ │ +│ │ │ │ │ │ │ │ │ │ +│ │ │ 4 vCPU │ │ 8 vCPU │ │ 4 vCPU │ │ │ +│ │ │ 8 GB RAM │ │ 16 GB RAM │ │ 8 GB RAM │ │ │ +│ │ │ 200 GB SSD │ │ 500 GB SSD │ │ 2 TB HDD │ │ │ +│ │ │ │ │ │ │ │ │ │ +│ │ │ .10.10 │ │ .10.20 │ │ .10.30 │ │ │ +│ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ +│ │ │ │ +│ │ ┌──────────────┐ ┌──────────────────────────────┐ │ │ +│ │ │ GitOps Ops │ │ Portainer │ │ │ +│ │ │ │ │ │ │ │ +│ │ │ 2 vCPU │ │ Combined на одной VM: │ │ │ +│ │ │ 4 GB RAM │ │ GitOps Operator + Portainer │ │ │ +│ │ │ 50 GB SSD │ │ │ │ │ +│ │ │ │ │ │ │ │ +│ │ │ .10.40 │ │ .10.50 │ │ │ +│ │ └──────────────┘ └──────────────────────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ════════════════════════════════════════════════════════════════════│ +│ │ │ +│ ┌────────────────────────────▼──────────────────────────────────┐ │ +│ │ DOCKER SWARM ZONE (10.100.20.0/24) │ │ +│ │ │ │ +│ │ ┌─────────────────────────────────────────────────────┐ │ │ +│ │ │ MANAGER NODE (single для dev - упрощение) │ │ │ +│ │ │ │ │ │ +│ │ │ ┌──────────────────────────────────────┐ │ │ │ +│ │ │ │ Swarm Manager │ │ │ │ +│ │ │ │ • Orchestration │ │ │ │ +│ │ │ │ • API endpoint │ │ │ │ +│ │ │ │ • Scheduling │ │ │ │ +│ │ │ │ │ │ │ │ +│ │ │ │ 4 vCPU, 8 GB RAM, 100 GB SSD │ │ │ │ +│ │ │ │ IP: 10.100.20.1 │ │ │ │ +│ │ │ └──────────────────────────────────────┘ │ │ │ +│ │ └─────────────────────────────────────────────────────┘ │ │ +│ │ │ │ +│ │ ┌─────────────────────────────────────────────────────┐ │ │ +│ │ │ WORKER NODES (3 ноды - достаточно для HA test) │ │ │ +│ │ │ │ │ │ +│ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ +│ │ │ │ Worker 1 │ │ Worker 2 │ │ Worker 3 │ │ │ │ +│ │ │ │ │ │ │ │ │ │ │ │ +│ │ │ │ 8 vCPU │ │ 8 vCPU │ │ 8 vCPU │ │ │ │ +│ │ │ │ 16 GB RAM │ │ 16 GB RAM │ │ 16 GB RAM │ │ │ │ +│ │ │ │ 200 GB SSD │ │ 200 GB SSD │ │ 200 GB SSD │ │ │ │ +│ │ │ │ │ │ │ │ │ │ │ │ +│ │ │ │ .20.2 │ │ .20.3 │ │ .20.4 │ │ │ │ +│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ +│ │ │ │ │ │ +│ │ │ • Application containers │ │ │ +│ │ │ • Overlay network │ │ │ +│ │ │ • Service tasks │ │ │ +│ │ └─────────────────────────────────────────────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ════════════════════════════════════════════════════════════════ │ +│ │ │ +│ ┌────────────────────────────▼──────────────────────────────────┐│ +│ │ AI ZONE (10.100.30.0/24) ││ +│ │ ││ +│ │ ┌──────────────────────────────────────────────────┐ ││ +│ │ │ Ollama AI Server │ ││ +│ │ │ • Llama 3.3 70B (или меньшая модель для dev) │ ││ +│ │ │ • Qwen 2.5 Coder │ ││ +│ │ │ • DeepSeek R1 (опционально) │ ││ +│ │ │ │ ││ +│ │ │ 8 vCPU, 32 GB RAM, 500 GB SSD │ ││ +│ │ │ IP: 10.100.30.10 │ ││ +│ │ │ GPU: Опционально (можно без GPU в dev) │ ││ +│ │ └──────────────────────────────────────────────────┘ ││ +│ │ │ ││ +│ │ ▼ ││ +│ │ ┌──────────────────────────────────────────────────┐ ││ +│ │ │ MCP Server │ ││ +│ │ │ • Gitea connector │ ││ +│ │ │ • Docker Swarm connector │ ││ +│ │ │ • Database connector │ ││ +│ │ │ • Prometheus connector │ ││ +│ │ │ │ ││ +│ │ │ 4 vCPU, 8 GB RAM, 50 GB SSD │ ││ +│ │ │ IP: 10.100.30.20 │ ││ +│ │ └──────────────────────────────────────────────────┘ ││ +│ └─────────────────────────────────────────────────────────────┘││ +│ │ ││ +│ ════════════════════════════════════════════════════════════════││ +│ │ ││ +│ ┌────────────────────────────▼──────────────────────────────────┐│ +│ │ MONITORING ZONE (10.100.40.0/24) │ +│ │ │ +│ │ ┌─────────────────────────────────────────────────────┐ │ +│ │ │ Combined Monitoring Stack (на одной VM) │ │ +│ │ │ │ │ +│ │ │ • Prometheus (metrics) │ │ +│ │ │ • Grafana (visualization) │ │ +│ │ │ • Loki (logs) │ │ +│ │ │ • AlertManager (alerts) │ │ +│ │ │ │ │ +│ │ │ 8 vCPU, 16 GB RAM, 1 TB HDD │ │ +│ │ │ IP: 10.100.40.10 │ │ +│ │ └─────────────────────────────────────────────────────┘ │ +│ └─────────────────────────────────────────────────────────────┘ +│ │ +│ ════════════════════════════════════════════════════════════════ +│ │ +│ ┌────────────────────────────▼──────────────────────────────────┐ +│ │ DATA ZONE (10.100.50.0/24) │ +│ │ │ +│ │ ┌──────────────────────────────────────────────────┐ │ +│ │ │ PostgreSQL Server │ │ +│ │ │ • Все dev databases на одном сервере │ │ +│ │ │ • Gitea DB │ │ +│ │ │ • Harbor DB │ │ +│ │ │ • Portainer DB │ │ +│ │ │ • Application test DBs │ │ +│ │ │ │ │ +│ │ │ 4 vCPU, 8 GB RAM, 200 GB SSD │ │ +│ │ │ IP: 10.100.50.10 │ │ +│ │ │ No replication в dev (упрощение) │ │ +│ │ └──────────────────────────────────────────────────┘ │ +│ │ │ +│ │ ┌──────────────────────────────────────────────────┐ │ +│ │ │ NFS Storage Server │ │ +│ │ │ • Persistent volumes для Swarm │ │ +│ │ │ • Backup storage │ │ +│ │ │ • Harbor image storage │ │ +│ │ │ │ │ +│ │ │ 2 vCPU, 8 GB RAM, 5 TB HDD RAID 10 │ │ +│ │ │ IP: 10.100.50.20 │ │ +│ │ └──────────────────────────────────────────────────┘ │ +│ └─────────────────────────────────────────────────────────────┘ +└─────────────────────────────────────────────────────────────────────────┘ + +ИТОГО: 12 VM / 72 vCPU / 168 GB RAM / ~10 TB Storage +``` + +### 2.2 Сетевая топология + +``` + Internet/Corporate Network + │ + │ + ┌──────────▼──────────┐ + │ Firewall/Router │ + │ + VPN Gateway │ + └──────────┬──────────┘ + │ + ┌──────────────────┼──────────────────┐ + │ │ │ + ┌──────▼──────┐ ┌─────▼──────┐ ┌──────▼──────┐ + │ Production │ │ Dev/Test │ │ Other │ + │ VLANs │ │ VLAN 100 │ │ Networks │ + │ 10.10.x.x │ │ 10.100.x.x │ │ │ + └─────────────┘ └────────────┘ └─────────────┘ + │ + ┌───────────────┼───────────────┐ + │ │ │ + ┌───────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐ + │ Management │ │ Swarm │ │ AI/Monitor │ + │ 10.100.10/24 │ │10.100.20/24│ │10.100.30-40 │ + │ │ │ │ │ /24 │ + │ • Gitea │ │ • Manager │ │ • Ollama │ + │ • Jenkins │ │ • Workers │ │ • MCP │ + │ • Harbor │ │ │ │ • Prometheus│ + │ • Portainer │ │ │ │ • Grafana │ + └──────────────┘ └───────────┘ └─────────────┘ + │ │ │ + └───────────────┼───────────────┘ + │ + ┌───────▼───────┐ + │ Data Zone │ + │ 10.100.50/24 │ + │ │ + │ • PostgreSQL │ + │ • NFS Storage │ + └───────────────┘ + +Firewall Rules (Simplified для Dev): +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +• VPN → All Dev VLANs: ALLOW (SSH, HTTPS, Custom ports) +• Management → Swarm: ALLOW (2377, 7946, 4789) +• Management → Data: ALLOW (5432 PostgreSQL, 2049 NFS) +• Swarm → Management: ALLOW (443 Harbor, 80/443 Gitea) +• All → Monitoring: ALLOW (metrics collection) +• AI → All: READ-ONLY через MCP +• Dev VLANs → Production VLANs: DENY (isolation) +``` + +### 2.3 Data Flow диаграмма + +``` +┌─────────────┐ +│ Developer │ +│ Workstation│ +└──────┬──────┘ + │ 1. Git push + ▼ +┌─────────────────┐ +│ Gitea │ ◄────── База знаний, документация +│ 10.100.10.10 │ +└──────┬──────────┘ + │ 2. Webhook trigger + ▼ +┌─────────────────┐ +│ Jenkins │ +│ 10.100.10.20 │ +│ │ +│ ┌─────────────┐ │ +│ │ CI Pipeline │ │ +│ │ • Build │ │ +│ │ • Test │ │ +│ │ • Security │ │ +│ │ • Scan │ │ +│ └─────────────┘ │ +└──────┬──────────┘ + │ 3. Docker push + ▼ +┌─────────────────┐ +│ Harbor │ +│ 10.100.10.30 │ +│ Container Reg │ +└──────┬──────────┘ + │ 4. Update compose + ▼ +┌─────────────────┐ +│ Gitea │ +│ (GitOps repo) │ +└──────┬──────────┘ + │ 5. Git pull + ▼ +┌─────────────────┐ +│ GitOps Operator │ +│ 10.100.10.40 │ +└──────┬──────────┘ + │ 6. Stack deploy + ▼ +┌─────────────────────────────────┐ +│ Docker Swarm Cluster │ +│ │ +│ Manager Workers │ +│ 10.100.20.1 10.100.20.2-4 │ +│ │ +│ ┌──────────┐ ┌──────────┐ │ +│ │ Service │ │ Service │ │ +│ │ A │ │ B │ │ +│ └──────────┘ └──────────┘ │ +└─────────────────────────────────┘ + │ + │ 7. Metrics & Logs + ▼ +┌─────────────────────────────────┐ +│ Monitoring Stack │ +│ 10.100.40.10 │ +│ │ +│ Prometheus → Grafana │ +│ Loki → Dashboards │ +└─────────────────────────────────┘ + │ + │ 8. AI Analysis + ▼ +┌─────────────────────────────────┐ +│ AI Stack │ +│ │ +│ ┌────────────┐ ┌───────────┐ │ +│ │ Ollama │←→│MCP Server │ │ +│ │ 10.100.30.10 │10.100.30.20│ │ +│ └────────────┘ └─────┬─────┘ │ +└────────────────────────┼───────┘ + │ + ┌───────────────┼───────────────┐ + │ │ │ + ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ + │ Gitea │ │ Swarm │ │ Logs │ + │ Docs │ │ API │ │Metrics │ + └─────────┘ └─────────┘ └─────────┘ +``` + +--- + +## 3. Варианты реализации + +### 3.1 Вариант A: Отдельные виртуальные машины (Рекомендуется) + +**Описание:** +Каждый компонент развернут на dedicated VM. Это наиболее гибкий и production-like подход. + +**Преимущества:** +- ✅ Maximum flexibility при масштабировании +- ✅ Resource isolation между компонентами +- ✅ Easier troubleshooting +- ✅ Более похоже на production setup +- ✅ Можно selective upgrade компонентов + +**Недостатки:** +- ❌ Больше overhead (каждая VM = OS) +- ❌ Сложнее management (12 VMs) +- ❌ Выше licensing costs (если Windows/RHEL) + +**Технические требования:** + +| # | Component | vCPU | RAM | Storage | Network | OS | +|---|-----------|------|-----|---------|---------|---| +| 1 | Gitea | 4 | 8 GB | 200 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 2 | Jenkins | 8 | 16 GB | 500 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 3 | Harbor | 4 | 8 GB | 2 TB HDD | 1 Gbps | Ubuntu 22.04 | +| 4 | Swarm Manager | 4 | 8 GB | 100 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 5-7 | Swarm Workers | 8 each | 16 GB each | 200 GB SSD each | 1 Gbps | Ubuntu 22.04 | +| 8 | GitOps/Portainer | 2 | 4 GB | 50 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 9 | Ollama | 8 | 32 GB | 500 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 10 | MCP Server | 4 | 8 GB | 50 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 11 | Monitoring | 8 | 16 GB | 1 TB HDD | 1 Gbps | Ubuntu 22.04 | +| 12 | PostgreSQL | 4 | 8 GB | 200 GB SSD | 1 Gbps | Ubuntu 22.04 | +| 13 | NFS Storage | 2 | 8 GB | 5 TB HDD RAID 10 | 1 Gbps | Ubuntu 22.04 | + +**ИТОГО:** +- **VMs:** 13 +- **vCPU:** 72 total +- **RAM:** 168 GB total +- **SSD:** ~2.6 TB +- **HDD:** ~8 TB +- **Network:** 13x 1 Gbps ports + +**Минимальный hypervisor host:** +- CPU: 2x Intel Xeon или AMD EPYC (минимум 96 threads с учетом oversubscription 1:1.3) +- RAM: 256 GB (168 GB для VMs + 88 GB для hypervisor и overhead) +- Storage: 2x 2TB NVMe SSD (RAID 1) + 2x 8TB HDD (RAID 10) +- Network: 2x 10 Gbps (bonded для redundancy) + +### 3.2 Вариант B: Single Powerful Server (Budget Option) + +**Описание:** +Все компоненты на одном мощном сервере как VMs или containers. Подходит для tight budget. + +**Преимущества:** +- ✅ Значительная экономия costs (~60% дешевле) +- ✅ Проще management (один сервер) +- ✅ Lower power consumption +- ✅ Меньше физического space +- ✅ Быстрее deployment + +**Недостатки:** +- ❌ Single point of failure +- ❌ Limited scalability +- ❌ Resource contention возможна +- ❌ Не production-like architecture + +**Технические требования:** + +**Single Server Specifications:** + +| Component | Specification | Примечание | +|-----------|--------------|-----------| +| **CPU** | 2x Intel Xeon Gold 6348 (28 cores, 56 threads each) = 112 threads total | Или эквивалент AMD EPYC | +| **RAM** | 256 GB DDR4 ECC (8x 32GB modules) | Расширяемо до 512 GB | +| **Storage 1** | 2x 2TB NVMe SSD в RAID 1 | Для OS, VMs, databases | +| **Storage 2** | 4x 8TB HDD в RAID 10 = 16 TB usable | Для Harbor images, backups | +| **Storage Controller** | Hardware RAID controller с BBU | Для integrity | +| **Network** | 2x 10 Gbps (bonded) | Redundancy | +| **PSU** | 2x Redundant Power Supplies | High availability | +| **Management** | iDRAC/iLO/IPMI | Remote management | +| **Form Factor** | 2U Rackmount | Standard datacenter | + +**Примеры подходящих серверов:** +- Dell PowerEdge R750 +- HPE ProLiant DL380 Gen11 +- Supermicro SuperServer SYS-2029U-TN24R4T +- Lenovo ThinkSystem SR650 V3 + +**Software Stack:** +- Hypervisor: Proxmox VE (free) или VMware ESXi (с лицензией) +- VMs: Ubuntu 22.04 LTS для каждого компонента +- Management: Proxmox Web UI или vCenter + +**Estimated Cost:** ~$35,000-45,000 (vs $70,000-90,000 для отдельных серверов) + +### 3.3 Вариант C: Hybrid Approach (Оптимальный компромисс) + +**Описание:** +Комбинация: critical компоненты отдельно, non-critical объединены. + +**Архитектура:** + +| Physical Server | Components | Resources | +|----------------|------------|-----------| +| **Server 1: CI/CD Hub** | Gitea, Jenkins, Harbor, GitOps | 32 vCPU, 64 GB RAM, 3 TB storage | +| **Server 2: Swarm Cluster** | 1 Manager + 3 Workers (VMs) | 32 vCPU, 64 GB RAM, 1 TB SSD | +| **Server 3: AI & Monitoring** | Ollama, MCP, Prometheus, Grafana | 16 vCPU, 48 GB RAM, 2 TB storage | +| **Server 4: Data Layer** | PostgreSQL, NFS Storage | 8 vCPU, 16 GB RAM, 6 TB storage | + +**ИТОГО:** +- **Servers:** 4 physical +- **Total:** 88 vCPU, 192 GB RAM, 12 TB storage +- **Cost:** ~$55,000-65,000 + +**Преимущества:** +- ✅ Баланс cost vs flexibility +- ✅ Some isolation между critical services +- ✅ Можно upgrade отдельные servers +- ✅ Reasonable failover возможности + +**Рекомендация:** Этот вариант для большинства FinTech компаний. + +--- + +## 4. Детальные технические требования + +### 4.1 Сводная таблица ресурсов + +| Component | vCPU | RAM (GB) | SSD (GB) | HDD (TB) | Network | +|-----------|------|----------|----------|----------|---------| +| Gitea | 4 | 8 | 200 | - | 1 Gbps | +| Jenkins | 8 | 16 | 500 | - | 1 Gbps | +| Harbor | 4 | 8 | 100 | 2 | 1 Gbps | +| Swarm Manager | 4 | 8 | 100 | - | 1 Gbps | +| Swarm Workers (3x) | 24 | 48 | 600 | - | 1 Gbps | +| GitOps/Portainer | 2 | 4 | 50 | - | 1 Gbps | +| Ollama | 8 | 32 | 500 | - | 1 Gbps | +| MCP Server | 4 | 8 | 50 | - | 1 Gbps | +| Monitoring | 8 | 16 | - | 1 | 1 Gbps | +| PostgreSQL | 4 | 8 | 200 | - | 1 Gbps | +| NFS Storage | 2 | 8 | 50 | 5 | 1 Gbps | +| **TOTAL** | **72** | **168** | **~2350** | **~8** | **11 ports** | + +**Hypervisor Requirements:** +- Physical CPU: 96 threads (with 1:1.3 oversubscription) +- Physical RAM: 256 GB (168 + overhead) +- Storage: 3 TB SSD + 10 TB HDD +- Network: 2x 10 Gbps bonded + +--- + +## 5. Сетевая инфраструктура + +### 5.1 IP Addressing Scheme + +**Dev Environment:** 10.100.0.0/16 + +| Zone | Subnet | Range | Gateway | +|------|--------|-------|---------| +| **Gateway** | 10.100.1.0/24 | .1-.254 | 10.100.1.1 | +| **Management** | 10.100.10.0/24 | .10-.50 | 10.100.10.1 | +| **Swarm Cluster** | 10.100.20.0/24 | .1-.254 | 10.100.20.1 | +| **AI Zone** | 10.100.30.0/24 | .10-.50 | 10.100.30.1 | +| **Monitoring** | 10.100.40.0/24 | .10-.50 | 10.100.40.1 | +| **Data Zone** | 10.100.50.0/24 | .10-.50 | 10.100.50.1 | + +### 5.2 DNS Configuration + +``` +# Management Zone +gitea.dev.company.local → 10.100.10.10 +jenkins.dev.company.local → 10.100.10.20 +harbor.dev.company.local → 10.100.10.30 +portainer.dev.company.local → 10.100.10.50 + +# Swarm Zone +swarm-manager.dev.company.local → 10.100.20.1 +swarm-worker1.dev.company.local → 10.100.20.2 +swarm-worker2.dev.company.local → 10.100.20.3 +swarm-worker3.dev.company.local → 10.100.20.4 + +# AI Zone +ollama.dev.company.local → 10.100.30.10 +mcp.dev.company.local → 10.100.30.20 + +# Monitoring +grafana.dev.company.local → 10.100.40.10 +prometheus.dev.company.local → 10.100.40.10 + +# Data Zone +postgres.dev.company.local → 10.100.50.10 +nfs.dev.company.local → 10.100.50.20 +``` + +--- + +## 6. Хранилище данных + +### 6.1 Storage Architecture + +**Tier Classification:** + +| Tier | Type | Use Case | Performance | Cost | +|------|------|----------|-------------|------| +| **Tier 0** | NVMe SSD | Databases, OS, logs | >50K IOPS | High | +| **Tier 1** | SATA SSD | Applications, caching | 10-50K IOPS | Medium | +| **Tier 2** | HDD RAID 10 | Harbor images, backups | 200-500 IOPS | Low | + +### 6.2 Backup Strategy + +**Backup Schedule:** + +| What | Frequency | Retention | Method | Storage | +|------|-----------|-----------|--------|---------| +| **Git Repos** | Daily | 30 days | rsync/borg | NFS backup volume | +| **Databases** | Daily | 30 days | pg_dump | NFS backup volume | +| **Configs** | Daily | 90 days | Git + tar | NFS backup volume | +| **Docker Images** | Weekly | 4 weeks | Harbor replication | External (optional) | +| **Full System** | Weekly | 4 weeks | VM snapshots | Hypervisor storage | + +--- + +## 7. Безопасность + +### 7.1 OS Hardening Checklist + +```bash +✅ Disable root SSH login +✅ Key-based authentication only +✅ UFW firewall configured +✅ Automatic security updates +✅ Fail2ban для SSH protection +✅ Disable unused services +✅ Audit logging enabled +✅ Time synchronization (NTP) +✅ CIS Benchmark compliance +``` + +### 7.2 RBAC Groups + +| Group | Access Level | Services | +|-------|-------------|----------| +| **dev-team** | Developer | Gitea (read/write), Jenkins (build), Portainer (view) | +| **devops-team** | Operator | All services (full access) | +| **managers** | Viewer | Read-only dashboards | +| **security-team** | Auditor | Read-only + audit logs | + +--- + +## 8. Бюджетные расчеты + +### 8.1 Comparison Summary + +| Вариант | Initial Cost | 3-Year TCO | Pros | Cons | +|---------|-------------|------------|------|------| +| **A: Separate VMs** | $130-138K | $185-193K | Max flexibility | Highest cost | +| **B: Single Server** | $107-116K | $162-171K | Lowest cost | Single point of failure | +| **C: Hybrid** | $135-144K | $190-199K | **Balanced** ✅ | Moderate cost | + +### 8.2 Вариант C: Hybrid (Рекомендуется) - Детальный бюджет + +**Hardware:** + +| Item | Specification | Cost | +|------|--------------|------| +| Server 1 (CI/CD) | 16 core, 128GB, 3TB | $18,000 | +| Server 2 (Swarm) | 24 core, 96GB, 1.5TB | $15,000 | +| Server 3 (AI/Monitor) | 16 core, 64GB, 2TB | $12,000 | +| Server 4 (Data) | 8 core, 32GB, 10TB | $10,000 | +| Network Switch 10GbE | 24-port managed | $4,000 | +| Firewall | FortiGate 60F | $2,500 | +| UPS | 3000VA rack-mount | $1,500 | +| Cables & Rack | Networking & 42U rack | $3,000 | +| **Subtotal Hardware** | | **$66,000** | +| Contingency (10%) | | $6,600 | +| **Total Hardware** | | **$72,600** | + +**Software & Services:** + +| Item | Cost | +|------|------| +| Software Licenses | $500-9,000 | +| Professional Services | $24,000 | +| Training (3 days) | $15,000 | +| Security Audit | $10,000 | +| Documentation | $5,000 | +| Contingency (15%) | $8,100 | +| **Total Services** | **$62,600-71,100** | + +**TOTAL INITIAL: $135,200-143,700** +**Annual Recurring: $27,500** +**3-YEAR TCO: $190,200-198,700** + +--- + +## 9. План закупок + +### 9.1 Timeline (8 недель) + +**Week 1-2: Planning** +- [ ] Finalize architecture (Variant C recommended) +- [ ] Budget approval +- [ ] Security sign-off +- [ ] Select vendors + +**Week 3-4: Procurement** +- [ ] Request quotes (minimum 3 vendors) +- [ ] Compare offerings +- [ ] Place purchase orders +- [ ] Lead time: 2-4 weeks + +**Week 5-6: Installation** +- [ ] Receive hardware +- [ ] Physical installation +- [ ] Cable management +- [ ] Initial validation + +**Week 7-8: Deployment** +- [ ] Hypervisor installation +- [ ] VM creation +- [ ] Network configuration +- [ ] Software deployment + +### 9.2 Vendor Selection + +**Recommended Vendors:** +- **Dell** - Good support, standard pricing +- **HPE** - Excellent enterprise support +- **Lenovo** - Competitive pricing +- **Supermicro** - Best price/performance + +**Evaluation Criteria:** +1. Support response time (4-hour vs next business day) +2. Warranty (3 years minimum) +3. Spare parts availability +4. Local support presence +5. Total cost (including shipping & taxes) + +### 9.3 Acceptance Criteria + +**Hardware:** +- [ ] All components delivered as specified +- [ ] No physical damage +- [ ] POST tests pass +- [ ] RAID configuration validated +- [ ] Network connectivity verified +- [ ] Remote management (iDRAC/iLO) working + +**Software:** +- [ ] All VMs deployed +- [ ] Network connectivity tested +- [ ] Storage performance validated +- [ ] Backup jobs configured +- [ ] Monitoring operational +- [ ] Security scans clean + +**Final:** +- [ ] End-to-end CI/CD workflow tested +- [ ] Documentation complete +- [ ] Team trained +- [ ] Security and compliance sign-off + +--- + +## Приложения + +### A. Quick Reference + +**Service URLs:** +``` +Gitea: https://gitea.dev.company.local:3000 +Jenkins: https://jenkins.dev.company.local:8080 +Harbor: https://harbor.dev.company.local +Portainer: https://portainer.dev.company.local:9443 +Grafana: https://grafana.dev.company.local:3000 +Ollama: http://ollama.dev.company.local:11434 +``` + +### B. Common Commands + +```bash +# Swarm operations +docker node ls +docker stack deploy -c docker-compose.yml stackname +docker service logs servicename +docker service scale servicename=3 + +# Database backup +pg_dump -h postgres.dev.company.local dbname > backup.sql + +# Check monitoring +curl http://prometheus.dev.company.local:9090/api/v1/query?query=up + +# AI test +curl http://ollama.dev.company.local:11434/api/generate \ + -d '{"model": "llama3", "prompt": "Hello"}' +``` + +--- + +**Document Version:** 1.0 +**Last Updated:** Январь 2026 +**Status:** Ready for approval + +**Approvals:** +- [ ] Infrastructure Lead: _________________ Date: _______ +- [ ] Security Lead: _________________ Date: _______ +- [ ] Financial Approval: _________________ Date: _______ +- [ ] Project Sponsor: _________________ Date: _______ \ No newline at end of file