KoproGo Infrastructure Roadmap
Guide complet de l’évolution de l’infrastructure selon la croissance.
Vue d’ensemble
Phase 1: MVP Phase 2: Growth Phase 3: Scale Phase 4: Enterprise
(0-1,500 copros) (1,500-5,000 copros) (5,000-15,000 copros) (15,000+ copros)
VPS 1vCPU VPS 2vCPU K3s Dev K3s Production HA
5€/mois 15€/mois 30€/mois 270€/mois
OVH France OVH France OVH France OVH France
Docker Compose Docker Compose Kubernetes Kubernetes HA
+ Traefik + Traefik Single Node Multi-Node
99.74% uptime 99.9% target 99.95% target 99.99% target
Phase 1: MVP - VPS Simple (0-1,500 copropriétés)
Infrastructure
Hébergement : OVH Cloud France
Coût : ~5€/mois
Specs : 1 vCPU, 2GB RAM, 40GB SSD
Datacenter : France (mix énergétique 60g CO₂/kWh)
Stack :
Docker Compose
Traefik (reverse proxy + SSL auto)
PostgreSQL 15
Backend Rust
Frontend sur Vercel (gratuit)
Déploiement
# 1. Cloner le repo
git clone https://github.com/your-org/koprogo.git
cd koprogo
# 2. Configuration
cp .env.vps.example .env
# Éditer .env avec vos valeurs
# 3. Déployer
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# 4. Monitoring
./monitoring/scripts/vps_metrics.sh
./monitoring/scripts/capacity_calculator.sh
Capacité (Validée par Tests de Charge)
1,000-1,500 copropriétés (toutes tailles confondues)
30,000-45,000 utilisateurs finaux
Performance réelle :
Throughput : 287 req/s soutenus
Success rate : 99.74%
Latence P50 : 69ms
Latence P90 : 130ms
Latence P99 : 752ms
RAM : 128MB utilisés / 2GB (6.3% usage)
CPU : 8% moyen, 25% pic
CO₂ : 0.12g/req (mix français 60g CO₂/kWh)
Monitoring
Scripts de monitoring VPS (créés)
Traefik dashboard :
https://api.koprogo.be/dashboard/UptimeRobot (monitoring externe gratuit)
Quand upgrader ?
Signaux d’alerte :
✗ RAM > 85% constant
✗ CPU load > 1.5 constant (1 vCPU)
✗ Disk > 80%
✗ > 1,500 copropriétés actives
✗ Query latency P99 > 1000ms
👉 Passer à Phase 2 (très peu probable avant 1,500+ copros)
Phase 2: Growth - VPS Upgraded (1,500-5,000 copropriétés)
Infrastructure
Hébergement : OVH Cloud France
Coût : ~15€/mois
Specs : 2 vCPU, 4GB RAM, 80GB SSD
Datacenter : France (souveraineté numérique)
Stack : Identique Phase 1 (Docker Compose)
Capacité estimée : 3,000-5,000 copropriétés
Migration
# Option 1: Resize VPS (OVH Control Panel)
# Dans OVH Manager : Upgrade instance
# Option 2: Migration vers nouveau VPS
# 1. Backup DB
docker exec koprogo-postgres pg_dump -U koprogo koprogo_db > backup.sql
# 2. Provisionner nouveau VPS OVH
# 3. Restaurer backup
Optimisations
Augmenter PostgreSQL
shared_buffers=1GBBackend resource limits :
memory: 500MActiver Traefik metrics Prometheus
Capacité
500-2,000 copropriétés
Latence : maintenue < 5ms
Marge : Comfortable headroom
Quand upgrader ?
500 copropriétés
Besoin de haute disponibilité
Multiple régions géographiques
Équipe DevOps dédiée
👉 Passer à Phase 3
Phase 3: Scale - Kubernetes Dev (500-2,000 copropriétés)
Infrastructure (voir /infrastructure/)
Hébergement : OVH Cloud - Environnement Dev/Staging
Coût : ~30€/mois (dev) ou ~90€/mois (staging)
Specs :
Dev : 1 control plane + 1 worker
Staging : 1 control plane + 2 workers
Stack :
K3s (Kubernetes léger)
Helm charts
PostgreSQL HA (Patroni)
DragonflyDB (cache)
Prometheus + Grafana
Déploiement
# Voir infrastructure/README.md pour détails complets
cd infrastructure
# 1. Configuration OVH
export OVH_ENDPOINT="ovh-eu"
export OVH_APPLICATION_KEY="..."
export OVH_APPLICATION_SECRET="..."
export OVH_CONSUMER_KEY="..."
# 2. Déploiement automatique
./scripts/deploy.sh dev
# 3. Accès cluster
export KUBECONFIG=~/.kube/koprogo-dev
kubectl get nodes
kubectl get pods -A
Avantages
✅ Scalabilité horizontale automatique (HPA)
✅ Haute disponibilité (multi-node)
✅ Rolling updates sans downtime
✅ Monitoring avancé (Prometheus/Grafana)
✅ GitOps (déploiements reproductibles)
Capacité
500-5,000 copropriétés
Scaling automatique selon charge
Multi-région possible
Quand upgrader ?
2,000 copropriétés
SLA > 99.9% requis
Compliance stricte
Équipe technique mature
👉 Passer à Phase 4
Phase 4: Enterprise - Kubernetes Production HA (2,000+ copropriétés)
Infrastructure
Hébergement : OVH Cloud - Production
Coût : ~270€/mois
Specs :
3 control planes (HA etcd)
3 workers (8 vCPU, 30GB RAM chacun)
Load Balancer OVH
Object Storage (backups)
Stack :
K3s multi-master HA
PostgreSQL HA cluster (Patroni + HAProxy)
DragonflyDB HA
Longhorn (storage distribué)
Kepler (CO2 monitoring)
Déploiement
cd infrastructure
./scripts/deploy.sh prod
Fonctionnalités
✅ SLA 99.95% : Redondance complète
✅ Auto-scaling : Pods + Nodes
✅ Disaster Recovery : Backups automatiques
✅ Multi-AZ : Disponibilité géographique
✅ Observabilité : Logs + Metrics + Traces
✅ Sécurité : Network policies, RBAC, secrets encryption
Capacité
2,000-50,000+ copropriétés
Scaling illimité (horizontal + vertical)
Performance garantie : SLA contractuels
Comparaison des Phases
Métrique |
Phase 1 (MVP) |
Phase 2 (Growth) |
Phase 3 (K3s Dev) |
Phase 4 (K3s Prod HA) |
|---|---|---|---|---|
Coût/mois |
5€ |
15€ |
30-90€ |
270€ |
Copropriétés |
0-100 |
100-500 |
500-2,000 |
2,000+ |
vCPU |
2 |
4 |
6-12 |
36+ |
RAM |
2GB |
4-8GB |
22-60GB |
180GB+ |
Haute Dispo |
✗ |
✗ |
⚠️ (Staging) |
✅ |
Auto-scaling |
✗ |
✗ |
✅ |
✅ |
SLA |
Best effort |
Best effort |
99.5% |
99.95% |
Complexité |
Faible |
Faible |
Moyenne |
Élevée |
Équipe requise |
1 dev |
1 dev |
1-2 DevOps |
2-3 DevOps |
Configuration Actuelle du Dépôt
Fichiers de déploiement existants
koprogo/
├── docker-compose.yml # Dev local
├── docker-compose.prod.yml # Production VPS (Phase 1-2)
├── docker-compose.vps.yml # VPS optimisé avec monitoring
├── traefik.yml # Traefik config dev
├── traefik.prod.yml # Traefik config prod
├── .env.vps.example # Variables d'environnement VPS
│
├── monitoring/ # Scripts monitoring Phase 1-2
│ ├── scripts/
│ │ ├── vps_metrics.sh # Métriques système
│ │ ├── postgres_metrics.sh # Métriques DB
│ │ └── capacity_calculator.sh # Estimation capacité
│ └── config/
│ └── thresholds.env # Seuils d'alerte
│
└── infrastructure/ # Infrastructure K3s Phase 3-4
├── terraform/ # Provisioning OVH
├── ansible/ # Configuration K3s
├── helm/ # Charts applicatifs
└── scripts/
└── deploy.sh # Déploiement automatique
Utilisation selon la phase
Phase 1-2 (VPS) :
# Utiliser docker-compose.prod.yml
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# Monitoring
./monitoring/scripts/vps_metrics.sh
./monitoring/scripts/capacity_calculator.sh
Phase 3-4 (Kubernetes) :
# Utiliser infrastructure/
cd infrastructure
./scripts/deploy.sh [dev|staging|prod]
Recommandations Business
Années 1-2 : Phase 1 (MVP)
Focus : Product-Market Fit
Infrastructure : VPS simple (5€/mois)
Effort : Minimal DevOps
Rentabilité : Immédiate (1 client = break-even)
Revenue potentiel :
50 copropriétés × 15€/copro = 750€/mois
Coût infra : 5€/mois
Marge : 99%
Années 2-3 : Phase 2-3 (Growth + K3s Dev)
Focus : Croissance clients
Infrastructure : VPS upgrade → K3s dev
Effort : DevOps part-time
Rentabilité : Excellente
Revenue potentiel :
500 copropriétés × 15€ = 7,500€/mois
Coût infra : 30-90€/mois
Marge : 98%
Années 3+ : Phase 4 (Enterprise)
Focus : Enterprise deals, SLA
Infrastructure : K3s Production HA
Effort : Équipe DevOps dédiée
Rentabilité : Optimisée
Revenue potentiel :
2,000 copropriétés × 20€ (pricing higher tier) = 40,000€/mois
Coût infra : 270€/mois + équipe
Marge : 95%+
Migration entre Phases
Phase 1 → Phase 2 (Simple)
# 1. Snapshot VPS actuel (backup)
# 2. Resize VPS dans console cloud
# 3. Update docker-compose resource limits
# 4. Restart services
Phase 2 → Phase 3 (Complexe)
Voir guide détaillé : docs/MIGRATION_VPS_TO_K3S.md (TODO)
Étapes :
Provisionner cluster K3s (Terraform)
Déployer apps (Helm)
Migrer DB (pg_dump/restore)
Basculer DNS
Monitoring coupure
Downtime estimé : 30 minutes à 2 heures
Phase 3 → Phase 4 (Progressive)
Migration progressive sans downtime :
Provisionner infra prod
Réplication DB staging → prod
Blue/Green deployment
Bascule DNS progressive
Downtime : 0 (si bien exécuté)
Monitoring & Alertes
Phase 1-2 : Scripts Custom
vps_metrics.sh(cron every 5 min)postgres_metrics.sh(cron hourly)UptimeRobot (uptime monitoring)
Email alerts (via cron)
Phase 3-4 : Prometheus + Grafana
Métriques système & applicatives
Dashboards visuels
Alertmanager (Slack/PagerDuty)
Logs centralisés (Loki)
Support
Phase 1-2 :
docs/VPS_DEPLOYMENT.mdPhase 3-4 :
infrastructure/README.mdMonitoring :
monitoring/README.mdArchitecture :
CLAUDE.md
Conseil : Commencez Phase 1, validez le marché, puis scalez progressivement selon la croissance réelle. Ne pas sur-investir en infra avant d’avoir les clients !