Searching...
Français
English
Español
简体中文
Français
Deutsch
日本語
Português
Italiano
한국어
Русский
Nederlands
العربية
Polski
हिन्दी
Tiếng Việt
Svenska
Ελληνικά
Türkçe
ไทย
Čeština
Română
Magyar
Українська
Bahasa Indonesia
Dansk
Suomi
Български
עברית
Norsk
Hrvatski
Català
Slovenčina
Lietuvių
Slovenščina
Српски
Eesti
Latviešu
فارسی
മലയാളം
தமிழ்
اردو
Observability Engineering

Observability Engineering

Achieving Production Excellence
by Charity Majors 2022 318 pages
Technology
Software
Programming
Écouter

Points clés

1. L'observabilité révolutionne la compréhension des systèmes logiciels

L'observabilité est une mesure de la capacité à comprendre et expliquer n'importe quel état de votre système, aussi nouveau ou bizarre soit-il.

Changement de paradigme. L'observabilité adapte les concepts de la théorie du contrôle aux systèmes logiciels modernes, permettant aux ingénieurs de comprendre les états internes à travers les sorties externes. Contrairement à la surveillance traditionnelle, qui repose sur des métriques et des seuils prédéfinis, l'observabilité permet des requêtes ad hoc et l'exploration du comportement du système.

Répondre à la complexité. À mesure que les systèmes deviennent plus distribués et dynamiques, les limites de la surveillance traditionnelle deviennent apparentes. L'observabilité brille dans des environnements où :

  • Les architectures de microservices créent des dépendances complexes
  • Les déploiements cloud-native introduisent des ressources éphémères
  • Les pratiques de livraison continue entraînent des changements fréquents

Impact culturel. L'adoption des pratiques d'observabilité transforme la manière dont les équipes abordent les systèmes de production :

  • Encourage l'exploration proactive plutôt que la lutte réactive contre les incendies
  • Démocratise la compréhension du système parmi les membres de l'équipe
  • Brise les silos entre le développement et les opérations

2. Les événements, et non les métriques, sont les éléments constitutifs de l'observabilité

Si vous acceptez notre définition de l'observabilité—qu'il s'agit des inconnues inconnues, qu'elle signifie pouvoir poser n'importe quelle question, comprendre n'importe quel état interne du système, sans l'anticiper ou le prédire à l'avance—il y a un certain nombre de prérequis techniques à remplir pour répondre à cette définition.

Contexte riche. Les événements capturent le contexte complet d'une interaction système, y compris :

  • Les paramètres de la requête
  • L'état du système
  • Les métriques de performance
  • Les identifiants des utilisateurs
  • Les points de données spécifiques à l'entreprise

Flexibilité. Contrairement aux métriques pré-agrégées, les événements permettent :

  • Des découpages arbitraires des données
  • Des requêtes à haute cardinalité et haute dimensionnalité
  • La découverte de motifs et de corrélations inconnus auparavant

Mise en œuvre. Les événements structurés doivent être :

  • Émis pour chaque interaction significative du système
  • Conçus pour être larges, avec de nombreux champs
  • Capables de capturer à la fois le contexte technique et commercial

3. Les traces fournissent un contexte crucial en reliant les événements

Dans un système observable, les traces sont simplement une série d'événements interconnectés.

Visibilité de bout en bout. Les traces connectent les événements à travers les systèmes distribués, révélant :

  • Les dépendances de service
  • Les goulots d'étranglement de performance
  • La propagation des erreurs

Composants clés :

  • ID de trace : Identifiant unique pour l'ensemble du flux de requêtes
  • ID de span : Identifiant pour chaque étape de la trace
  • ID parent : Établit la relation hiérarchique entre les spans
  • Horodatage et durée : Capturent les informations de timing

Au-delà des cas d'utilisation traditionnels. Les concepts de traçage peuvent être appliqués à :

  • Des systèmes non distribués pour l'analyse de performance
  • Des tâches par lots pour comprendre les étapes de traitement
  • Des fonctions Lambda pour tracer les workflows serverless

4. L'observabilité permet le débogage à partir des premiers principes

Un premier principe est une hypothèse de base sur un système qui n'a pas été déduite d'une autre hypothèse.

Approche scientifique. Les outils d'observabilité soutiennent un processus de débogage méthodique :

  1. Commencez par une vue d'ensemble du système
  2. Vérifiez le comportement observé par rapport aux attentes
  3. Explorez systématiquement les dimensions pour identifier les motifs
  4. Filtrez et approfondissez pour isoler les problèmes
  5. Répétez jusqu'à ce que la cause racine soit découverte

Automatisation. Les outils d'observabilité avancés peuvent :

  • Comparer le comportement anormal par rapport aux bases de référence
  • Mettre en évidence les différences significatives dans les attributs des événements
  • Suggérer des domaines potentiels d'investigation

Changement culturel. Le débogage à partir des premiers principes :

  • Réduit la dépendance aux connaissances tribales
  • Autonomise les membres de l'équipe moins expérimentés
  • Encourage la curiosité et l'exploration

5. Les SLO et les budgets d'erreur créent des alertes exploitables

