Déploiement OpenTelemetry sur AWS

Monitoring et Observabilité d'une Application Microservices

1. Architecture et Déploiement

L'application est déployée sur une instance EC2 Ubuntu et comprend plusieurs microservices orchestrés via Docker Compose :

  • Services de monitoring : Prometheus, Grafana, Jaeger
  • Collecteur OpenTelemetry pour l'agrégation des métriques
  • Services métier : Frontend, Backend APIs, Services de paiement, etc.
Docker Compose Services

Liste des conteneurs déployés via Docker Compose

2. Tests de Charge et Simulation d'Erreurs

Test de Charge CPU

CPU Load Test

Simulation de charge CPU élevée

Erreurs de Checkout

Checkout Errors

Simulation d'erreurs dans le processus de checkout

3. Observabilité Multi-Niveaux

Visualisation Grafana

Tableaux de bord personnalisés montrant :

  • Métriques de performance (latence, débit)
  • Taux d'erreurs par service
  • Utilisation des ressources
Grafana Dashboard CPU Grafana Dashboard Checkout

Traçage avec Jaeger

Analyse détaillée des traces distribuées :

  • Visualisation des dépendances entre services
  • Identification des goulots d'étranglement
  • Analyse des erreurs en cascade
Jaeger Tracing

4. Résultats et Conclusions

L'implémentation d'OpenTelemetry a permis :