653 lines
20 KiB
Markdown
653 lines
20 KiB
Markdown
# FinTech GitOps CI/CD - Технические спецификации компонентов
|
||
|
||
**Версия:** 1.0
|
||
**Дата:** Январь 2026
|
||
**Целевая аудитория:** Infrastructure Team, DevOps, System Administrators, Procurement
|
||
|
||
---
|
||
|
||
## Содержание
|
||
|
||
1. [Gitea - Git Repository](#1-gitea)
|
||
2. [Jenkins - CI Server](#2-jenkins)
|
||
3. [Harbor - Container Registry](#3-harbor)
|
||
4. [Docker Swarm Cluster](#4-docker-swarm-cluster)
|
||
5. [GitOps Operator](#5-gitops-operator)
|
||
6. [Portainer - Management UI](#6-portainer)
|
||
7. [Ollama - AI Server](#7-ollama)
|
||
8. [MCP Server](#8-mcp-server)
|
||
9. [Monitoring Stack](#9-monitoring-stack)
|
||
10. [Database Infrastructure](#10-database-infrastructure)
|
||
11. [Storage Infrastructure](#11-storage-infrastructure)
|
||
12. [Network Infrastructure](#12-network-infrastructure)
|
||
13. [Сводная таблица ресурсов](#13-сводная-таблица-ресурсов)
|
||
|
||
---
|
||
|
||
## 1. Gitea
|
||
|
||
### Назначение
|
||
Централизованное хранилище кода, конфигураций и базы знаний компании.
|
||
|
||
### Production спецификация
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **CPU** | 8 vCPU | Git операции CPU-intensive при больших репозиториях |
|
||
| **RAM** | 16 GB | 8 GB Gitea + 4 GB PostgreSQL + 4 GB OS/cache |
|
||
| **Primary Disk** | 500 GB NVMe SSD RAID 1 | Быстрый доступ к Git objects, репликация для HA |
|
||
| **Backup Disk** | 2 TB HDD RAID 10 | Долгосрочное хранение всей истории |
|
||
| **Network** | 1-10 Gbps | 1 Gbps minimum, 10 Gbps preferred для больших pushes |
|
||
| **IOPS** | 5000+ | Множество concurrent операций |
|
||
| **IP Address** | 10.10.10.10 | Management VLAN |
|
||
|
||
### Development спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 4 vCPU |
|
||
| **RAM** | 8 GB |
|
||
| **Disk** | 200 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.10.10.110 (Dev VLAN) |
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS (hardened)
|
||
- **Gitea:** Latest stable (1.21.x+)
|
||
- **Database:** PostgreSQL 15.x
|
||
- **Web Server:** Nginx (reverse proxy, TLS termination)
|
||
- **Дополнительно:** Git LFS, Fail2ban
|
||
|
||
### Дисковое пространство - расчет
|
||
|
||
```
|
||
Базовая установка:
|
||
- Gitea binary: 500 MB
|
||
- PostgreSQL database: 2-5 GB (issues, PRs, metadata)
|
||
|
||
Код и репозитории (пример для средней FinTech):
|
||
- 50 активных репозиториев
|
||
- Средний размер с историей: 1.5 GB
|
||
- Итого: 75 GB
|
||
|
||
База знаний и документация:
|
||
- 1000+ документов Markdown
|
||
- Диаграммы, изображения: 5 GB
|
||
- Wiki pages: 1 GB
|
||
- Итого: 6 GB
|
||
|
||
Git LFS objects: 20 GB
|
||
Backup snapshots: 100 GB
|
||
Buffer для роста: 200 GB
|
||
|
||
TOTAL: ~400 GB минимум
|
||
Recommended: 500 GB с запасом
|
||
```
|
||
|
||
### Backup стратегия
|
||
- **Hourly:** Incremental Git repositories (только дельта)
|
||
- **Daily:** Full PostgreSQL dump в 02:00
|
||
- **Weekly:** Full server snapshot
|
||
- **Monthly:** Archive backup (7 years retention)
|
||
|
||
### High Availability
|
||
- Master-slave PostgreSQL replication
|
||
- Shared storage для Git repositories через NFS/GlusterFS
|
||
- Automated failover через keepalived/Pacemaker
|
||
- RTO: 15 minutes, RPO: 1 hour
|
||
|
||
---
|
||
|
||
## 2. Jenkins
|
||
|
||
### Назначение
|
||
CI автоматизация - сборка, тестирование, security scanning, push образов.
|
||
|
||
### Production Master спецификация
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **CPU** | 16 vCPU | Координация множества параллельных builds |
|
||
| **RAM** | 32 GB | JVM heap 24 GB + OS 8 GB |
|
||
| **OS Disk** | 200 GB NVMe SSD RAID 1 | Jenkins home, plugins, configs |
|
||
| **Workspace Disk** | 1 TB NVMe SSD | Temporary build artifacts |
|
||
| **Archive Disk** | 2 TB HDD RAID 10 | Long-term artifact storage |
|
||
| **Network** | 10 Gbps | Frequent Docker image push/pull |
|
||
| **IOPS** | 10000+ | Parallel builds с интенсивным I/O |
|
||
| **IP Address** | 10.10.10.20 | Management VLAN |
|
||
|
||
### JVM Configuration
|
||
```
|
||
Heap Size: -Xms16g -Xmx24g
|
||
GC: -XX:+UseG1GC
|
||
GC Pause: -XX:MaxGCPauseMillis=100
|
||
```
|
||
|
||
### Build Agents (динамические)
|
||
|
||
| Тип | CPU | RAM | Disk | Назначение |
|
||
|-----|-----|-----|------|-----------|
|
||
| Light | 2 vCPU | 4 GB | 50 GB | Unit tests, linting |
|
||
| Standard | 4 vCPU | 8 GB | 100 GB | Большинство builds |
|
||
| Heavy | 8 vCPU | 16 GB | 200 GB | Integration tests, complex apps |
|
||
| Docker | 8 vCPU | 16 GB | 200 GB SSD | Docker builds с layer caching |
|
||
|
||
### Development спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 16 GB (JVM heap 12 GB) |
|
||
| **Disk** | 500 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS
|
||
- **Jenkins:** LTS версия (2.440.x+)
|
||
- **Java:** OpenJDK 17 LTS
|
||
- **Docker:** Docker CE latest (для builds)
|
||
|
||
### Критические plugins
|
||
- Git, Gitea, Pipeline, Docker
|
||
- Kubernetes (для dynamic agents)
|
||
- Security: OWASP Dependency-Check, SonarQube, Trivy
|
||
- Credentials Binding, RBAC
|
||
- Slack, Email notifications
|
||
- Prometheus Metrics
|
||
|
||
---
|
||
|
||
## 3. Harbor
|
||
|
||
### Назначение
|
||
Enterprise container registry с security scanning и image signing.
|
||
|
||
### Production спецификация
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **CPU** | 8 vCPU | Image scanning и replication workload |
|
||
| **RAM** | 16 GB | 8 GB Harbor + 4 GB PostgreSQL + 4 GB Redis/cache |
|
||
| **Application Disk** | 200 GB SSD RAID 1 | Harbor application и database |
|
||
| **Image Storage** | 10 TB HDD RAID 10 | Docker images (grows significantly) |
|
||
| **Network** | 10 Gbps | High-frequency image push/pull |
|
||
| **IOPS** | 5000+ для SSD | Metadata operations |
|
||
| **IP Address** | 10.10.10.30 | Management VLAN |
|
||
|
||
### Storage расчет
|
||
|
||
```
|
||
Средний Docker image: 500 MB - 2 GB
|
||
Количество приложений: 30-50
|
||
Версии на app: 10-20 (разные tags)
|
||
Growth rate: 50% в год
|
||
|
||
Пример:
|
||
- 40 приложений
|
||
- 15 версий каждого
|
||
- Средний размер: 1 GB
|
||
= 40 * 15 * 1 GB = 600 GB
|
||
|
||
Плюс:
|
||
- Base images (cached): 50 GB
|
||
- Third-party images (proxy cache): 200 GB
|
||
- Security scan data: 50 GB
|
||
- Buffer: 100 GB
|
||
|
||
TOTAL: ~1 TB минимум
|
||
Recommended: 10 TB для long-term growth
|
||
```
|
||
|
||
### Development спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 4 vCPU |
|
||
| **RAM** | 8 GB |
|
||
| **Disk** | 2 TB HDD |
|
||
| **Network** | 1 Gbps |
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS
|
||
- **Harbor:** Latest stable (2.10.x+)
|
||
- **Database:** PostgreSQL 15.x
|
||
- **Cache:** Redis 7.x
|
||
- **Scanner:** Trivy (встроенный)
|
||
- **Storage Backend:** Local filesystem или S3-compatible
|
||
|
||
### Replication для DR
|
||
- Geo-replication к secondary Harbor в DR site
|
||
- Automated sync production images
|
||
- Push-based replication policy
|
||
|
||
---
|
||
|
||
## 4. Docker Swarm Cluster
|
||
|
||
### Manager Nodes (3 ноды для HA)
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **Количество** | 3 | Quorum для Raft consensus (нечетное число) |
|
||
| **CPU per node** | 4 vCPU | Orchestration, API, scheduling |
|
||
| **RAM per node** | 8 GB | Raft data, cluster state |
|
||
| **Disk per node** | 200 GB SSD | Raft log, etcd data |
|
||
| **Network** | 10 Gbps | Raft consensus требует low latency |
|
||
| **IP Range** | 10.20.1.1-3 | Swarm VLAN |
|
||
|
||
**Important:** Manager nodes НЕ запускают application workloads (только infrastructure services).
|
||
|
||
### Worker Nodes (N нод для applications)
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **Минимум нод** | 3 | Для redundancy applications |
|
||
| **Recommended** | 5-10+ | Зависит от workload |
|
||
| **CPU per node** | 8-16 vCPU | Зависит от интенсивности приложений |
|
||
| **RAM per node** | 32-64 GB | Зависит от memory footprint приложений |
|
||
| **Disk per node** | 500 GB SSD | Local volumes, temporary data |
|
||
| **Network** | 10 Gbps | Overlay network performance critical |
|
||
| **IP Range** | 10.20.2.1-N | Swarm VLAN |
|
||
|
||
### Capacity Planning - Worker Nodes
|
||
|
||
**Расчет на основе workload:**
|
||
|
||
```
|
||
Пример application requirements:
|
||
- 30 microservices в production
|
||
- Каждый microservice: 3 replicas (для HA)
|
||
- Average CPU per replica: 0.5 CPU
|
||
- Average RAM per replica: 1 GB
|
||
|
||
Total requirements:
|
||
- CPU: 30 * 3 * 0.5 = 45 CPUs
|
||
- RAM: 30 * 3 * 1 GB = 90 GB
|
||
|
||
С overhead (Swarm, monitoring agents, etc.) +20%:
|
||
- CPU: 54 CPUs
|
||
- RAM: 108 GB
|
||
|
||
Распределение на 6 worker nodes:
|
||
- CPU per node: 54 / 6 = 9 CPUs → 12 vCPU (с запасом)
|
||
- RAM per node: 108 / 6 = 18 GB → 32 GB (с запасом)
|
||
|
||
Результат: 6 nodes x 12 vCPU x 32 GB RAM
|
||
```
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS (kernel 5.15+)
|
||
- **Docker:** Docker CE 24.x+
|
||
- **Overlay Network:** Encrypted (IPSec default)
|
||
|
||
---
|
||
|
||
## 5. GitOps Operator
|
||
|
||
### Назначение
|
||
Автоматическая синхронизация между Git repository и Docker Swarm cluster.
|
||
|
||
### Спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 2 vCPU |
|
||
| **RAM** | 4 GB |
|
||
| **Disk** | 50 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.10.10.40 |
|
||
|
||
### Программное обеспечение
|
||
**Варианты реализации:**
|
||
- Custom solution (Python/Go script)
|
||
- Flux adapted для Swarm
|
||
- ArgoCD adapted для Swarm
|
||
|
||
**Функционал:**
|
||
- Git polling каждые 30 секунд
|
||
- Detect changes в compose files
|
||
- Execute docker stack deploy
|
||
- Health checking после deployment
|
||
- Rollback при failures
|
||
|
||
### High Availability
|
||
- Active-passive pair
|
||
- Heartbeat monitoring
|
||
- Automatic failover
|
||
|
||
---
|
||
|
||
## 6. Portainer
|
||
|
||
### Назначение
|
||
Web UI для визуального управления и мониторинга Docker Swarm.
|
||
|
||
### Спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 2 vCPU |
|
||
| **RAM** | 4 GB |
|
||
| **Disk** | 50 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.10.10.50 |
|
||
|
||
### Программное обеспечение
|
||
- **Portainer:** Business Edition (для RBAC, audit)
|
||
- **Database:** PostgreSQL или embedded (small dataset)
|
||
- **OS:** Ubuntu Server 22.04 LTS
|
||
|
||
### Функционал
|
||
- Swarm cluster visualization
|
||
- Stack management
|
||
- Service scaling
|
||
- Log viewing
|
||
- RBAC для team access
|
||
- Templates для быстрого deploy
|
||
|
||
---
|
||
|
||
## 7. Ollama - AI Server
|
||
|
||
### Назначение
|
||
Локальный AI model serving для company-wide AI assistant.
|
||
|
||
### Production спецификация
|
||
|
||
| Параметр | Значение | Обоснование |
|
||
|----------|----------|-------------|
|
||
| **CPU** | 16 vCPU | Fallback если нет GPU |
|
||
| **RAM** | 64 GB | Large models требуют ~40-60 GB |
|
||
| **GPU** | NVIDIA A100 40GB или 2x RTX 4090 24GB | Значительно ускоряет inference |
|
||
| **Disk** | 2 TB NVMe SSD | Models 10-100 GB каждая, multiple models |
|
||
| **Network** | 10 Gbps | Fast response delivery |
|
||
| **IP Address** | 10.30.10.10 | AI VLAN |
|
||
|
||
### GPU Рекомендации
|
||
|
||
**Option 1: NVIDIA A100 40GB (Professional)**
|
||
- Pros: Лучшая производительность, FP64 support, ECC memory
|
||
- Cons: Дорого (~$10-15k)
|
||
- Performance: ~10-15 tokens/sec для 70B model
|
||
|
||
**Option 2: 2x NVIDIA RTX 4090 24GB (Enthusiast)**
|
||
- Pros: Дешевле (~$3-4k), хорошая производительность
|
||
- Cons: No ECC, gaming card (не для 24/7)
|
||
- Performance: ~8-12 tokens/sec для 70B model (distributed)
|
||
|
||
**Option 3: CPU only (Budget)**
|
||
- Pros: No additional hardware
|
||
- Cons: Очень медленно (1-2 tokens/sec для 70B)
|
||
- Workable: Только для small models (7B-13B)
|
||
|
||
### Рекомендуемые модели
|
||
|
||
| Model | Size | RAM Required | Use Case |
|
||
|-------|------|--------------|----------|
|
||
| **Llama 3.3 70B** | ~40 GB | 48 GB+ | General purpose, сложные задачи |
|
||
| **Qwen 2.5 Coder 32B** | ~20 GB | 24 GB+ | Code generation, review |
|
||
| **DeepSeek-R1 7B** | ~4 GB | 8 GB+ | Fast responses, simple queries |
|
||
| **Mistral 7B** | ~4 GB | 8 GB+ | Легкие задачи, быстрый ответ |
|
||
|
||
### Development спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 32 GB |
|
||
| **GPU** | Optional |
|
||
| **Disk** | 500 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS
|
||
- **Ollama:** Latest version
|
||
- **CUDA:** 12.x+ (если GPU)
|
||
- **Models:** Llama 3, Qwen, DeepSeek, etc.
|
||
|
||
---
|
||
|
||
## 8. MCP Server
|
||
|
||
### Назначение
|
||
Model Context Protocol server для интеграции AI с источниками данных.
|
||
|
||
### Спецификация
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 16 GB |
|
||
| **Disk** | 100 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.30.10.20 |
|
||
|
||
### Connectors (модульные плагины)
|
||
|
||
| Connector | Target | Access Type |
|
||
|-----------|--------|-------------|
|
||
| **Gitea MCP** | Gitea API | Read-only (code, docs) |
|
||
| **Swarm MCP** | Docker API | Read-only (logs, metrics) |
|
||
| **PostgreSQL MCP** | Databases | Read-only (metadata only) |
|
||
| **Prometheus MCP** | Prometheus API | Read-only (metrics) |
|
||
| **Loki MCP** | Loki API | Read-only (logs) |
|
||
|
||
### Security
|
||
- Service accounts per connector
|
||
- Rate limiting
|
||
- All queries logged для audit
|
||
- No write permissions to production data
|
||
|
||
### Программное обеспечение
|
||
- **OS:** Ubuntu Server 22.04 LTS
|
||
- **Runtime:** Node.js или Python
|
||
- **MCP Implementation:** TypeScript/Python SDK
|
||
|
||
---
|
||
|
||
## 9. Monitoring Stack
|
||
|
||
### Prometheus
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 32 GB |
|
||
| **Disk** | 2 TB HDD RAID 10 |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.40.10.10 |
|
||
| **Retention** | 30 days local, long-term в Thanos |
|
||
|
||
### Grafana
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 4 vCPU |
|
||
| **RAM** | 8 GB |
|
||
| **Disk** | 100 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.40.10.20 |
|
||
|
||
### Loki
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 16 GB |
|
||
| **Disk** | 5 TB HDD RAID 10 |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.40.10.30 |
|
||
| **Retention** | 90 days |
|
||
|
||
### AlertManager
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 2 vCPU |
|
||
| **RAM** | 4 GB |
|
||
| **Disk** | 50 GB SSD |
|
||
| **Network** | 1 Gbps |
|
||
| **IP Address** | 10.40.10.40 |
|
||
|
||
---
|
||
|
||
## 10. Database Infrastructure
|
||
|
||
### Infrastructure PostgreSQL (Gitea, Harbor, Portainer)
|
||
|
||
**Primary:**
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 16 GB |
|
||
| **Disk** | 500 GB SSD RAID 10 |
|
||
| **Network** | 10 Gbps |
|
||
| **IP Address** | 10.50.10.10 |
|
||
|
||
**Replica:**
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| **CPU** | 8 vCPU |
|
||
| **RAM** | 16 GB |
|
||
| **Disk** | 500 GB SSD RAID 10 |
|
||
| **Network** | 10 Gbps |
|
||
| **IP Address** | 10.50.10.11 |
|
||
|
||
**Configuration:**
|
||
- Streaming replication (synchronous)
|
||
- Automated failover (Patroni/repmgr)
|
||
- Continuous WAL archiving
|
||
- Daily full backup + point-in-time recovery
|
||
|
||
### Application Databases
|
||
Varies per application - отдельная спецификация per app.
|
||
|
||
---
|
||
|
||
## 11. Storage Infrastructure
|
||
|
||
### Shared Storage для Swarm Persistent Volumes
|
||
|
||
**Technology:** GlusterFS (replicated) или NFS с HA
|
||
|
||
**Спецификация (3 storage nodes для 3-way replication):**
|
||
|
||
| Параметр | Per Node |
|
||
|----------|----------|
|
||
| **CPU** | 4 vCPU |
|
||
| **RAM** | 16 GB |
|
||
| **Disk** | 5 TB HDD RAID 10 |
|
||
| **Network** | 10 Gbps (критично для performance) |
|
||
| **IP Range** | 10.50.30.1-3 |
|
||
|
||
**Capacity Planning:**
|
||
```
|
||
Persistent data estimate:
|
||
- Databases: 500 GB
|
||
- Application data: 1 TB
|
||
- Logs: 500 GB
|
||
- Growth: 50% per year
|
||
|
||
Total: 2 TB current
|
||
+ 1 TB growth
|
||
+ 1 TB buffer
|
||
= 4 TB minimum
|
||
|
||
With 3-way replication: 4 TB * 3 = 12 TB raw
|
||
Recommended: 15 TB (5 TB per node)
|
||
```
|
||
|
||
---
|
||
|
||
## 12. Network Infrastructure
|
||
|
||
### Core Network Requirements
|
||
|
||
**Switches:**
|
||
- **Core Switch:** 10 Gbps, Layer 3, VLAN capable
|
||
- **Access Switches:** 1 Gbps per port, 10 Gbps uplink
|
||
- **Redundancy:** Stacked или MLAG для HA
|
||
|
||
**Bandwidth Allocations:**
|
||
|
||
| Zone | Bandwidth | Justification |
|
||
|------|-----------|---------------|
|
||
| Management | 1-10 Gbps | Harbor push/pull traffic |
|
||
| Swarm | 10 Gbps | Overlay network performance |
|
||
| AI | 10 Gbps | Model loading, fast responses |
|
||
| Monitoring | 1 Gbps | Metrics collection |
|
||
| Data | 10 Gbps | Database replication |
|
||
| Backup | 10 Gbps | Fast backup completion |
|
||
|
||
**Firewall:**
|
||
- Enterprise firewall appliance
|
||
- Throughput: 10 Gbps+
|
||
- VLAN routing
|
||
- IDS/IPS capabilities
|
||
- VPN termination
|
||
|
||
**VPN Gateway:**
|
||
- 1 Gbps throughput minimum
|
||
- 100+ concurrent users
|
||
- Multi-factor authentication
|
||
- Split-tunnel disabled
|
||
|
||
---
|
||
|
||
## 13. Сводная таблица ресурсов
|
||
|
||
### Production Environment - Total Resources
|
||
|
||
| Component | Quantity | CPU (each) | RAM (each) | Storage (each) | Network |
|
||
|-----------|----------|------------|------------|----------------|---------|
|
||
| **Gitea** | 1 | 8 | 16 GB | 500 GB SSD + 2 TB HDD | 10G |
|
||
| **Jenkins** | 1 | 16 | 32 GB | 200 GB SSD + 1 TB SSD + 2 TB HDD | 10G |
|
||
| **Harbor** | 1 | 8 | 16 GB | 200 GB SSD + 10 TB HDD | 10G |
|
||
| **Swarm Managers** | 3 | 4 | 8 GB | 200 GB SSD | 10G |
|
||
| **Swarm Workers** | 6 | 12 | 32 GB | 500 GB SSD | 10G |
|
||
| **GitOps Operator** | 1 | 2 | 4 GB | 50 GB SSD | 1G |
|
||
| **Portainer** | 1 | 2 | 4 GB | 50 GB SSD | 1G |
|
||
| **Ollama** | 1 | 16 | 64 GB | 2 TB SSD | 10G |
|
||
| **MCP Server** | 1 | 8 | 16 GB | 100 GB SSD | 1G |
|
||
| **Prometheus** | 1 | 8 | 32 GB | 2 TB HDD | 1G |
|
||
| **Grafana** | 1 | 4 | 8 GB | 100 GB SSD | 1G |
|
||
| **Loki** | 1 | 8 | 16 GB | 5 TB HDD | 1G |
|
||
| **AlertManager** | 1 | 2 | 4 GB | 50 GB SSD | 1G |
|
||
| **PostgreSQL Primary** | 1 | 8 | 16 GB | 500 GB SSD | 10G |
|
||
| **PostgreSQL Replica** | 1 | 8 | 16 GB | 500 GB SSD | 10G |
|
||
| **Storage Nodes** | 3 | 4 | 16 GB | 5 TB HDD | 10G |
|
||
| **Backup Server** | 1 | 4 | 8 GB | 20 TB HDD | 10G |
|
||
| **---** | **---** | **---** | **---** | **---** | **---** |
|
||
| **TOTAL** | **27 servers** | **200 vCPU** | **464 GB RAM** | **~80 TB storage** | - |
|
||
|
||
### Development Environment - Total Resources
|
||
|
||
**Масштаб:** Примерно 40% от production
|
||
|
||
| Total | CPU | RAM | Storage |
|
||
|-------|-----|-----|---------|
|
||
| **Dev Environment** | 80 vCPU | 180 GB RAM | 25 TB |
|
||
|
||
### Budget Estimate (Hardware only, approximate)
|
||
|
||
**Production:**
|
||
- Compute servers: $80,000 - $120,000
|
||
- Storage: $30,000 - $50,000
|
||
- Network equipment: $40,000 - $60,000
|
||
- **Total Hardware: $150,000 - $230,000**
|
||
|
||
**Software Licenses (annual):**
|
||
- RHEL subscriptions (if used): $10,000
|
||
- Portainer Business: $5,000
|
||
- Monitoring tools: $5,000
|
||
- **Total Software: $20,000/year**
|
||
|
||
**Note:** Использование Ubuntu Server (бесплатно) снижает software costs.
|
||
|
||
---
|
||
|
||
**Утверждение:**
|
||
- Infrastructure Lead: _______________
|
||
- Finance: _______________
|
||
- CTO: _______________
|
||
- Date: _______________ |