Publicité

La Duck Conf : "Observabilité"

OCTO Technology
5 Feb 2019
Publicité

Contenu connexe

Présentations pour vous(20)

Similaire à La Duck Conf : "Observabilité"(20)

Publicité

Plus de OCTO Technology(20)

Publicité

La Duck Conf : "Observabilité"

  1. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 1
  2. #LaDuckConf by OCTO Technology © 2019 - All rights reserved#LaDuckConf by OCTO Technology © 2019 - All rights reserved OBSERVABILITE Qu’est ce qui en fait un attribut de nos architectures ?
  3. #LaDuckConf by OCTO Technology © 2019 - All rights reserved Le nombre de services que nous assemblons pour construire une application augmente. 3 NOTRE CONSTAT
  4. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 4 Qu’est ce qu’un service ? service client fournisseur
  5. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 5 Qu’est ce qu’un service ? service un contrat de service client fournisseur
  6. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 6 Qu’est ce qu’un service ? service un contrat de service des modalités d’exposition client fournisseur
  7. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 7 Qu’est ce qu’un service ? service un contrat de service des modalités d’exposition des prérequis client client fournisseur
  8. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 8 L’observabilité comme attribut de nos architectures
  9. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 9 L’observabilité comme attribut de nos architectures La croissance du nombre de services est un mouvement de fond
  10. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 10 L’observabilité comme attribut de nos architectures La croissance du nombre de services est un mouvement de fond 4 critères pour spécifier l’observabilité d’une architecture
  11. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 11 L’observabilité comme attribut de nos architectures La croissance du nombre de services est un mouvement de fond 4 critères pour spécifier l’observabilité d’une architecture 4 approches technos pour remplir ces critères
  12. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 12 Fabien Arcellier / Octo Technology ARCHITECTE TECHNIQUE Github : FabienArcellier
  13. #LaDuckConf by OCTO Technology © 2019 - All rights reserved Le nombre de services augmente 3 facteurs expliquent ça : ๏ le packaging moderne, ๏ les processus multi-canaux, ๏ le cloud 13
  14. #LaDuckConf by OCTO Technology © 2019 - All rights reserved Gestionnaires de dépendances Containerisation 14 Facteur 1 : le packaging moderne
  15. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 15 Facteur 1 : le packaging moderne C’est facile de créer un nouveau service autonome. La complexité du code reste sous contrôle. dev "
  16. #LaDuckConf by OCTO Technology © 2019 - All rights reserved Parcours consistant Parcours fluide 16 Facteur 2 : le processus multi-canaux
  17. #LaDuckConf by OCTO Technology © 2019 - All rights reserved C'est facile de créer un service pour mutualiser des comportements. Ca devient un produit autonome. 17 Facteur 2 : le processus multi-canaux métier "
  18. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 18 Facteur 3. Le cloud Un coût d’activation de ressources proche de zéro Des ressources virtuellement illimitées
  19. #LaDuckConf by OCTO Technology © 2019 - All rights reserved C'est facile de créer un service sur le cloud pour isoler un workload et le rendre plus résilient 19 Facteur 2 : le processus multi-canaux ops "
  20. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 20 dev métier ops Packaging moderne multi-canal Cloud Croissance des services assemblés pour construire une application métier
  21. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 21 Un sentiment de flou pour les acteurs du système d’information user user user user S S S S S SS S S metier metier support ops L’explosion du nombre de service complique la perception du système d’information Communiquer autour du système, modifier le système et corriger le système demande plus d’efforts et de concertations
  22. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 22
  23. #LaDuckConf by OCTO Technology © 2019 - All rights reserved L’observabilité est un attribut d’une architecture comme le sont la performance, l’usabilité, ou la sécurité. 23 L’observabilité est un attribut d’une architecture distribuée @copyconstruct
  24. #LaDuckConf by OCTO Technology © 2019 - All rights reserved L’observabilité est un attribut d’une architecture comme le sont la performance, l’usabilité, ou la sécurité 24 L’observabilité est un attribut d’une architecture distribuée @copyconstruct Observabilité auditabilité télémétrie (métrique) notification accessibilité
  25. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 4 approches technologiques pour adresser vos objectifs d’observabilité Log management Exception management Endpoints de télémétrie Tracing distribué D’autres approches que je ne pourrai aborder sont utiles telles que la mesure du uptime, la communication d’incidents dynamique (status page), le profiling applicatif, les health-checks, …
  26. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 26 Log management – Events analytic Y aller pour … Ne pas y aller pour … Nos recommandations Investiguer des logs en temps réel construire un outil expert d'intelligence opérationnelle alerter sur des événements stocker de logs pour du légal (sur plus de 3 semaines) construire un ETL for streaming stocker de l’ensemble des logs pour toute l’entreprise Limiter la rétention sur la plateforme d’analytique à quelques semaines maximum encoder vos logs applicatifs dans des documents semi- structurés (json-lines, …) Attention au backpressure dans l'infrastructure de shipping. En cas d'incident, le retard d'ingestion peut etre conséquent et compliquer l'investigation d'incident Faire de l'analyse forensic
  27. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 27 Log management diffusion-app syslog-ng aiguillage vod-exnihilo api.logmatic.io syslog-ng … logmatic.io
  28. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 28 Log management diffusion-app syslog-ng aiguillage vod-exnihilo api.logmatic.io syslog-ng … logmatic.io L’agent de shipping propose du backpressure sur fichiers
  29. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 29 Log management diffusion-app syslog-ng aiguillage vod-exnihilo api.logmatic.io syslog-ng … logmatic.io L’agent de shipping propose du back pressure sur fichiers capacités de parsing offertes par le broker, attention c’est fragile. Nous vous recommandons de préférer un encodage en amont (json, …)
  30. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 30 L’exception management Y aller pour … Ne pas y aller pour … Nos recommandations Monitorer du code applicatif fluidifier la collaboration dev/ops alerter intelligemment sur des exceptions construire un puits de logs Intégrer cette approche sur tous les environnements Tracker ses déploiements
  31. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 31 Exception management bff.ffea.com spa.ffea.com Iso.ffea.com sentry.io
  32. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 32 Exception management bff.ffea.com spa.ffea.com Iso.ffea.com sentry.io En cas d’exception, elle est transformée dans un format pivot par le sdk.
  33. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 33 Exception management bff.ffea.com spa.ffea.com Iso.ffea.com sentry.io En cas d’exception, elle est transformée dans un format pivot par le sdk. Les exceptions sont automatiquement agrégées par famille. Une issue est ouverte pour Cette exception
  34. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 34 Exception management bff.ffea.com spa.ffea.com Iso.ffea.com sentry.io En cas d’exception, elle est transformée dans un format pivot par le sdk. Les exceptions sont automatiquement agrégées par famille. Une issue est ouverte pour cette exception Si c’est une nouvelle famille d’exception, l’équipe de développement est notifiée
  35. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 35 Endpoints de télémétrie 35 Y aller pour … Ne pas y aller pour … Nos recommandations monitorer des ressources d’infrastructure monitorer des métriques d’activités exposer des métriques avec des cardinalités illimitées (url, email, …) collecter des infos non numériques calculer des métriques lors de la requête Implémenter des métriques d’activité pour faciliter la discussion entre métiers, développeurs et ops Différencier les environnements dans vos labels (par exemple avec la branche git) Proposer plusieurs consoles selon l’usage, une seule console pour tous est utopique monitorer des middlewares
  36. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 36 account-entries host jobs compensation techno : cassandra techno : java + springboot rhel techno : activemq tsdb techno : prometheus console techno : grafana scraper techno : prometheus exporter exporter agent techno : telegraf alerting exporter techno : alertmanager
  37. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 37 Tracing distribué 3737 Y aller pour … Ne pas y aller pour … Émergence d’un standard d’API avec Open Tracing à suivre Nos recommandations instrumenter des middlewares diagnostiquer des problèmes de performance sur une requête investiguer des modes de défaillance cross-service instrumenter des microservices au niveau runtime
  38. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 38 Quels outils puis je rencontrer ? Log management Endpoints de telemetryException management Tracing distribué Les outils peuvent varier. Voici des outils émergents que vous pouvez rencontrer.
  39. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 39 Take-away L’observabilité est un attribut d’architecture nécessaire sur des architectures distribuées La construction d'un service observable s'inscrit dans une démarche d'amélioration continue Chercher le meilleur outil pour de l'observabilité, c'est comme chercher la meilleure voiture pour labourer un champ et faire du circuit
  40. #LaDuckConf by OCTO Technology © 2019 - All rights reserved 40 Images https://pixabay.com/en/virus-microbiology-cell-infection-163471/ https://pixabay.com/en/container-container-port-port-cargo-3859711/ https://pixabay.com/fr/r%C3%A9seau-serveur-syst%C3%A8me-2402637/ https://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud- native-c87c7a5bfa3e https://pixabay.com/fr/g%C3%A9n%C3%A9rateur-moteur-moteur- %C3%A9lectrique-1340210/

