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