Les alertes de consommation de budget d'erreur sont conçues pour fournir un avertissement précoce sur les futures violations de SLO qui se produiraient si le taux de consommation actuel se poursuit.

Définir la fiabilité. Les objectifs de niveau de service (SLO) fournissent :

  • Des cibles claires pour la fiabilité du système
  • Un langage commun entre les parties prenantes techniques et commerciales
  • Un cadre pour faire des compromis entre la fiabilité et le développement de fonctionnalités

Budgets d'erreur. En quantifiant les niveaux acceptables d'irrégularité, les budgets d'erreur :

  • Créent une ressource finie à gérer
  • Encouragent les améliorations proactives de la fiabilité
  • Fournissent une mesure objective pour savoir quand prioriser la stabilité par rapport aux nouvelles fonctionnalités

Alertes exploitables. Les alertes basées sur les SLO :

  • Se concentrent sur les problèmes impactant les clients
  • Réduisent la fatigue des alertes en éliminant le bruit
  • Fournissent un contexte pour la priorisation et la prise de décision

6. Les stratégies d'échantillonnage optimisent l'utilisation des ressources tout en maintenant la fidélité

À grande échelle, la nécessité de raffiner votre ensemble de données pour optimiser les coûts des ressources devient critique. Mais même à plus petite échelle, où le besoin de réduire les ressources est moins pressant, raffiner les données que vous décidez de conserver peut encore offrir des économies de coûts précieuses.

Équilibre. Les stratégies d'échantillonnage visent à :

  • Réduire le volume de données et les coûts associés
  • Maintenir la précision statistique pour l'analyse
  • Préserver les événements importants et les valeurs aberrantes

Techniques clés :

  • Échantillonnage à probabilité constante : Simple mais peut manquer des événements rares
  • Échantillonnage à taux dynamique : S'ajuste en fonction du volume de trafic
  • Échantillonnage basé sur le contenu : Priorise les événements en fonction des attributs
  • Échantillonnage en tête vs en queue : Considère quand les décisions d'échantillonnage sont prises

Considérations de mise en œuvre :

  • Échantillonnage cohérent à travers les services
  • Propagation des décisions d'échantillonnage dans les traces distribuées
  • Capacité à reconstruire la distribution de données originale

7. L'observabilité est une impérative commerciale à l'ère des systèmes distribués

L'argument commercial pour introduire l'observabilité dans vos systèmes est de réduire à la fois le temps de détection (TTD) et le temps de résolution (TTR) des problèmes au sein de vos services.

Bénéfices tangibles :

  • Résolution plus rapide des incidents
  • Amélioration de la satisfaction client
  • Réduction de l'épuisement des ingénieurs
  • Augmentation de la vitesse de développement des fonctionnalités

Transformation culturelle. Les pratiques d'observabilité :

  • Autonomisent les ingénieurs à comprendre et posséder leurs systèmes
  • Brisent les silos entre les équipes de développement, d'opérations et commerciales
  • Favorisent une culture d'amélioration continue et d'apprentissage

Stratégie de mise en œuvre :

  1. Commencez par les services à fort impact et points de douleur
  2. Démontrez la valeur à travers des gains rapides
  3. Investissez dans les outils et la formation
  4. Établissez des métriques claires pour l'amélioration (par exemple, TTD, TTR)
  5. Élargissez progressivement à l'ensemble de l'organisation

Last updated:

Avis

3.78 out of 5
Average of 100+ ratings from Goodreads and Amazon.

L'ingénierie de l'observabilité reçoit des avis mitigés, avec une note moyenne de 3,78 sur 5. Les lecteurs apprécient l'introduction aux concepts d'observabilité et l'accent mis sur les systèmes socio-techniques. Cependant, beaucoup le trouvent répétitif, manquant d'exemples pratiques, et trop centré sur la distinction entre l'observabilité et la surveillance. Certains louent ses idées révolutionnaires, tandis que d'autres critiquent sa longueur et son manque de profondeur technique. Le livre est considéré comme un bon point de départ pour comprendre l'observabilité, mais il ne parvient pas à fournir des conseils détaillés sur la mise en œuvre pour les ingénieurs.

À propos de l'auteur

Charity Majors est une figure éminente dans le domaine de l'observabilité et de l'ingénierie logicielle. Elle est reconnue pour son expertise en systèmes distribués, en ingénierie de production et en pratiques DevOps. Majors est co-fondatrice et CTO de Honeycomb, une entreprise spécialisée dans les outils d'observabilité. Elle intervient fréquemment lors de conférences et écrit sur l'observabilité, les microservices et les pratiques modernes de développement logiciel. Majors a une forte présence sur les réseaux sociaux, en particulier sur Twitter, où elle partage des idées et participe à des discussions sur la technologie et la culture de l'ingénierie. Son travail se concentre sur l'amélioration de la fiabilité et des performances des systèmes logiciels complexes grâce à l'observabilité.

0:00
-0:00
1x
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Listening – audio summariesListen to the first takeaway of every book for free, upgrade to Pro for unlimited listening.
Unlock unlimited listening
Your first week's on us!
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 5: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Sep 28,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to full summaries
Free users can listen to the first takeaway only
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
15,000+ readers
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.