42 KiB
Требования к тестовому серверу GitOps CI/CD
Версия: 1.0
Дата: Январь 2026
Целевая аудитория: Отделы инфраструктуры, безопасности, закупок
Содержание
- Обзор и назначение
- Структурные схемы
- Варианты реализации
- Детальные технические требования
- Сетевая инфраструктура
- Хранилище данных
- Безопасность
- Бюджетные расчеты
- План закупок
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
✅ 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:
- Support response time (4-hour vs next business day)
- Warranty (3 years minimum)
- Spare parts availability
- Local support presence
- 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
# 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: _______