docs: add test server requirements and architectural diagrams

This commit is contained in:
Claude AI
2026-01-12 13:44:54 +00:00
parent 6aa2023a07
commit e74620e42c

View File

@@ -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: _______