monitoring une recette devops
TRANSCRIPT
17 mars 2016
Paris Monitoring Meetup
« Le Monitoring revisité »
[MONITORING-AS-A-SERVICE]
UNE
RECETTE DEVOPSPARTAGÉE PAR VOYAGES-SNCF
François Nollen
Maxence G. de Montauzan
RECETTE DE MONITORING DEVOPS
Introduction
Ingrédients
Préparation
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
RETOUR SUR PARIS MONITORING #3
http://fr.slideshare.net/FrancoisN0/devops-autres-tendances-monitoring
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
TENDANCES MONITORING
Superviser des KPIs fonctionnels
et métier (en plus du technique)
Se concentrer sur les alertes et
l’analyse automatique des données
Ouvrir la supervision aux développeurs
& ‘monitoring as a service’
Automatiser la supervision
& ‘monitoring as code’
Approches top-down,
Monitoring de Flux,
Hypervision, etc….
Détection avancée
d’anomalies, Machine
Learning, algorithmes,
etc….
DevOps, self-
service, etc….
Continuous Delivery,
monitoring hors-prod
iso-prod, etc….
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
FOCUS SUR UN MONITORING DEVOPS
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
FOCUS SUR UN MONITORING SELF-SERVICE
Quels plats proposer ?
Comment les présenter ?
Dans quel ordre ?
…
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
RECETTE DE MONITORING DEVOPS
Introduction
Ingrédients
Préparation
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES NORMES
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
On a commencé par le plus hétérogène :
les logs générés par les applications…
…on a même découvert quelques monstres au passage
DES BIBLIOTHÈQUES POUR <YOUR_LANGUAGE_HERE>
On a ensuite développé et
donné des libs aux équipes
pour implémenter des logs
et métriques normalisés
dans leurs applications
(Attention à ne pas sous-estimer la
charge en support et maintenance
de ces composants…)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DE L’INFRA (« BIG DATA AS A SERVICE »)
Parce qu’une infra de
centralisation Big Data n’est
pas triviale pour un néophyte
DE L’INFRA (« BIG DATA AS A SERVICE »)
Objectif : une infra de centralisation à-la-demande
pour pouvoir développer et tester de bout en bout
n’importe où…
…sur les postes de dév,
dans des builds d’intégration
continue, de non-régression,
etc…
…même sans accès réseau
sur notre laptop de démo
peu performant et sous Windows !
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES FORMATIONS OUVERTES À TOUS
Outils et accès ne suffisent pas à
amener les dévs au monitoring…
…Il faut aussi sensibiliser,
former, accompagner
DevOps culture + outils
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES SERVICES DE VALIDATION
Pour vérifier le comportement
des applications
Pour validation ponctuellement ou automatiquement :
Script, CRON, Jenkins, Rundeck, etc.
Pour auditer/surveiller des
plateformes
Etc.
Pour tester en non-régression les
libs générant des logs normalisés
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
D’AUTRES SERVICES, COMME L’ANONYMISATION
Bien écouter les besoins des équipes,
même ce qui peut paraître à la marge
des problèmes de monitoring…
…in fine ce qui contribue à l’adoption des
services de supervision fait avancer le
monitoring DevOps en général
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES SOLUTIONS DE DÉPLOIEMENT
Déployer automatiquement les outils
de supervision (dashboards Kibana /
Grafana, alertes Seyren, etc.)
Pouvoir les livrer/déployer
avec les applications
Monitoring
as code !
Réduire ainsi les
différences d’outillage
entre les plateformes
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES TABLEAUX DE BORD (POUR TOUS LES BUDGETS)
Les formations rendent les développeurs
autonomes pour créer leurs dashboards…
…pour les autres ou ceux qui
n’ont pas le temps, il faut des
modèles déployables et
utilisables tout de suite
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
C’EST L’HEURE DE LA DÉMO !
1°) Activation de logs et
métriques (JMX, Graphite)
normalisés en mettant des
annotations sur des
services REST en Java
2°) Démarrage d’une
infra de centralisation
locale (sous Docker) 3°) Run de l’appli et
visualisation des
logs/métriques
générées dans Hadoop,
Kibana et Grafana
4°) Génération d’un
dashboard Grafana
à partir d’une config
JSON dans les
sources de l’appli
5°) Déploiement
automatisé du
dashboard sur
Grafana
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
RECETTE DE MONITORING DEVOPS
Introduction
Ingrédients …la suite !
Préparation
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
TOUJOURS PLUS DE TABLEAUX DE BORD!
Par plateforme, par application,
par client, par service, etc.
Pour différents cas d’utilisation :
monitoring, investigation, rapports
hebdo/mensuels, affichage TV…
Pour différents outils (Kibana,
Grafana) ou des rendus personnalisés
(Angular, Bootstrap, D3.js, etc.)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES SERVICES D’ALERTES & DE NOTIFICATIONS
Les équipes demandent surtout des dashboards…
Mais il ne faut pas s’arrêter là - on sait qu’il est crucial
de développer l’analyse automatique et l’alerting
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES SERVICES D’ALERTES & DE NOTIFICATIONS
Par exemple, un service d’abonnement à des notifications email
ou IRC, ouvert à tous, où chacun choisit ses indicateurs et ses
propres seuils (sans interférer avec la supervision des Ops)
Par exemple, de nouveaux types d’alertes pour les Ops,
intégrant des indicateurs fonctionnels ou métier
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DES ALTERNATIVES…
Puisqu’on ne propose pas une solution
monolithique… et que les équipes ont le choix…
Pour ceux qui n’utilisent pas toutes les briques,
de quoi se raccrocher au reste de la solution :
ponts, connecteurs, alternatives, etc.
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DE LA CARTOGRAPHIE (AUTOMATIQUE!)
(La cartographie : tout le monde en veut…
…mais personne ne veut la faire)
Le déploiement automatisé a probablement un rôle à jouer (hooks carto dynamique)
Gagnant-gagnant : « décris-moi ton appli et ses outils de supervision
(dashboards, alertes, etc.), je les déploierai et la carto sera à jour »
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
TOUJOURS PLUS D’INDICATEURS, DE LANGAGES…
Plus ils en ont, plus ils en veulent !(à considérer comme un indicateur de succès !)
Libs : « Et pour mon appli PHP,
Python, Nodejs… ? »Métriques : « A quand mes KPIs Omniture dans le
rapport hebdo Grafana ? Le nombre de JIRAs ouverts par la
Relation-Client dans mon dashboard de monitoring ? etc. »
DE L’ANALYSE AVANCÉE (MACHINE LEARNING)
Meilleure détection d’anomalies
Moins de faux positifs
Signaux faibles
Etc. Peu de solutions
ouvertes et
exploitables
"at scale" ?
créer une plateforme
ML opensource et
générique
créer un consortium avec
des partenaires industriels et
académiques
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
RECETTE DE MONITORING DEVOPS
Introduction
Ingrédients
Préparation …pour que la
sauce prenne !
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
OBJECTIFS / CRITÈRES DE SUCCÈS
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
Les équipes ont le choix.
Nos critères de succès sont :
ADOPTION et CONTRIBUTION
APPROCHE PRODUIT
Manifeste
Itérations
Idée originale : nommer un Product Owner
(pour un projet à vocation plutôt technique)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
EQUIPE DÉDIÉE TRANSVERSE
Une petite équipe multi-localisée
et multi-profils (dév, archi, intég, ops)…
…du coup des défis supplémentaires (montée en
compétence permanente / truck factor), mais
définitivement une raison du succès du projet
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
OPENSOURCER NOS COMPOSANTS
Pour le moment en interne
(avec des contributeurs internes)…
…en espérant bientôt pouvoir
opensourcer notre stack plus largement
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DOCUMENTATION
• Code (commenté)
• Documentation technique (Git)
• Documentation plus fonctionnelle
« PO-friendly » (wiki)
• Applications de démonstration
(une par langage) avec leurs
sources
• etc.
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
TESTS
Revue des fonctionnalités
(utilisées ou pas) par le PO
avec les utilisateurs
Tests automatisés pour la qualité,
mais aussi pour les contributeurs :
• Tests unitaires
• Code (Sonar etc.)
• Tests d’intégration (Selenium,
tests sur infra Dockerisée)
• Non-régression en perf
(Microbenchmark, Gatling)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
TECHNOLOGIES ATTRACTIVES(Même celles qui n’ont pas de lien
particulier avec le monitoring, à bien
choisir pour attirer les contributeurs)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
DÉMOS RÉGULIÈRES & COMMUNICATION
Mention spéciale pour le chat qui aide vraiment à créer une communauté
technique et distribuer le support au-delà d’une équipe dédiée : les utilisateurs
se répondent, les contributeurs échangent, etc.
MISE EN VALEUR DES CONTRIBUTIONS
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
• Communiquer sur les contributions en cours,
• Mettre en relation les contributeurs éventuels,
• Les conseiller, les accompagner,
• Leur proposer de présenter leur travail lors des démos,
• Etc.
…MAIS QUE VAUT UNE RECETTE
SANS PHOTO ??!
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
PHOTO APRÈS 6 MOIS : LES COMPOSANTS UTILISÉS
De plus en plus d’utilisateurs et de bouche-à-
oreille (on découvre de nouveaux utilisateurs
en prod ! …et c’est très bien)
1 point = 1 équipe
Des contributions qui vont de la pull request de 2 LoC …
au portage d’une lib pour un autre langage
Sans surprise les libs sont plus utilisées que les
dashboards, alertes et autres outils.
Probablement parce que c’est la responsabilité
historique des dévs (produire des logs).
Les autres services mettront plus de temps à
être adoptés.
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
PHOTO APRÈS 6 MOIS : LES FORMATIONS
Résultat : engouement pour une formation
pourtant longue (chacun se débrouille pour timer)
sur un sujet assez spécifique/technique…
…Preuve que le sujet intéresse au-delà des équipes
de supervision classiques
Tous profils d’inscrits : développeurs,
Ops, chefs de projet, curieux…
Ce que l’on propose, une journée complète pour :
• Comprendre l’architecture Big Data de centralisation des logs
• Etre autonome sur les outils Kibana et Grafana (théorie + TPs)
…DevOps wins!
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
A SUIVRE…
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
INSPIRATIONS ET AUTRES LIENS
Monitoring as a Service (James Turnbull, 2015)
A Monitoring Maturity Model (James Turnbull, 2015)
5 years of metrics and monitoring (Lindsay Holmwood, 2014)
Agilité & DevOps @ Voyages-sncf.com (2014)
DevOps & autres Tendances Monitoring
de grands acteurs du Web (François Nollen, 2015)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
RETROUVEZ CE MEETUP SUR LE WEB
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
SOURCES ILLUSTRATIONS
http://voyages.ideoz.fr/categorie/guide-culinaire/recettes-de-cuisine/
http://www.initiatives-recettes.fr/
http://memegenerator.net/instance/41522505
https://www.mindtouch.com/blog/2014/09/29/serve-foster-self-service-question-whats-right-mix-optimize-customer-success
http://returnonfocus.com/wp-content/uploads/Ingredients.jpg
http://s2.lemde.fr/image2x/2016/01/09/534x0/4844344_6_e28a_en-2015-10-000-tonnes-de-fruits-et-legumes_fab1a41f8ebdc5f3183314acdec490a8.jpg
https://fr.pinterest.com/pin/441141725970768916/
http://www.a2com.fr/infrastructure-informatique/consolidation-et-virtualisation-de-serveurs
http://consocollaborative.com/interview/demain-le-campus-collaboratif-pour-reinventer-les-services-etudiants/
https://www.pinterest.com/pin/185210603397001934/
https://fanart.tv/movie/9268/eraser/
http://www.st-cyr.terre.defense.gouv.fr/index.php/Formation-militaire/Missions-operationnelles/Parachutisme
boitierrouge.com/2014/04/10/k2000-qui-est-kitt-qui-est-karr/
http://okogami.fr/test-firewatch-pc/
http://axiomcafe.fr/pourquoi-dit-on-que-les-poissons-rouges-ont-une-m-moire-de-3-secondes
http://www.eponine-pauchard.com/2010/09/le-diagramme-spaghetti/
http://photo.speedresa.com/photos_to/865/196983157.jpg
http://soleildelumiere.canalblog.com/archives/2012/12/29/26015918.html
http://club.doctissimo.fr/desenfers/robotique-imaginaire-reelle-525810/photo/cuisinier-japonais-okonomiyaki-21740362.html
http://bookboon.com/blog/2013/12/5-myths-realities-good-teamwork/
http://www.superheroteamtraining.com/superhero-services/what-is-superhero-team-training/
https://www.futurehosting.com/blog/septembers-roundup-of-the-best-open-source-linux-and-web-hosting-content/
http://kimberlykunkel.com/tag/book-reviews/
http://www.femmeactuelle.fr/cuisine/news-cuisine/top-chef-2015-saison-6.-nouveau-jury-top-chef.-19909
http://www.casinoaix.com/
http://www.latribune.fr/entreprises-finance/banques-finance/industrie-financiere/20130606trib000768870/les-toques-blanches-premiere-societe-de-gastronomie-a-
entrer-en-bourse.html
http://iguessitsokay.blogspot.fr/2011/04/rachels-21st-birthday.html
http://tousphotographes.net/quel-appareil-photo-choisir/
(Merci de nous contacter si vous souhaitez qu’une illustration soit retirée de cette présentation)
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
Rejoignez-nous ! Voyages-SNCF recrute.
http://jobs.voyages-sncf.com/
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité
François Nollen :: Maxence G. de Montauzan
Paris Monitoring Meetup :: 17 mars 2016 :: Le Monitoring revisité