Searching...
Deutsch
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
Hören

Wichtige Erkenntnisse

1. Observability revolutioniert das Verständnis von Softwaresystemen

Observability ist ein Maß dafür, wie gut Sie jeden Zustand Ihres Systems verstehen und erklären können, egal wie neu oder bizarr er ist.

Paradigmenwechsel. Observability passt Konzepte der Regelungstechnik an moderne Softwaresysteme an und ermöglicht es Ingenieuren, interne Zustände durch externe Ausgaben zu verstehen. Im Gegensatz zu herkömmlichem Monitoring, das auf vordefinierten Metriken und Schwellenwerten basiert, erlaubt Observability ad-hoc Abfragen und die Erkundung des Systemverhaltens.

Bewältigung von Komplexität. Da Systeme zunehmend verteilt und dynamisch werden, werden die Grenzen des traditionellen Monitorings offensichtlich. Observability glänzt in Umgebungen, in denen:

  • Microservices-Architekturen komplexe Abhängigkeiten schaffen
  • Cloud-native Bereitstellungen flüchtige Ressourcen einführen
  • Praktiken der kontinuierlichen Bereitstellung zu häufigen Änderungen führen

Kulturelle Auswirkungen. Die Einführung von Observability-Praktiken verändert die Herangehensweise von Teams an Produktionssysteme:

  • Ermutigt zu proaktiver Erkundung statt reaktivem Löschen von Bränden
  • Demokratisiert das Systemverständnis unter den Teammitgliedern
  • Bricht Silos zwischen Entwicklung und Betrieb auf

2. Ereignisse, nicht Metriken, sind die Bausteine der Observability

Wenn Sie unsere Definition von Observability akzeptieren – dass es um die unbekannten Unbekannten geht, dass es bedeutet, jede Frage stellen und jeden inneren Systemzustand verstehen zu können, ohne ihn im Voraus zu antizipieren oder vorherzusagen –, gibt es eine Reihe technischer Voraussetzungen, die Sie erfüllen müssen, um diese Definition zu erfüllen.

Reicher Kontext. Ereignisse erfassen den vollständigen Kontext einer Systeminteraktion, einschließlich:

  • Anforderungsparameter
  • Systemzustand
  • Leistungsmetriken
  • Benutzerkennungen
  • Geschäftsspezifische Datenpunkte

Flexibilität. Im Gegensatz zu voraggregierten Metriken ermöglichen Ereignisse:

  • Beliebiges Aufteilen und Analysieren von Daten
  • Abfragen mit hoher Kardinalität und hoher Dimensionalität
  • Entdeckung bisher unbekannter Muster und Korrelationen

Implementierung. Strukturierte Ereignisse sollten:

  • Für jede bedeutende Systeminteraktion ausgegeben werden
  • Breit angelegt sein, mit vielen Feldern
  • Sowohl technischen als auch geschäftlichen Kontext erfassen können

3. Traces bieten entscheidenden Kontext, indem sie Ereignisse verknüpfen

In einem beobachtbaren System sind Traces einfach eine zusammenhängende Serie von Ereignissen.

End-to-End-Sichtbarkeit. Traces verbinden Ereignisse über verteilte Systeme hinweg und offenbaren:

  • Dienstabhängigkeiten
  • Leistungsengpässe
  • Fehlerausbreitung

Schlüsselkomponenten:

  • Trace-ID: Eindeutiger Bezeichner für den gesamten Anforderungsfluss
  • Span-ID: Bezeichner für jeden Schritt im Trace
  • Parent-ID: Stellt die hierarchische Beziehung zwischen Spans her
  • Zeitstempel und Dauer: Erfassen zeitliche Informationen

Über traditionelle Anwendungsfälle hinaus. Tracing-Konzepte können angewendet werden auf:

  • Nicht-verteilte Systeme zur Leistungsanalyse
  • Batch-Jobs, um Verarbeitungsschritte zu verstehen
  • Lambda-Funktionen, um serverlose Workflows zu verfolgen

4. Observability ermöglicht Debugging von Grundprinzipien aus

Ein Grundprinzip ist eine grundlegende Annahme über ein System, die nicht aus einer anderen Annahme abgeleitet wurde.

Wissenschaftlicher Ansatz. Observability-Tools unterstützen einen methodischen Debugging-Prozess:

  1. Beginnen Sie mit einer Gesamtansicht des Systems
  2. Überprüfen Sie das beobachtete Verhalten gegen die Erwartungen
  3. Erkunden Sie systematisch Dimensionen, um Muster zu identifizieren
  4. Filtern und vertiefen Sie sich, um Probleme zu isolieren
  5. Wiederholen Sie den Vorgang, bis die Ursache gefunden ist

Automatisierung. Fortgeschrittene Observability-Tools können:

  • Anomales Verhalten mit Baselines vergleichen
  • Signifikante Unterschiede in Ereignisattributen hervorheben
  • Potenzielle Untersuchungsbereiche vorschlagen

Kultureller Wandel. Debugging von Grundprinzipien aus:

  • Reduziert die Abhängigkeit von Stammeswissen
  • Befähigt weniger erfahrene Teammitglieder
  • Fördert Neugier und Erkundung

5. SLOs und Fehlerbudgets schaffen umsetzbare Alarme

Fehlerbudget-Verbrauchsalarme sollen frühzeitig vor zukünftigen SLO-Verletzungen warnen, die auftreten würden, wenn die aktuelle Verbrauchsrate anhält.

