alphaspirit - stock.adobe.com
Sieben Prinzipien für Observability in modernen Anwendungen
Unternehmen sollten bei der Überwachung und Organisation von Daten sieben Grundsätze im Auge behalten, um danke Observability Probleme schnell und effizient zu beheben.
Moderne Anwendungen stützen sich zunehmend auf verteilte Dienste und Cloud-native Architekturen, um ihren Benutzern Rechenleistung und Vielseitigkeit zu bieten. Observability-Tools sind optimal geeignet, um diese dynamischen Anwendungen zu warten, eine konsistente Leistung sicherzustellen und Probleme schnell zu beheben. Administratoren identifizieren die Ursache eines Problems, indem sie Leistung mit Telemetriedaten aus dem gesamten Stack korrelieren.
Observability ist auch wichtig für die Arbeit von Entwicklern, bei der Container, APIs und mehrere Laufzeiten riesige Datenmengen erzeugen. Mit einer zentralen Wahrheitsquelle (Single Source of Truth, SSOT) verstehen Entwickler und Ingenieure den Kontext und die Topologie besser, um ihre Software-Builds zu beschleunigen, CI/CD (Continuous Integration/Delivery) zu rationalisieren und die Tests zu verbessern.
Dieser Artikel befasst sich mit den wichtigsten Prinzipien der Observability und den Ansätzen, die IT-Führungskräfte vor der Einführung kennen sollten.
1. Verstehen Sie die Ziele der Observability
In traditionell aufgebauten Umgebungen reicht die Überwachung der Anwendungsleistung (Application Performance Monitoring, APM) aus, um monolithische, On-Premises installierte Anwendungen zu verwalten, die sich auf einzelne, isolierte Ressourcen stützten. Es ist relativ einfach, Softwarekomponenten, Dienste und Ressourcen zu überwachen, da neue Versionen und Korrekturen schrittweise und konsistent eingespielt werden. Die schnelle Bereitstellung von Ressourcen und die elastische Natur der virtuellen Verarbeitung haben jedoch Cloud-native Anwendungen ermöglicht, die ständig aktualisiert und verändert werden.
Zahlreiche diskrete, verteilte Dienste bilden die Grundlage für diese dynamischen Anwendungen, und die Interaktionen zwischen den Diensten fügt eine weitere Komplexitätsstufe hinzu. Darüber hinaus erzeugen Cloud-Umgebungen und die von ihnen unterstützten Anwendungen weitaus größere Mengen an Telemetrie- und Systemdaten, die sich nur schwer verarbeiten lassen. Nicht nur die Anzahl der Datenpunkte ist enorm gestiegen, auch die Geschwindigkeit dieser Informationsflüsse macht es für Administratoren und DevOps-Teams schwierig, Schritt zu halten.
Mit Observability verwenden funktionsübergreifende Gruppen benutzerdefinierte Metriken und Datenquellen, um Probleme zu verstehen, sobald sie auftreten. Beispielsweise kann eine verteilte Ende-zu-Ende-Verfolgung eine Serviceanfrage komplett nachvollziehen, Leistungsprobleme ermitteln und die Anwendungsverfügbarkeit verbessern, während sie den Benutzern wichtige Einblicke gewährt.
In vielen Fällen stellt die Observability eine natürliche Weiterentwicklung von APM dar, da die IT-Abteilung eine detailliertere Analyse durchführt und dabei die gegenseitigen Abhängigkeiten verteilter Dienste berücksichtigt. Außerdem erhalten Administratoren, Entwickler, Techniker und Geschäftsinteressenten Zugang zu denselben Anwendungsdaten. In dem Maße, in dem die Teams ein besseres Verständnis der Anwendungsleistung und des Zustands erlangen, erhalten sie auch einen umfassenderen Überblick über ihre IT-Umgebung.
2. Legen Sie eine Single Source of Truth fest
Durch eine SSOT wird ein individueller Referenzpunkt geschaffen, an dem alle Informationen innerhalb einer Organisation versammelt sind. Funktionsübergreifende Teams erhalten kontextbezogene Einblicke und arbeiten gemeinsam mit Daten, um wichtige Probleme bei der Anwendungsleistung zu isolieren, unabhängig davon, ob sie vertikal im Stack oder über Dienste, Prozesse und Hosts hinweg auftreten.
Eine umfassende Integration gilt als die größte Herausforderung beim Erstellen eines SSOT, da sie die Aggregation von Daten aus vielen unterschiedlichen Systemen erfordert. In der Tat sammeln Unternehmen riesige Mengen an Beobachtungsdaten, die um ein Vielfaches größer sind als andere Datenströme. Und da die meisten Teams Daten-Tools verwenden, die für ihren Bereich spezifisch sind, fehlt ihnen oft eine ganzheitliche Sicht auf Anwendungsdaten.
Es ist unrealistisch, dass eine Sammlung von Datenüberwachungs-Tools oder eine einzelne Observability-Plattform wirklich alle Datenströme erfassen. Eine Alternative ist, die SSOT von einer Plattform auf eine einheitliche Daten-Pipeline zu verlagern, die einen zentralen, logischen Punkt bietet, an dem die Daten zusammenlaufen. Jeder kann diese Daten dann in sein eigenes, präferiertes Überwachungs-Tool einspeisen.
3. Kuratierung verstehen
Die Datenkuratierung stellt sicher, dass die benötigten Informationen in einem möglichst brauchbaren Format zur Verfügung stehen. Sie vereinfacht den Prozess, mit dem ein Unternehmen Daten sammelt und verwaltet, damit Softwareentwickler, Geschäftsteams und Analysten sie nutzen können. Die drei Säulen der Observability stellen sicher, dass Daten in den folgenden Formaten für eine spätere Verwendung oder im Falle eines Anwendungsproblems schnell verfügbar sind.
- Protokolle. Protokolle, die oft große Mengen unstrukturierter Daten enthalten, müssen an einem zentralen Ort zusammengefasst werden. IT-Teams greifen bei der Fehlersuche und -behebung auf Protokolle zurück, da sie Ereignisdaten bis auf die Millisekunde genau enthalten.
- Metriken. IT-Teams setzen Metriken ein, um den Zustand von Anwendungen und Systemen zu messen. Sie erlauben eine Quantifizierung der Infrastruktur- und Anwendungsleistung in Bezug auf Latenzen, Datenverkehr, Speichernutzung und andere Schlüsselelemente. So erfassen Entwickler beispielsweise Metriken für die Containerbereitstellung und analysieren den Zustand und bewerten die Funktionsfähigkeit wichtiger Build-Komponenten innerhalb einer Kubernetes-Bereitstellung.
- Rückverfolgungen. Administratoren verfolgen die Leistung und messen die Antwortzeiten von Anwendungsanfragen in einer Infrastruktur. Traces bieten Transparenz, um den Weg einer bestimmten Anwendungsanforderung und ihre Bewegung in einer komplexen Microservices-Infrastruktur aufzudecken. Sie bieten eine weitere Ressource zur Bestimmung der Anwendungsleistung in Bezug auf mehrere Serviceabhängigkeiten.
4. Vollständige Transparenz gewährleisten
Ein hohes Maß an Transparenz gewährleistet eine umfassende Reaktion auf Vorfälle für die Beteiligten an der Infrastruktur, einschließlich IT-Ops, Entwicklungsingenieure, Produktsupport und Geschäftsgruppen. Das stärkt das Vertrauen zwischen den Teammitgliedern und stellt sicher, dass jeder Vorfall auf der Grundlage der erforderlichen Workflows, Runbooks und Benachrichtigungen ordnungsgemäß aufgezeichnet, nachverfolgt und bearbeitet wird.
5. Schnelligkeit in den Prozess einbauen
Unternehmen nutzen Observability, um die kritische Lücke zwischen einem schwerwiegenden Anwendungsereignis und der für die Behebung erforderlichen Zeit zu minimieren. IT-Ops und -Ingenieure setzen Observability unter anderem ein, um ihre Reaktionen in Cloud-Native- und Microservices-Umgebungen zu beschleunigen. So setzen IT-Teams beispielsweise künstliche Intelligenz (KI) für den IT-Betrieb ein, um Probleme zu erkennen und automatisierte Problembehebung einzurichten.
6. Verstehen von Kontext und Topologie
Moderne Anwendungsabhängigkeiten bestehen sowohl vertikal im Stack als auch in einer Microservices-Infrastruktur. Durch Kontextbewusstsein lokalisieren Administratoren und Entwickler Probleme schnell und lösen. Echtzeit-Topologiekarten auf der Grundlage eines SSOT ermöglichen es IT-Teams beispielsweise, die Quelle von Latenzproblemen zu ermitteln und das komplexe Zusammenspiel innerhalb von Multi-Cloud-Umgebungen zu verstehen.
7. Veränderungen zulassen
Damit Observability effektiv funktioniert, sollten IT- und Unternehmensleiter die Organisation dazu ermutigen, ihre Ansätze zur Wartung und Nutzung von Anwendungen neu auszurichten. Wenn der Schwerpunkt auf kollektive Verbesserungen und Verantwortung gelegt wird, statt die Vorgehensweise von oben zu diktieren, erhöhen sich die Chancen für eine erfolgreiche Nutzung von Observability im gesamten Betrieb.