Aller au contenu
EN
Retour

Stellar-IX

Deux ans et quatre mois sur une base historique : une refonte qui fait passer un chargement de 4 s à 300-500 ms, et plus de dix modules livrés en TypeScript.

Expérience · 2022 → 2025Python, FastAPI, ClickHouse, Node.js, TypeScript, Angular, Docker, MySQL

Le problème

L'application de monitoring VMware se ré-authentifiait à chaque expiration de jeton et chargeait toutes les entités des deux datacenters pour construire son menu, puis un appel de plus par élément. Lente au premier chargement, jamais à jour avec le réel.

L'approche retenue

Un backend FastAPI hybride : l'API REST vSphere pour les opérations courantes, pyVmomi pour les fonctions avancées du SDK, et une mise en cache des entités.

TypeScript sur une base historique

La base était en ejs et Node.js. Le passage à TypeScript pour tout nouveau module a été obtenu après plusieurs discussions d'équipe, puis plus de dix modules ont été livrés avec CI/CD Docker et revues de code systématiques.

Le mémoire

Le mémoire de Master, celui du stage de M2 réalisé chez Stellar-IX, porte sur le même terrain : surveillance des performances des machines virtuelles et facturation dynamique. ClickHouse y est retenu après comparaison avec InfluxDB, TimescaleDB et Prometheus.

Virtubill

Le projet du mémoire, conçu et développé seul : une API Node.js en TypeScript, organisée en Clean Architecture (domaines clients, machines virtuelles, rapports de facturation), et une interface Angular, conteneurisées avec Docker et livrées par CI/CD GitLab. L'API synchronise l'inventaire à heure fixe et enregistre les mesures de performance dans ClickHouse, où des vues matérialisées les agrègent par heure, jour, semaine, mois et année. Le rapport mensuel applique des règles de prix : remise ou majoration selon un seuil d'heures de disponibilité, coûts des ressources et des licences.

Ce qu'on peut vérifier

Le code appartient à l'entreprise et n'est pas publié. Le gain de chargement est un chiffre déclaré, sans mesure archivée. L'historique git du backend FastAPI (194 commits sur 200) et le mémoire, eux, existent.

Refonte du backend de monitoring
AngularinterfaceFastAPIbackend hybridevSphereREST + pyVmomiCacheentités
Livraison des modules
Base historiqueejs · Node.jsNouveau moduleTypeScriptRevue de codeCI/CDDockerProductionplus de dix modulespassage obtenu
Virtubill : la facturation des machines virtuelles
Machines virtuellesvCenterRessourcesusage mensuelLicencesusage mensuelRègles de prixremise · majorationFacturationcoût finalappliquées