Definition von Zuverlässigkeit. Service Level Objectives (SLOs) bieten:

  • Klare Ziele für die Systemzuverlässigkeit
  • Eine gemeinsame Sprache zwischen technischen und geschäftlichen Stakeholdern
  • Ein Rahmenwerk für Abwägungen zwischen Zuverlässigkeit und Feature-Entwicklung

Fehlerbudgets. Durch die Quantifizierung akzeptabler Unzuverlässigkeitsniveaus schaffen Fehlerbudgets:

  • Eine endliche Ressource, die verwaltet werden muss
  • Anreize für proaktive Zuverlässigkeitsverbesserungen
  • Ein objektives Maß dafür, wann Stabilität Vorrang vor neuen Features haben sollte

Umsetzbare Alarmierung. SLO-basierte Alarme:

  • Konzentrieren sich auf kundenrelevante Probleme
  • Reduzieren Alarmmüdigkeit, indem sie Lärm eliminieren
  • Bieten Kontext für Priorisierung und Entscheidungsfindung

6. Sampling-Strategien optimieren Ressourcennutzung bei gleichzeitiger Wahrung der Genauigkeit

In großem Maßstab wird die Notwendigkeit, Ihren Datensatz zu verfeinern, um die Ressourcenkosten zu optimieren, entscheidend. Aber auch in kleinerem Maßstab, wo die Notwendigkeit, Ressourcen zu sparen, weniger dringend ist, kann die Verfeinerung der Daten, die Sie behalten, wertvolle Kosteneinsparungen bieten.

Balanceakt. Sampling-Strategien zielen darauf ab:

  • Datenvolumen und damit verbundene Kosten zu reduzieren
  • Statistische Genauigkeit für Analysen zu bewahren
  • Wichtige Ereignisse und Ausreißer zu erhalten

Schlüsseltechniken:

  • Konstant-Wahrscheinlichkeits-Sampling: Einfach, kann aber seltene Ereignisse verpassen
  • Dynamisches Raten-Sampling: Passt sich dem Verkehrsaufkommen an
  • Inhaltsbasiertes Sampling: Priorisiert Ereignisse basierend auf Attributen
  • Head-basiertes vs. Tail-basiertes Sampling: Berücksichtigt, wann Sampling-Entscheidungen getroffen werden

Implementierungsüberlegungen:

  • Konsistentes Sampling über Dienste hinweg
  • Weitergabe von Sampling-Entscheidungen in verteilten Traces
  • Fähigkeit, die ursprüngliche Datenverteilung zu rekonstruieren

7. Observability ist ein geschäftliches Muss im Zeitalter verteilter Systeme

Der geschäftliche Nutzen der Einführung von Observability in Ihre Systeme besteht darin, sowohl die Zeit zur Erkennung (TTD) als auch die Zeit zur Lösung (TTR) von Problemen in Ihren Diensten zu verkürzen.

Konkrete Vorteile:

  • Schnellere Vorfalllösung
  • Verbesserte Kundenzufriedenheit
  • Reduzierte Burnout-Rate bei Ingenieuren
  • Erhöhte Feature-Velocity

Kulturelle Transformation. Observability-Praktiken:

  • Befähigen Ingenieure, ihre Systeme zu verstehen und zu besitzen
  • Brechen Silos zwischen Entwicklung, Betrieb und Geschäftsteams auf
  • Fördern eine Kultur der kontinuierlichen Verbesserung und des Lernens

Implementierungsstrategie:

  1. Beginnen Sie mit Diensten, die hohe Auswirkungen und Schmerzpunkte haben
  2. Demonstrieren Sie den Wert durch schnelle Erfolge
  3. Investieren Sie in Tools und Schulungen
  4. Etablieren Sie klare Metriken zur Verbesserung (z.B. TTD, TTR)
  5. Erweitern Sie schrittweise auf die gesamte Organisation

Last updated:

Rezensionen

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

Observability Engineering erhält gemischte Bewertungen, mit einer durchschnittlichen Bewertung von 3,78 von 5. Leser schätzen die Einführung des Buches in die Konzepte der Beobachtbarkeit und seine Betonung auf sozio-technische Systeme. Viele finden es jedoch repetitiv, es fehlen praktische Beispiele, und es konzentriert sich zu sehr darauf, Beobachtbarkeit von Überwachung zu unterscheiden. Einige loben seine revolutionären Ideen, während andere die Länge und den Mangel an technischer Tiefe kritisieren. Das Buch wird als guter Ausgangspunkt für das Verständnis von Beobachtbarkeit angesehen, bietet jedoch nicht genügend detaillierte Implementierungsanleitungen für Ingenieure.

Über den Autor

Charity Majors ist eine herausragende Persönlichkeit im Bereich der Observability und Softwaretechnik. Sie ist bekannt für ihre Expertise in verteilten Systemen, Produktionstechnik und DevOps-Praktiken. Majors ist Mitbegründerin und CTO von Honeycomb, einem Unternehmen, das sich auf Observability-Tools spezialisiert hat. Sie spricht häufig auf Konferenzen und schreibt über Observability, Microservices und moderne Softwareentwicklungsmethoden. Majors hat eine starke Präsenz in den sozialen Medien, insbesondere auf Twitter, wo sie Einblicke teilt und sich an Diskussionen über Technologie und Ingenieurskultur beteiligt. Ihre Arbeit konzentriert sich darauf, die Zuverlässigkeit und Leistung komplexer Softwaresysteme durch Observability zu verbessern.

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.