Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Geek Time Juin 2017 : Microservices Tracing

195 views

Published on

Microservices Tracing
Par Mohamed Belhassen MAZIGH, Consultant OLBATI
Au Geek Time de Juin 2017

Published in: Software
  • Be the first to comment

Geek Time Juin 2017 : Microservices Tracing

  1. 1. Traçage distribué des microservices Geek Time – Juin 2017 MAZIGH Med Belhassen OLBATI Consultant
  2. 2. OLBATI - Geek Time - Juin 2017 2 Plan ● Microservices ● Techniques pour “logging” les microservices ● Côté obscur des microservices ● Outils pour surveiller et visualiser les microservices ● Zipkin ● Démonstration
  3. 3. OLBATI - Geek Time - Juin 2017 3 Microservices ● Microservices are stateless ● Microservices are distributed ● Microservices are independent
  4. 4. OLBATI - Geek Time - Juin 2017 4 Techniques pour “logging” 1. Logging from Individual Services: ➢ Chaque microservice possède son propre logs source : https://www.loggly.com/blog/tools-and-techniques-for-logging-microservices/
  5. 5. OLBATI - Geek Time - Juin 2017 5 Techniques pour “logging” 2. Logging from a Central Service ➢ Recueillir et centraliser les données de logs source : https://www.loggly.com/blog/tools-and-techniques-for-logging-microservices/
  6. 6. OLBATI - Geek Time - Juin 2017 6 Techniques pour “logging” ➢ logspout : ○ Logspout est un routeur de logs pour les conteneurs Docker qui s'exécute à l'intérieur de Docker. Il se connecte à tous les conteneurs, puis achemine les logs où vous le souhaitez. ○ Il dispose également d'un système de module extensible. ○ stateless ○ Ce n'est pas destiné à la gestion des fichiers logs ou à l'historique.
  7. 7. OLBATI - Geek Time - Juin 2017 7 Côté obscur des microservices 1. Les fichiers de logs sont réparti entre les services source : https://medium.com/
  8. 8. OLBATI - Geek Time - Juin 2017 8 Côté obscur des microservices 2. Un problème causé par un seul service peut causer des problèmes ailleurs ➢ Un problème, ce n’est pas forcément une exception ➢ Avoir un aperçu sur le payload peut aider à détecter les anomalies
  9. 9. OLBATI - Geek Time - Juin 2017 9 Côté obscur des microservices 3. Trouver la cause principale d'une exception ➢ http 500 erreur interne au serveur Mais qu'en est-il de problème réel? La véritable cause racine? Le code qui est réellement cassé….
  10. 10. OLBATI - Geek Time - Juin 2017 10 Côté obscur des microservices 4. Gestion des versions et dépendances cycliques entre les services ● Un cycle de dépendances entre les services peut causer des boucles infinies ● Mise à jour des API : Qu'il est l'ordre de mise à jour des microservices, et comment faire cette transition en toute sécurité
  11. 11. OLBATI - Geek Time - Juin 2017 11 Outils 1. AppDynamics
  12. 12. OLBATI - Geek Time - Juin 2017 12 Outils 2. Instana
  13. 13. OLBATI - Geek Time - Juin 2017 13 Outils 3. Netsil
  14. 14. OLBATI - Geek Time - Juin 2017 14 Outils 4. OpsClarity
  15. 15. OLBATI - Geek Time - Juin 2017 15 Zipkin 1. Définition ● Distributed tracing framework. ● Il aide à recueillir des données de synchronisation pour résoudre les problèmes de latence dans les architectures de Microservice. ● Il gère à la fois la collecte et la recherche de ces données. ● Il est une implémentation of Google's Dapper paper
  16. 16. OLBATI - Geek Time - Juin 2017 16 Zipkin 2. Architecture source : http://zipkin.io/
  17. 17. OLBATI - Geek Time - Juin 2017 17 Zipkin a. Collector : ○ C'est le composant responsable de la validation, stockage et indexation des données (traces) reçues. b. Storage ○ C'est le composant responsable de stockage des données sur les bases des données par défaut, c'est Cassandra, mais il y a aussi de ElasticSearch et MySQL
  18. 18. OLBATI - Geek Time - Juin 2017 18 c. Search ○ C'est le composant qui expose l'API JSON pour trouver et récupérer des traces. ○ Le principal consommateur de cette API est l'IU Web. d. Web UI : ○ Une interface graphique simple pour visualiser les traces. ○ Plusieurs filtres de recherche sont offerts par l'interface
  19. 19. OLBATI - Geek Time - Juin 2017 19 ○ La possibilité d'afficher le graphe de connexions entre les microservices ○ Il n'y a pas d'authentification intégrée dans l'interface utilisateur e. zipkin-browser-extension:
  20. 20. OLBATI - Geek Time - Juin 2017 20 Zipkin & Brave & Jetty & Spring
  21. 21. OLBATI - Geek Time - Juin 2017 21 Bonus : HAWKULAR
  22. 22. OLBATI - Geek Time - Juin 2017 22 Bonus : HAWKULAR
  23. 23. OLBATI - Geek Time - Juin 2017 23 Thanks! Any questions? mohamed-belhassen.mazigh@olbati.com

×