SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Traçage distribué des
microservices
Geek Time – Juin 2017
MAZIGH Med Belhassen
OLBATI Consultant
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
OLBATI - Geek Time - Juin 2017 3
Microservices
● Microservices are stateless
● Microservices are distributed
● Microservices are independent
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/
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/
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.
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/
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
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é….
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é
OLBATI - Geek Time - Juin 2017 11
Outils
1. AppDynamics
OLBATI - Geek Time - Juin 2017 12
Outils
2. Instana
OLBATI - Geek Time - Juin 2017 13
Outils
3. Netsil
OLBATI - Geek Time - Juin 2017 14
Outils
4. OpsClarity
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
OLBATI - Geek Time - Juin 2017 16
Zipkin
2. Architecture
source : http://zipkin.io/
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
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
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:
OLBATI - Geek Time - Juin 2017 20
Zipkin & Brave & Jetty & Spring
OLBATI - Geek Time - Juin 2017 21
Bonus : HAWKULAR
OLBATI - Geek Time - Juin 2017 22
Bonus : HAWKULAR
OLBATI - Geek Time - Juin 2017 23
Thanks!
Any questions?
mohamed-belhassen.mazigh@olbati.com

Contenu connexe

Similaire à Geek Time Juin 2017 : Microservices Tracing

Presentation Projet R&D Dynarchi
Presentation Projet R&D Dynarchi Presentation Projet R&D Dynarchi
Presentation Projet R&D Dynarchi
Marc Bourhis
 
Le « libre-service » dans les solutions clientes de GeoBI
Le « libre-service » dans les solutions clientes de GeoBILe « libre-service » dans les solutions clientes de GeoBI
Le « libre-service » dans les solutions clientes de GeoBI
ACSG - Section Montréal
 

Similaire à Geek Time Juin 2017 : Microservices Tracing (20)

Paper presentation of Performance Analysis of IoT-Based Sensor,Big Data Proce...
Paper presentation of Performance Analysis of IoT-Based Sensor,Big Data Proce...Paper presentation of Performance Analysis of IoT-Based Sensor,Big Data Proce...
Paper presentation of Performance Analysis of IoT-Based Sensor,Big Data Proce...
 
API Management
API ManagementAPI Management
API Management
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
 
Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017Développement : mettez le turbo ! - Liferay France Symposium 2017
Développement : mettez le turbo ! - Liferay France Symposium 2017
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23
 
Poitou Charentes JUG - Traçabilité dans une architecture distribuée avec Node...
Poitou Charentes JUG - Traçabilité dans une architecture distribuée avec Node...Poitou Charentes JUG - Traçabilité dans une architecture distribuée avec Node...
Poitou Charentes JUG - Traçabilité dans une architecture distribuée avec Node...
 
Apple - WWDC 2018
Apple - WWDC 2018Apple - WWDC 2018
Apple - WWDC 2018
 
1er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 20171er atelier technique - IGO2 - 17 mai 2017
1er atelier technique - IGO2 - 17 mai 2017
 
From Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster StoryFrom Idea to the Cloud, a JHipster Story
From Idea to the Cloud, a JHipster Story
 
IOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France PresentationIOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France Presentation
 
TP GLPI
TP GLPITP GLPI
TP GLPI
 
Presentation Projet R&D Dynarchi
Presentation Projet R&D Dynarchi Presentation Projet R&D Dynarchi
Presentation Projet R&D Dynarchi
 
Le « libre-service » dans les solutions clientes de GeoBI
Le « libre-service » dans les solutions clientes de GeoBILe « libre-service » dans les solutions clientes de GeoBI
Le « libre-service » dans les solutions clientes de GeoBI
 
Open APIs, OpenSource & OpenData dans le transport public
Open APIs, OpenSource & OpenData dans le transport publicOpen APIs, OpenSource & OpenData dans le transport public
Open APIs, OpenSource & OpenData dans le transport public
 
Refonte intranet du Conseil Général de la Drôme avec le CMS open source Amety...
Refonte intranet du Conseil Général de la Drôme avec le CMS open source Amety...Refonte intranet du Conseil Général de la Drôme avec le CMS open source Amety...
Refonte intranet du Conseil Général de la Drôme avec le CMS open source Amety...
 
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel ArkeaCWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
CWIN17 Paris / La mise en oeuvre de la Blockchain chez Crédit Mutuel Arkea
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
 

Plus de OLBATI

Plus de OLBATI (12)

Geek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz JavaGeek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz Java
 
Geek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/BlockchainGeek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/Blockchain
 
Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8
 
Geek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger IIGeek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger II
 
Geek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : QuizGeek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : Quiz
 
Geek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : CucumberGeek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : Cucumber
 
Geek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics ObjectsGeek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics Objects
 
Geek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy CodeGeek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy Code
 
Geek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting ToolsGeek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting Tools
 
Geek Time Août 2016 : Docker
Geek Time Août 2016 : DockerGeek Time Août 2016 : Docker
Geek Time Août 2016 : Docker
 
Geek Time Juin 2016 : Node.js
Geek Time Juin 2016 : Node.jsGeek Time Juin 2016 : Node.js
Geek Time Juin 2016 : Node.js
 
Geek Time Juin 2016 : React
Geek Time Juin 2016 : ReactGeek Time Juin 2016 : React
Geek Time Juin 2016 : React
 

Geek Time Juin 2017 : Microservices Tracing

  • 1. Traçage distribué des microservices Geek Time – Juin 2017 MAZIGH Med Belhassen OLBATI Consultant
  • 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. OLBATI - Geek Time - Juin 2017 3 Microservices ● Microservices are stateless ● Microservices are distributed ● Microservices are independent
  • 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. 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. 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. 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. 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. 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. 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. OLBATI - Geek Time - Juin 2017 11 Outils 1. AppDynamics
  • 12. OLBATI - Geek Time - Juin 2017 12 Outils 2. Instana
  • 13. OLBATI - Geek Time - Juin 2017 13 Outils 3. Netsil
  • 14. OLBATI - Geek Time - Juin 2017 14 Outils 4. OpsClarity
  • 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. OLBATI - Geek Time - Juin 2017 16 Zipkin 2. Architecture source : http://zipkin.io/
  • 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. 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. 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. OLBATI - Geek Time - Juin 2017 20 Zipkin & Brave & Jetty & Spring
  • 21. OLBATI - Geek Time - Juin 2017 21 Bonus : HAWKULAR
  • 22. OLBATI - Geek Time - Juin 2017 22 Bonus : HAWKULAR
  • 23. OLBATI - Geek Time - Juin 2017 23 Thanks! Any questions? mohamed-belhassen.mazigh@olbati.com