Aller au contenu principal

Plateformes cloud

Plateforme Kubernetes multi-environnements pour un éditeur

Socle commun pour douze applications et quatre-vingts instances clientes

Éditeur de logiciels métier (exemple) - 2024-09 - 2025-04

Exemple de demonstration : cette realisation illustre la methode Codexway et ne correspond pas a un client reel.

Contexte

Un éditeur hébergeait douze applications métier pour quatre-vingts clients, réparties sur des machines virtuelles configurées à la main depuis plusieurs années. Chaque nouvel environnement client demandait deux à trois semaines de préparation manuelle, avec des écarts de configuration difficiles à identifier.

Problematique

Les montées de version imposaient des interventions le week-end, la préparation d'un nouvel environnement client mobilisait une personne à temps plein, et aucune procédure de restauration n'avait été testée depuis la mise en service de la plateforme.

Objectifs

  • Réduire le temps de préparation d'un environnement client à quelques heures
  • Standardiser les déploiements sans intervention manuelle
  • Rendre la plateforme restaurable et documentée

Role tenu

Architecte de plateforme et responsable de l'implémentation du socle, avec formation des deux ingénieurs d'exploitation internes sur l'ensemble de la chaîne.

Solution retenue

Le travail a commencé par un inventaire de trois semaines : ressources réellement utilisées, dépendances entre applications, ports, volumes et tâches planifiées. Cet inventaire a montré que la moitié des machines virtuelles tournaient à moins de quinze pour cent de leur capacité, avec une variabilité forte selon les clients. Le socle a été construit en Terraform, avec un module réseau, un module cluster et un module par type d'application. Les applications ont été conteneurisées avec des images multi-étapes et packagées en charts Helm, puis déployées via Argo CD. La configuration propre à chaque client est isolée dans des fichiers de valeurs versionnés, ce qui rend les écarts visibles en revue de code. La bascule s'est faite client par client sur six mois, en commençant par les environnements de recette. Les procédures de restauration ont été testées sur la base de données principale et sur les volumes de fichiers avant la migration du premier client de production.

Architecture

Un cluster Kubernetes par grande zone géographique, avec un espace de noms par client et des politiques réseau limitant les communications aux dépendances déclarées. L'infrastructure est décrite en Terraform avec un état verrouillé et des plans revus en revue de code. Argo CD applique les manifestes depuis un dépôt Git ; toute dérive de configuration est détectée et signalée. Les images sont construites par GitHub Actions, analysées puis publiées dans un registre interne. La supervision combine Prometheus pour les métriques techniques, Grafana pour les tableaux de bord par application et OpenTelemetry pour les traces applicatives.

Resultats (exemples)

  • Environnements clients préparés à partir d'un modèle décrit en code
  • Déploiements applicatifs sans intervention manuelle sur les serveurs
  • Procédures de restauration testées et documentées
  • Consommation des ressources ajustée à l'usage réel

Indicateurs (exemples)

  • Préparation d'un nouvel environnement client

    2 semaines à 6 heures

    Ordre de grandeur indicatif — exemple de démonstration

  • Applications décrites en charts Helm

    12

    Volume illustratif sur un périmètre simulé — exemple de démonstration

  • Ressources CPU sous-utilisées identifiées

    environ 45 pour cent

    Résultat d'inventaire simulé — exemple de démonstration

Technologies

  • PostgreSQL
  • Docker
  • Kubernetes
  • Helm
  • Terraform
  • GitHub Actions
  • Argo CD
  • Prometheus
  • Grafana
  • OpenTelemetry

Temoignage (exemple)

« Le gain le plus visible n'est pas technique : nous préparons enfin un environnement client sans réunion de coordination préalable. La documentation du socle a aussi simplifié l'arrivée d'un nouvel ingénieur. »

- Éditeur de logiciels métier (exemple de démonstration)

Services mobilises

  • Architecture cloud et infrastructure as code

    Je conçois des plateformes cloud reproductibles, décrites intégralement en code et dimensionnées au juste besoin. Vous gagnez en maîtrise des coûts comme en capacité de reprise après incident.

  • DevOps et chaînes de livraison CI/CD

    Je construis des chaînes de livraison qui testent réellement le code et permettent de revenir en arrière en quelques minutes. Le déploiement cesse d'être un événement pour devenir une opération banale.

  • Conteneurisation Docker et orchestration Kubernetes

    Je conteneurise vos applications avec des images légères et je les exploite sur Kubernetes avec des manifestes maîtrisés. La plateforme devient prévisible, dimensionnée et réparable.

  • Observabilité et performance applicative

    Je rends vos applications diagnostiquables : traces corrélées, métriques utiles et alertes qui signalent un problème réel. Vous passez de l'interprétation des symptômes à l'identification de la cause.