Tous les projets
DevOps

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. 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. 2

    Un échec silencieux débusqué

    Une sauvegarde échouait depuis des mois : un pipe masquait son code de sortie.

  3. 3

    Diagnostic disque sans interruption

    Occupation ramenée de 96 % à 68 % sans coupure de service, avec alerte à 85 %.

  4. 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.