Update docs/gitops-cicd/test-server-requirements.md
This commit is contained in:
531
docs/gitops-cicd/test-server-requirements.md
Normal file
531
docs/gitops-cicd/test-server-requirements.md
Normal file
@@ -0,0 +1,531 @@
|
||||
# Требования к тестовому серверу 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
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user