Was ist Beobachtbarkeit?

Beobachtbarkeit ist die softwarebasierte Fähigkeit, jeden Status eines Systems auf der Grundlage seiner externen Ausgaben zu erklären.

Je leistungsfähiger und umfangreicher ein System ist, desto komplexer ist es auch. Leider geht mit dieser zunehmenden Komplexität auch eine erhöhte Unvorhersehbarkeit einher: Es kommt zu Ausfällen, Leistungsengpässen, Fehlern usw. und es ist nicht immer einfach, die Grundursache für diese Vorfälle zu ermitteln. Bei komplexen modernen Systemen steigt nicht nur die Wahrscheinlichkeit eines unerwarteten Ausfalls, sondern auch die Zahl der möglichen Ausfallarten. Um diesem Trend entgegenzuwirken, haben IT-, Entwicklungs- und Betriebsteams begonnen, Überwachungstools zu implementieren, die in der Lage sind, Einblicke in die Systeme bereitzustellen.

Aber der Fortschritt lässt sich nicht aufhalten und die Komplexität aktueller Systeme überfordert schon jetzt die herkömmlichen Überwachungsfähigkeiten. Die bewährte Strategie zum Schutz von Systemen vor unbekannten Fehlern besteht heute nicht mehr in der Überwachung, sondern darin, das System besser überwachbar zu machen, also es zu beobachten.

Der Unterschied zwischen Beobachtbarkeit und Überwachung ist zwar fein, aber wichtig. Ein Blick auf die Fähigkeiten und Ziele der beiden kann Teams helfen, diesen Unterschied besser zu verstehen und ihre Beobachtungsstrategien zu optimieren.

Mithilfe der Überwachung können Benutzer den Status eines Systems anhand einer vordefinierten Reihe von Metriken und Protokollen beobachten und interpretieren. Mit anderen Worten: Es ermöglicht Ihnen, bekannte Ausfallmodi zu erkennen. Überwachung ist entscheidend für die Analyse von Trends, die Erstellung von Dashboards und die Benachrichtigung von Einsatzteams bei Problemen, sobald diese auftreten. Sie liefert Informationen darüber, wie Ihre Anwendungen funktionieren, wie sie sich entwickeln und wie sie genutzt werden. Voraussetzung für die Überwachung ist jedoch eine genaue Kenntnis der potenziellen Fehlermöglichkeiten. Mit anderen Worten: Überwachung kann Ihnen helfen, „bekannte Unbekannte“ (Risiken, die Sie bereits kennen) zu identifizieren. Es kann Ihnen aber nicht dabei helfen, sich mit unbekannten Unbekannten auseinanderzusetzen (Risiken, die völlig unerwartet sind, nicht berücksichtigt wurden und daher nicht vollständig überwacht werden können).

Das ist problematisch, da in den meisten komplexen Systemen die unbekannten Unbekannten die bekannten Unbekannten, die sich relativ leicht bewältigen lassen, bei weitem überwiegen. Noch entmutigender ist die Tatsache, dass die meisten dieser unbekannten Unbekannten – oft als blinde Flecken bezeichnet – so unwahrscheinlich sind, dass die Identifizierung und Planung für jede einzelne von ihnen eine kolossale Verschwendung von Arbeit darstellen würde. Erst die schiere Menge macht die potenziellen unbekannten Unbekannten zu einer Bedrohung. Da man also nicht vorhersagen kann, welche Probleme auftreten werden oder wie man sie überwachen kann, gilt es, ständig so viel Kontext wie möglich aus dem System selbst zu gewinnen. Beobachtbarkeit liefert diesen Kontext. Sie verlässt sich nicht auf Integritätsprüfungen, sondern auf die Funktionsweise der Software selbst. Sie ermittelt den internen Status eines Systems auf der Grundlage seiner externen Outputs und nutzt Instrumente, die Ihnen helfen, Einblicke zu gewinnen, und die Ihre Überwachung unterstützen.

Überwachung ist das, was passiert, nachdem etwas beobachtbar ist. Ohne Beobachtbarkeit ist eine Überwachung nicht möglich.

Software wird von Tag zu Tag komplexer. Es gibt verschiedenste Muster in der Infrastruktur, darunter Microservices, polyglotte Persistenz und Container, die immer größere Container in komplexe, kleinere Systeme zerlegen.

Gleichzeitig nimmt die Anzahl der Produkte zu und es gibt viele Plattformen und Möglichkeiten, mit denen Unternehmen neue, innovative Wege beschreiten können. Auch die Umgebungen werden immer komplexer und nicht alle Unternehmen befassen sich mit der zunehmenden Anzahl von Problemen, die sich daraus ergeben. Ohne ein beobachtbares System bleibt die Ursache von Problemen im Dunkeln und es gibt keinen universellen Ansatzpunkt.

Zuverlässigkeit

Das Hauptziel der Beobachtbarkeit heißt Zuverlässigkeit. Eine effektive IT-Infrastruktur, die entsprechend den Anforderungen der Kunden ordnungsgemäß und zuverlässig funktioniert, erfordert eine Messung ihrer Leistung. Die Beobachtungstools informieren über das Verhalten der Benutzer, die Systemverfügbarkeit, die Kapazität und die Netzwerkgeschwindigkeit. So lässt sich sicherstellen, dass alles optimal funktioniert.

