**Changements majeurs** : 1. **Suppression ADR-010 (Commandes volant et likes)** : - Contenu consolidé dans Règle 05 (section 5.3) - Raison : ADR-010 était du métier déguisé en architecture - Section "Implémentation Technique" ajoutée à Règle 05 - Pattern correct (addition) vs incorrect (multiplication) 2. **Déplacement ADR-011 → Compliance** : - `docs/adr/011-conformite-stores.md` → `docs/compliance/stores-submission.md` - Raison : Nature opérationnelle/légale, pas architecture technique - Nouveau dossier `/docs/compliance/` créé 3. **Renumérotation ADR (010-022)** : - Combler les trous de numérotation (010 et 011) - ADR-012→010, ADR-013→011, ..., ADR-024→022 - 22 ADR numérotés en continu (001-022) - Historique Git préservé (git mv) 4. **Mise à jour références** : - Règle 03 : ADR-010 → Règle 05 (section 5.3) - Règle 09 : ADR-010 → Règle 05 (section 5.3) - INCONSISTENCIES-ANALYSIS.md : toutes références mises à jour - Incohérence #15 annulée (faux problème : modes séparés) **Résultat** : - ✅ Séparation claire ADR (technique) vs Règles métier (fonctionnel) - ✅ Documentation compliance séparée - ✅ Numérotation ADR continue sans trous - ✅ Single Source of Truth (pas de redondance) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
66 lines
2.5 KiB
Markdown
66 lines
2.5 KiB
Markdown
# ADR-015 : Hébergement
|
|
|
|
**Statut** : Accepté
|
|
**Date** : 2025-01-25
|
|
|
|
## Contexte
|
|
|
|
RoadWave nécessite une infrastructure cloud hébergée dans l'UE (conformité RGPD) avec PostgreSQL+PostGIS, Redis et stockage objet. L'objectif est de minimiser les coûts en phase MVP tout en gardant une évolutivité vers des services managés.
|
|
|
|
## Décision
|
|
|
|
**OVH VPS** avec services self-hosted via Docker Compose pour le MVP.
|
|
Migration vers **Scaleway** (services managés) prévue en phase de croissance.
|
|
|
|
## Alternatives considérées
|
|
|
|
| Solution | Coût MVP/mois | Simplicité ops | PostGIS | Redis managé | RGPD |
|
|
|----------|---------------|----------------|---------|--------------|------|
|
|
| **OVH VPS** | ~14€ | Moyenne | Self-hosted | Self-hosted | Oui |
|
|
| Scaleway managé | ~67€ | Élevée | Oui | Oui | Oui |
|
|
| Clever Cloud | ~120€ | Très élevée | Oui | Oui | Oui |
|
|
| Infomaniak | ~50€ | Élevée | Non | Non | Suisse |
|
|
|
|
## Justification
|
|
|
|
- **Économie** : 5x moins cher que les services managés (~14€ vs ~67€)
|
|
- **Suffisant pour MVP** : VPS 4GB RAM supporte facilement 10-20K users
|
|
- **Docker Compose** : Stack reproductible, backups automatisables
|
|
- **RGPD** : Datacenters OVH en France
|
|
- **Migration simple** : Passage vers Scaleway managé sans refonte
|
|
|
|
## Stack MVP
|
|
|
|
```
|
|
OVH VPS Essential (12.50€/mois)
|
|
├── Go + Fiber (app)
|
|
├── PostgreSQL 16 + PostGIS 3.4 (Docker)
|
|
├── Redis 7 (Docker)
|
|
├── NGINX Cache (distribution HLS)
|
|
└── Backups quotidiens (cron + pg_dump)
|
|
|
|
OVH Object Storage (~1.20€/100GB)
|
|
└── Fichiers audio source
|
|
```
|
|
|
|
## Roadmap Infrastructure
|
|
|
|
| Phase | Users | Infrastructure | Coût | Trigger migration |
|
|
|-------|-------|----------------|------|-------------------|
|
|
| **MVP** | 0-20K | OVH VPS + Docker Compose | ~14€ | Aucun |
|
|
| **Croissance** | 20-100K | Scaleway services managés (PostgreSQL, Redis) | ~100€ | CPU > 70% OU MRR > 2000€ |
|
|
| **Scale** | 100K+ | Scaleway Kubernetes (Kapsule) | ~500€ | Auto-scaling OU multi-région |
|
|
|
|
**Triggers détaillés** :
|
|
- **Phase 2** : CPU > 70% (7j), latence p99 > 100ms, backups > 1h/semaine, MRR > 2000€
|
|
- **Phase 3** : Auto-scaling horizontal requis, multi-région Europe, DevOps dédié, > 5 services
|
|
|
|
**Note** : Migrations déclenchées par métriques réelles, pas calendrier fixe.
|
|
|
|
## Conséquences
|
|
|
|
- Backups PostgreSQL à automatiser (cron + pg_dump)
|
|
- Monitoring basique requis (Uptime Kuma ou alertes OVH)
|
|
- Sécurité serveur à configurer (UFW, Fail2ban)
|
|
- Migration vers services managés à planifier dès revenus stables
|