Files
k3s-gitops/docs/gitops-cicd/07-test-server-requirements.md

789 lines
42 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Требования к тестовому серверу 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: _______