23
Traçage distribué des microservices Geek Time – Juin 2017 MAZIGH Med Belhassen OLBATI Consultant

Geek Time Juin 2017 : Microservices Tracing

  • Upload
    olbati

  • View
    107

  • Download
    3

Embed Size (px)

Citation preview

Traçage distribué des microservicesGeek Time – Juin 2017

MAZIGH Med BelhassenOLBATI 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 microservices1. Les fichiers de logs sont réparti entre les services

source : https://medium.com/

OLBATI - Geek Time - Juin 2017 8

Côté obscur des microservices2. 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 microservices3. 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 microservices4. 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

Outils1. AppDynamics

OLBATI - Geek Time - Juin 2017 12

Outils2. Instana

OLBATI - Geek Time - Juin 2017 13

Outils3. Netsil

OLBATI - Geek Time - Juin 2017 14

Outils4. OpsClarity

OLBATI - Geek Time - Juin 2017 15

Zipkin1. 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

Zipkin2. Architecture

source : http://zipkin.io/

OLBATI - Geek Time - Juin 2017 17

Zipkina. 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?

[email protected]