Sicherheit und Compliance

Unternehmen, die der Compliance unterliegen, müssen ihre Computing-Umgebungen genau beobachten können. Dank der vollständigen Transparenz, die aus der Beobachtbarkeit durch Ereignisprotokolle resultiert, können Unternehmen potenzielle Eindringlinge, Sicherheitsbedrohungen, Brute-Force-Versuche oder mögliche DDoS-Angriffe erkennen.

Umsatzwachstum

Die Möglichkeit, Ereignisse zu analysieren, liefert wertvolle Informationen über Verhaltensweisen und deren mögliche Beeinflussung durch Variablen wie Anwendungsformat, Geschwindigkeit usw. All diese Daten können analysiert werden, um verwertbare Einblicke in die Optimierung von Netzwerken und Anwendungen zu erhalten und auf diese Weise Umsätze zu generieren und neue Kunden zu gewinnen.

Beobachtbarkeit beruht auf drei Säulen: Protokolle, Metriken und Abläufen.

Protokolle

Hierbei handelt es sich um die Aufzeichnung eines Ereignisses, das in einem System aufgetreten ist. Protokolle werden automatisch erstellt, mit einem Zeitstempel versehen und in eine Datei geschrieben, die nicht geändert werden kann. Sie enthalten eine vollständige Aufzeichnung von Ereignissen, einschließlich Metadaten über den Status eines Systems und den Zeitpunkt des Ereignisses. Sie können im Klartext geschrieben oder in einem bestimmten Format strukturiert werden.

Metriken

Metriken sind numerische Darstellungen von Daten, die im Laufe der Zeit gemessen werden. Während Ereignisprotokolle Informationen über bestimmte Ereignisse erfassen, handelt es sich bei Metriken um Messwerte, die von der gesamten Systemleistung abgeleitet sind. Sie liefern in der Regel Informationen über Anwendungs-SLIs.

Ablaufverfolgungen

Hierbei handelt es sich um eine detaillierte Aufstellung von Ereignissen, die in einem Netzwerk auftreten und in einem kausalen Zusammenhang stehen. Die Ereignisse müssen nicht innerhalb einer einzigen Anwendung stattfinden, aber sie müssen Teil desselben Anforderungsflows sein. Ablaufverfolgungen können als eine Liste von Ereignisprotokollen der verschiedenen Systeme formatiert werden, die an der Anforderungserfüllung beteiligt sind.

Mithilfe der drei Säulen der Beobachtbarkeit können Datenquellen zusammengeführt werden, die für sich allein genommen nur bedingt aussagekräftig sind. Das liegt daran, dass die Beobachtbarkeit im Wesentlichen von zwei Dingen abhängt:

  • Hochkomplexe Telemetriedaten mit einem großen Anteil an Laufzeitkontext
  • Die Fähigkeit, mit diesen Daten iterativ zu interagieren, um neue Einblicke zu gewinnen, ohne Code bereitzustellen

Wenn diese beiden Faktoren gegeben sind, verfügen Unternehmen über die notwendigen Ressourcen zur Verbesserung der Beobachtbarkeit von Systemen und Anwendungen.

Beobachtbarkeit ist nur effektiv, wenn sie auch umsetzbar ist: Alle kontextbezogenen Telemetriedaten der Welt nützen nichts, wenn die Teams nicht über die nötigen Ressourcen verfügen, um sie sinnvoll einzusetzen.

Kontext und Topologie

Kontext und Topologie beziehen sich auf die Art der Instrumentierung, mit der Beziehungen in einer dynamischen Multi-Cloud-Umgebung mit vielen miteinander verbundenen Komponenten verständlich gemacht werden können. Kontextmetadaten ermöglichen Topologie-Maps in Echtzeit und tragen zum Verständnis der kausalen Abhängigkeiten im Stack sowie zwischen Services, Prozessen und Hosts bei.

Kontinuierliche Automatisierung

Die Arbeit der IT-Abteilung besteht nicht länger darin, manuelle Konfigurationen vorzunehmen, sondern jede Systemkomponente automatisch zu erkennen, zu instrumentieren und eine Baseline zu erstellen. Dank der kontinuierlichen Automatisierung können Innovationsprojekte realisiert werden, bei denen das Verständnis für das Wesentliche im Vordergrund steht. Beobachtbarkeit ist skalierbar und ermöglicht es Teams mit begrenzten Ressourcen, mit weniger mehr zu erreichen.

KI-Unterstützung

Eine umfassende Fehlerbaumanalyse in Verbindung mit der Sichtbarkeit auf Code-Ebene bietet die Möglichkeit, die Ursache von Anomalien zu identifizieren, ohne sich auf Versuch und Irrtum, Vermutungen oder Korrelationen zu verlassen. Kausalitätsbasierte KI spürt alles Ungewöhnliche auf, um das Unbekannte zu entdecken.

Offenes Ökosystem

Die Beobachtbarkeit sollte auch auf externe Datenquellen ausgeweitet werden. Auf diese Weise können Topologie-Mapping, automatische Erkennung und Instrumentierung sowie aktionsbezogene Antworten bereitgestellt werden, die für eine Beobachtung im großen Maßstab erforderlich sind.

Funktionen, die mit Ihrem Unternehmen mitwachsen

Erkennen Sie Probleme, bevor sie entstehen, mit ServiceNow.