Skip to content

Nomad App Store

Vue d'ensemble

Interface web moderne permettant de visualiser et gérer les applications déployées sur un cluster HashiCorp Nomad. Cette solution répond au besoin de centraliser la gestion de nombreux projets en entreprise avec une interface intuitive type "app store".

Interface Nomad App Store

Problématique

En entreprise, la multiplication des microservices et applications déployées sur l'infrastructure rend difficile :

  • La visibilité sur l'ensemble des projets actifs
  • Le suivi des statuts en temps réel
  • La recherche et filtrage parmi de nombreuses applications
  • L'accès rapide aux services déployés

Solution développée

Fonctionnalités principales

  • Dashboard centralisé : Vue d'ensemble de tous les services
  • Statuts temps réel : Intégration directe avec l'API Nomad
  • Système de catégories : Organisation par type (Infrastructure, Développement, Monitoring, etc.)
  • Recherche avancée : Filtrage par nom, catégorie, statut
  • Liens directs : Accès rapide aux services via leurs ports
  • Actualisation automatique : Refresh des données toutes les 60 secondes

Métriques affichées

  • Total : Nombre total d'applications
  • Actives : Services en cours d'exécution
  • Ports : Nombre de ports exposés
  • Statut détaillé : Pour chaque service individuel

Architecture technique

Frontend

  • React : Interface utilisateur moderne
  • Design responsive : Adaptation mobile/desktop
  • Components modulaires : Réutilisabilité du code

Backend Integration

  • API Nomad : Connexion directe au cluster
  • Polling intelligent : Récupération périodique des données
  • Cache optimisé : Performance des requêtes

Déploiement

  • Conteneurisé : Déployé comme job Nomad
  • Auto-hébergé : Pas de dépendance externe
  • Haute disponibilité : Réplication possible

Catégories supportées

  • Infrastructure : Services de base (registres, proxies)
  • Développement : Outils de dev (Gitea, IDE web)
  • Monitoring : Supervision (Grafana, Prometheus)
  • Bases de données : Stockage et persistance
  • Applications Web : Services métier
  • Autres : Services divers

Avantages de l'intégration Nomad

Simplicité

  • API native : Pas de middleware supplémentaire
  • Déploiement uniforme : Même processus que les autres apps
  • Configuration simple : Fichiers HCL standards

Performance

  • Léger : Consommation ressources optimisée
  • Réactif : Mise à jour temps réel des statuts
  • Scalable : Support de milliers d'applications

Sécurité

  • ACL Nomad : Gestion des permissions intégrée
  • Réseau interne : Communication cluster sécurisée
  • Audit trail : Logs des actions utilisateur

Impact métier

Pour les équipes de développement

  • Visibilité : Vue claire de l'écosystème applicatif
  • Productivité : Accès rapide aux services
  • Collaboration : Partage d'information facilité

Pour les équipes d'exploitation

  • Monitoring : Surveillance centralisée
  • Diagnostic : Identification rapide des problèmes
  • Reporting : Métriques d'utilisation

Évolutions futures

Fonctionnalités prévues

  • Gestion des déploiements : Start/stop depuis l'interface
  • Historique : Suivi des changements dans le temps
  • Alertes : Notifications en cas de problème
  • Métriques avancées : CPU, mémoire, réseau

Intégrations

  • Consul : Service discovery enrichi
  • Vault : Gestion des secrets
  • Grafana : Dashboards intégrés

Technologies utilisées

  • Frontend : React, CSS modules, Responsive design
  • Backend : API REST, intégration Nomad
  • Déploiement : Docker, Nomad job
  • Monitoring : Health checks intégrés

Ressources

  • Démo live : Visible sur le cluster de développement
  • Code source : Repository privé d'entreprise
  • Documentation : Guide d'utilisation détaillé
  • Formation : Sessions équipes prévues

Ce projet illustre comment simplifier la gestion d'une infrastructure complexe avec des outils adaptés et une interface utilisateur soignée.