Architecture Datacenter Karwicloud — Karwisoft¶
1. Présentation¶
Ce document décrit l’infrastructure Karwicloud utilisée chez Karwisoft pour héberger des services et applications internes.
L’objectif est de fournir un environnement isolé, sécurisé, observable et sauvegardé.
2. Socle d’hébergement¶
| Élément | Description |
|---|---|
| Hébergeur | OVH (serveur dédié) |
| Hyperviseur | Proxmox VE |
| Types de charges | Machines virtuelles (VM) + conteneurs LXC |
Proxmox VE permet de combiner :
- VM complètes : isolation forte, OS dédié
- Conteneurs LXC : plus légers, partage du noyau hôte
Ce mélange offre un bon compromis entre performance, densité et isolation.
3. Charges de travail hébergées¶
L’hôte Proxmox exécute notamment :
- Bases de données (production et développement)
- Pipelines CI/CD
- Applications web
- Services internes :
- Monitoring
- Gestion de secrets
- Registre d’artefacts
- Logs
4. Principes de conception clés¶
4.1 Isolation des charges de travail¶
Chaque service critique tourne dans sa propre VM ou son propre conteneur LXC.
Cela limite les effets de bord en cas de compromission ou de panne.
4.2 Séparation production / développement¶
Les bases de données de production et de développement sont hébergées dans des environnements distincts.
Objectifs :
- Éviter les fuites de données réelles vers les environnements de test
- Prévenir les actions de dev impactant la prod
4.3 Passerelle centralisée pour le trafic entrant¶
Tout le trafic externe passe par une passerelle unique (reverse proxy / point d’entrée).
Avantages :
- Point de contrôle unique pour TLS, filtrage, journalisation
- Simplification de la gestion des certificats
- Surface d’exposition réduite
4.4 Réseau privé interne¶
Les services communiquent via un réseau privé interne, non exposé publiquement.
Cela isole les échanges inter-services du trafic externe.
4.5 CI/CD via GitLab et GitLab Runner¶
- GitLab : hébergement du code, gestion des projets, déclenchement des pipelines
- GitLab Runner : exécution des jobs (build, test, déploiement)
4.6 Stockage d’artefacts via Harbor¶
Harbor sert de registre pour stocker :
- Images Docker / OCI
- Artefacts de build
Il intègre nativement :
- Le scan de vulnérabilités
- Le contrôle d’accès par projet
4.7 Gestion des secrets via Vault¶
HashiCorp Vault centralise :
- Secrets applicatifs (mots de passe, tokens, clés API)
- Certificats
- Mécanismes de rotation
Cela évite les secrets en clair dans le code ou les fichiers de configuration.
4.8 Surveillance via Uptime Kuma¶
Uptime Kuma assure la supervision :
- Vérification de disponibilité (HTTP, TCP, ping…)
- Alertes en cas d’indisponibilité
- Tableau de bord simple pour visualiser l’état des services
4.9 Consultation des logs via Dozzle¶
Dozzle fournit une interface web légère pour consulter en temps réel les logs des conteneurs Docker.
Caractéristiques :
- Accès centralisé aux logs sans se connecter en SSH à chaque hôte
- Vision temps réel par conteneur
- Faible empreinte (agent léger, pas de stockage massif)
Dozzle complète Uptime Kuma (disponibilité) en couvrant le contenu des logs.
4.10 Sauvegardes et stockage objet via AWS (S3)¶
Les sauvegardes et le stockage d’objets s’appuient sur AWS S3 :
- Sauvegardes des VM/LXC, bases de données et volumes critiques exportées vers S3
- Stockage objet pour artefacts non critiques, exports, fichiers statiques
Bénéfices :
- Durabilité
- Redondance hors site
- Coût maîtrisé
- Restauration possible en cas de sinistre sur le serveur OVH
Stratégie recommandée :
- Sauvegardes régulières (quotidiennes + hebdomadaires)
- Rétention par cycle de vie (lifecycle policies S3)
- Chiffrement au repos et en transit
- Tests de restauration périodiques
5. Schéma logique simplifié¶
Internet
│
▼
┌───────────────────────────┐
│ Passerelle centralisée │
└─────────────┬─────────────┘
│
┌─────────────▼─────────────┐
│ Réseau privé interne │
└──┬────────┬────────┬──────┘
│ │ │
┌──────▼──┐ ┌───▼───┐ ┌──▼──────────┐
│ VMs │ │ LXC │ │ Services │
│ (DB, │ │ (CI/ │ │ internes │
│ apps) │ │ CD) │ │ (Vault, │
└─────────┘ └───────┘ │ Harbor, │
│ Uptime, │
│ Dozzle) │
└──────┬──────┘
│
▼
┌─────────────────┐
│ AWS S3 │
│ (backups + │
│ stockage objet)│
└─────────────────┘
6. Points forts de l’architecture¶
- Isolation forte grâce à Proxmox (VM + LXC)
- Sécurité : réseau privé, passerelle unique, Vault pour les secrets
- Automatisation : pipelines GitLab + registry Harbor
- Observabilité : Uptime Kuma (disponibilité) + Dozzle (logs)
- Résilience : sauvegardes externalisées sur AWS S3
- Hygiène : séparation prod/dev