Infrastructure, CI/CD et observabilité de production
2 serveurs durcis, zéro port applicatif exposé, rollback par tag et sauvegardes en pull.
Chiffres clés
- serveurs de production
- 2
- port applicatif exposé
- 0
- niveaux de sauvegarde
- 3
Contexte
Le système d'information d'une PME de distribution et de services repose sur plusieurs applications critiques : API, boutique en ligne, ERP et fournisseur d'identité. Elles doivent tourner en continu, se déployer sans risque et rester restaurables après un incident.
Mon rôle
Conception, mise en place, sécurisation et exploitation de l'infrastructure, en autonomie complète.
Solution
L'infrastructure repose sur 2 serveurs aux rôles séparés : un VPS cloud pour l'API, la boutique et l'observabilité, un serveur sur site pour l'ERP et les sauvegardes. Les services tiennent dans 5 réseaux Docker isolés et aucun port applicatif n'est exposé : tout passe par Cloudflare Tunnel.
La CI/CD produit des images taguées par commit, si bien que revenir en arrière consiste à redéployer un tag. L'exploitation s'appuie sur Prometheus, Grafana, Loki et Alertmanager, avec des sauvegardes sur 3 niveaux rapatriées chaque jour en mode pull.
Fonctionnalités clés
Aucun port applicatif exposé
Les applications sont publiées via un tunnel, sans aucun service à l'écoute directe sur Internet.
Isolation et durcissement
5 réseaux Docker isolés, SSH durci, pare-feu avec chaîne DOCKER-USER et fail2ban.
Rollback par tag
Chaque image est taguée par commit : revenir à une version stable revient à redéployer son tag.
Observabilité complète
Métriques, tableaux de bord provisionnés, logs centralisés et alertes.
Défis d'ingénierie
- 1
Sauvegardes en mode pull
C'est le serveur de sauvegarde qui vient chercher les données : un serveur compromis ne peut pas effacer la copie.
- 2
Un échec silencieux débusqué
Une sauvegarde échouait depuis des mois : un pipe masquait son code de sortie.
- 3
Diagnostic disque sans interruption
Occupation ramenée de 96 % à 68 % sans coupure de service, avec alerte à 85 %.
- 4
Des workflows CI eux-mêmes testés
actionlint et shellcheck vérifient les workflows et les scripts shell.
Stack technique
- Infra
- Docker ComposeGitHub ActionsGHCRNginxLet's EncryptBash
- Sécurité
- Cloudflare TunnelTailscalefail2ban
- Qualité
- PrometheusGrafanaLokiPromtailAlertmanageractionlintshellcheck
- Data
- Borgrsync
Un projet de cette envergure ?
Parlons de votre contexte : je vous dis franchement ce qui est faisable, et en combien de temps.