Description de la formation Supervision et Observabilité
L’observabilité consiste à recueillir et analyser des informations sur les systèmes en production (OS, réseau, applicatif) en s’appuyant sur des outils de supervision (monitoring) qui permettent de surveiller et de mesurer un certain nombre de métriques et de journaux prédéfinis. Elle ne se limite donc pas à la supervision du réseau mais bien à une observation d’ensemble y compris des applications qui, au final, représentent la finalité des systèmes quelles que soient les configurations. Et aujourd’hui celles-ci sont variées : On premise, Cloud, Micro-services, Conteneurisées, Kubernetes, etc.) et nécessitent des outils adéquats.
Les microservices et les services de conteneurs (tels que Docker, Kubernetes et autres Serverless/CaaS) de par leur nature dynamique et distribuée nécessitent pour pouvoir être explorés, d’être équipés d’un ensemble complet d’outils de surveillance et d’observabilité.
Ces outils aident les équipes logicielles modernes à coder des logiciels de qualité supérieure, à développer une culture de l’innovation durable, à optimiser les coûts ou à constater en temps réel les performances de leurs activités numériques.
Au-delà des solutions technologiques (Prometheus, Grafana, Fluentd, Elastic, Loki, Open Telemetry, Jaeger, Tempo …) que nous manipulerons afin que vous puissiez les mettre en oeuvre dans votre propre environnement (mais sans rentrer dans le détail de chaque outil), nous détaillerons la philosophie, les concepts d’architecture et le comportement attendu des infrastructures et des applicatifs, qui doivent être assimilés par ceux qui conçoivent, transforment et assurent l’exploitation des applications Cloud Native.
Enfin, l’impact sur les organisations sera analysé car fondamental au succès de la surveillance et de l’observabilité des applications modernes.
Objectifs
Objectif opérationnel :
Connaître les technologies de surveillance et d’observabilité modernes des applications, leurs principes d’architecture et les acteurs open source et commerciaux de cet écosystème.
Objectifs pédagogiques :
À l’issue de cette formation Supervision et Observabilité, vous aurez acquis les connaissances et les compétences nécessaires pour :
- Maîtriser les concepts de métriques, logs et traces
- Comprendre les capacités et enjeux de génération, collecte et stockage de ces données
- Connaître les outils de supervision et d’observabilité les plus prometteurs de l’écosystème
- Pratiquer et manipuler des cas simples mais typiques
- Discuter des impacts sur les organisations informatiques
À qui s’adresse cette formation ?
Public :
Ce cours Supervision et Observabilité s’adresse à des :
- Membres des équipes DevOps, SRE, de supervision
- Membres des équipes développement et d’administration système devant participer à la transformation et au maintien en conditions opérationnelles des applications modernes ou Cloud Native
- Chefs de projets souhaitant faire implémenter des outils de diagnostics et de supervision
- Responsables informatiques désireux de moderniser leur outillage et leurs pratiques
Prérequis :
Il est préférable d’avoir déjà travaillé dans un département de développement ou d’infrastructure d’une DSI pour suivre cette formation Supervision et Observabilité.
Contenu du cours Supervision et Observabilité
Besoins métiers et principes Cloud Native
Rappel sur la nature distribuée et éphémère des charges de travail des applications modernes (microservices scalables vs monolithes)
Concepts de tags, labels
Définition par les SREs des SLI/SLO/SLA (Service Level Indicators/Objective/Agreement), Error Budget
Les trois piliers de l’observabilitéDémos et travaux pratiques Service Discovery
Monitoring (supervision) basé sur les métriques
Modéliser son système pour avoir une vue globale (vs silos)
Les modèles USE, RED, DWR
Supervision synthétique, réseau, système, applicative ou centrée sur l’expérience utilisateur
La nouvelle génération d’outils Cloud Native vs la génération précédente pour laquelle les applis et infra informatiques sont statiques
Stockage de cardinalités dans des Time Series Database (TSDB)
Problématique du stockage long terme et autres choix
Revue de l’écosystème open source et commercial on-prem et Cloud
Bonnes pratiques et limitationsDémos et travaux pratiquesInstallation d’un agent NodeExporter pour publier les métriques systèmes d’un serveur Linux, Collecte des métriques par Prometheus, Visualisation dans Grafana
Installation d’un agent Datadog/Newrelic pour collecter les métriques d’un serveur Nginx/PHP sous Docker
Génération des logs
Pourquoi la structuration des évènements est primordiale
Corrélation et détection des changements
Revue de l’écosystème open source et commercial on-prem et Cloud
Bonnes pratiques et limitationsDémos et travaux pratiquesExport de logs depuis un serveur Linux avec l’agent Beats (FileBeats) vers un indexeur Logstash, visualisation dans Elastic / Kibana
Export de logs depuis un cluster Kubernetes avec un DaemonSet Fluent Bit, visualisation dans Grafana Loki
Traces et télémétrie
Concepts de Traces distribuées, Span : vision de bout en bout
(Auto-)Instrumentation du Code ou utilisation de Sidecar Proxy
Revue de l’écosystème open source et commercial on-prem et Cloud
Bonnes pratiques et limitationsDémos et travaux pratiquesAjout d’Open Telemetry dans le code d’une application containerisée
Analyse dans un backend Jaeger ou Grafana Tempo
Conclusion
Impacts sur l’organisation des équipes IT
Cloud_native patterns : DevOps, SRE , platform team
Revue de l’écosystème open source et commercial (elastic, splunk, datadog, newrelic, grafana labs, dynatrace, sysdig…) on-prem et Cloud
Optimiser les coûts (fréquence, rétention, stockage froid/chaud, etc..)
Travaux Pratiques
Cette formation propose une alternance (40% / 60%) de théorie et d’illustration pratiques via des manipulations réalisées par l’animateur et les participants pour une meilleure assimilation des connaissances.
La documentation des démonstrations et exercices est fournie aux participants.