MET : Notre vision (1/6)

| Digital

Comment une agence web a décidé de reprendre le contrôle de son infrastructure cloud en construisant une plateforme Kubernetes moderne, reproductible et documentée.

Pendant des années, nous avons utilisé des solutions d’hébergement traditionnelles : serveurs mutualisés, VPS configurés manuellement, plateformes PaaS comme Jelastic ou Platform.sh. Chaque solution avait ses avantages, mais aussi ses frustrations.

La prise de conscience qui a tout changé

Voici les problèmes que nous rencontrions régulièrement :

  • Coûts en hausse : les plateformes PaaS facturent à l’usage, et la facture grimpe vite avec plusieurs clients
  • Manque de contrôle : impossible de personnaliser certains aspects critiques (cache, configuration serveur, sécurité)
  • Verrouillage fournisseur : migrer d’une plateforme à une autre = un projet à part entière
  • Configuration manuelle : chaque nouveau serveur = des heures de configuration, avec un risque d’oubli
  • Aucune reproductibilité : « Ça marchait sur mon serveur » n’est pas une stratégie viable

Nous avions besoin d’une infrastructure à la fois puissante, économique et entièrement automatisée.

Notre vision : l’infrastructure as Code

Nous avons décidé de construire notre propre plateforme cloud, basée sur des principes modernes :

« Tout ce qui peut être automatisé doit l’être. Tout ce qui est configuré doit être versionné. »

Concrètement, cela signifie :

  1. Infrastructure déclarative : les serveurs sont définis en code (Terraform), pas créés manuellement
  2. Configuration automatisée : Ansible configure tout, de l’OS aux applications
  3. Orchestration moderne : Kubernetes gère le cycle de vie des applications
  4. Déploiement continu : un push Git déclenche automatiquement le déploiement
  5. Sauvegarde intégrée : sauvegardes automatiques dans le cloud, sans intervention

L’architecture que nous avons construite

Notre infrastructure repose sur deux serveurs hautes performances hébergés chez Hetzner Cloud (datacenter allemand, conforme au RGPD) :

Serveur Rôle
Serveur principal Plan de contrôle + Worker
Serveur secondaire Worker

Ces deux serveurs forment un cluster Kubernetes capable d’héberger des dizaines d’applications avec une haute disponibilité.

Architecture simplifiée de notre infrastructure cloud

La stack technique en un coup d’œil

Voici les technologies que nous utilisons, que nous détaillerons dans les prochains articles :

🏗️ Provisioning

  • Terraform : création des serveurs et du réseau
  • Hetzner Cloud : hébergement allemand hautes performances

⚙️ Configuration

  • Ansible : automatisation de la configuration
  • K3s : distribution Kubernetes légère

🚀 Orchestration

  • Kubernetes : orchestration de conteneurs
  • Rancher : interface de gestion intuitive
  • Helm : packaging des applications

🔄 Déploiement

  • GitLab : hébergement du code et CI/CD
  • ArgoCD : déploiement GitOps automatisé

🔒 Sécurité

  • Let’s Encrypt : certificats SSL automatiques
  • WireGuard VPN : accès sécurisé aux services internes
  • Sealed Secrets : secrets chiffrés dans Git

💾 Stockage & sauvegarde

  • Longhorn : stockage distribué avec réplication
  • Velero : sauvegarde vers S3

Ce que cette infrastructure nous apporte

Après plusieurs mois d’utilisation en production, voici les bénéfices concrets :

💰 Économies significatives

Pour le même budget qu’un PaaS hébergeant 3 à 4 sites, nous hébergeons plus de 20 applications avec des ressources largement supérieures.

⚡ Déploiement en quelques minutes

Un nouveau site WordPress ? 5 minutes de configuration, déploiement automatique, SSL inclus.

🔄 Reproductibilité totale

Toute l’infrastructure est versionnée. En cas de sinistre, nous pouvons tout reconstruire en moins d’une heure.

📊 Visibilité complète

Supervision intégrée, logs centralisés, alertes automatiques. Nous savons exactement ce qui se passe.

🛡️ Sécurité renforcée

Isolation des clients par namespace, VPN pour l’accès admin, secrets chiffrés, sauvegarde automatique.

La suite de cette série

Dans les prochains articles, nous détaillerons chaque composant de cette infrastructure :

  1. Terraform : comment provisionner votre infrastructure cloud en quelques lignes de code
  2. Ansible : configurer 100 serveurs aussi facilement qu’un seul
  3. Kubernetes & Rancher : l’orchestration démystifiée
  4. Helm Charts : déployer n’importe quelle application en 5 minutes
  5. GitOps & CI/CD : push Git = déploiement automatique

Chaque article contiendra des exemples de code concrets et des bonnes pratiques issues de notre expérience en production.