Notes de l'éditeur

  1. Bonjour, Je suis devant vous aujourd’hui pour vous parler d’observabilité. Ce sujet fait couler beaucoup d’encre depuis 2 ans. Emergence d’initiatives, développement d’outils. Pourquoi cette question est intéressante ? Illustrer avec les projets
  2. A l’origine de cette réflexion, il y’a un constat. Au cours des dernières années, le nombre de services que nous assemblons pour construire une application augmente. Une application regroupe des moyens d’interactions exposés à un utilisateur, humain par l’intermédiaire d’IHM ou machine par l’intermédiaire d’API. Nous pensons que notre industrie suit une voie similaire à ce qu’a suivi l’industrie. Retour dans le passé. Dans les années 1890, le moteur électrique remplace progressivement le moteur à vapeur dans l’industrie. Cette révolution silencieuse conduit d’un modèle où il y’avait 10 personnes pour gérer un moteur au modèle aujourd’hui où l’on compte plusieurs centaines de moteurs pour un technicien de maintenance.
  3. Qu’est ce qu’un service ? Le concept de service en architecture permet de nommer de manière unique une relation client fournisseur, donc de la décrire.
  4. un service regroupe plusieurs unités d’exécution qui expose des capacités par l’intermédiaire d’un contrat de service
  5. Des modalités d’exposition : Le contrat de service définit au mieux les modalités d’exposition tel que les protocoles d’échanges, les ressources et opérations exposés, ainsi que leurs attributs non fonctionnels comme la performance, résilience, … que respecte le service
  6. Des prérequis client : Le contrat de service définit un ensemble de prérequis que le client doit fournir pour respecter la qualité défini dans le contrat de service
  7. Je m’appelle Fabien Arcellier. Je fais partie de la tribu ARCHI chez octo. Notre rôle en tant que tribu est de travailler avec des équipes pour que leurs applications tirent partie et enrichissent votre système d’information. Pour cela, nous accompagnons métiers, développeurs et ops pour penser des architectures collaboratives et évolutives qui s’intègrent dans des cycles itératifs de plus en plus court. C’est pourquoi je me tiens devant vous pour parler d’observabilité.
  8. Nous vous proposons une grille de lecture pour expliquer pourquoi l’augmentation du nombre de service est un mouvement de fond
  9. Clarifier le fait qu’un développeur puisse initier et amener des services plus rapidement en production. standardisation des unités de déploiement scaffolding natif avec une intégration CI image autoportante et transférable cross-runtime building-block sur étagère pour le développement 100% des projets de delivery chez octo sont faits sur un runtime qui offre un gestionnaire de dépendances Docker est présent dans plus de 60% de nos projets image autoportante et transférable cross-runtime
  10. Parcours consistant Any-to-Any Login unique Référentiels Parcours fluide Processus interruptible Switch cross-canal
  11. Un cout d’activation de zéro libre-service à la demande activation instantanée qui autorise des runtimes transients Des ressources virtuellement illimitée Management avancé d’accès et d’identité Try-and-learn
  12. Avec ces 3 facteurs, nous constatons que 3 populations convergent vers une volonté de construire des services autonomes
  13. Titre à revoir Peut être expliquer ce que j’entend par flexible et fragile Le périmètre de chaque service est identifiable. La collaboration d’unité d’exécution autonome complique l’investigation lors des défaillances et dilue les responsabilités aux interfaces. La relation entre usage, fonction et ressources s’étiole à cause des mécanismes de scalabilité Quelques modes de défaillance propres aux architectures distribuées interfaces permissives défaillance invisible défaillances réseaux régime transitoire …. Un système collaboratif est capable d’évoluer et d’offrir des mécanismes de résilience grâce à l’autonomie des services qu’il offre. L’impact de la modification d’un service mutualisé est difficile à mesurer. La collaboration d’unité d’exécution autonome complique l’investigation en cas d’incidents
  14. auditabilité : capacités à lire l’histoire d’un service, exemple les logs d’accès permettent d’auditer l’usage d’un endpoint web télémétrie : capacités à mesurer l’usage d’un service, exemple les IO Read permettent de mesurer le volume chargé du disque vers la mémoire trace : capacités à retracer les interactions entre composants dans le temps sur une opération dans un système fermé l’absence de cartographie d’exécution bout en bout complique la navigation entre les dépendances L’absence de time-machine élaborée pour explorer les métriques avec leur contexte complique l’investigation dans le passé l’absence de logs centralisés complique le drill down au niveau d’un service
  15. Le log management est une démarche pour capturer des événements du SI, souvent en provenance des logs pour pouvoir visualiser une activité, analyser des tendances, voir prédire des comportements anormaux. Exemple
  16. Ajouter une phrase pour l’exception management
  17. Les endpoints de télémétrie offre un instantannée de l’état d’un système sous la forme de compteur ou de gauge. Ce modèle d’exposition offre l’avantage de découpler la production de métrique et leurs historisations. Un instantannée se présente sous la forme d’une page avec une liste de métriques.
  18. L’observabilité n’est pas de quantifiable
Publicité