Anmerkung der Redaktion: Der nachfolgende Artikel von Steven Lemme, Senior Principal Product Manager bei Oracle, erschien ursprünglich in der 31. Ausgabe des englischsprachigen EOUC-Magazines Oraworld.
Observability und Datenbanken – Oracle-DBAs sind im Vorteil
Vielleicht gehört ihr wie ich zu den DBAs, die viel Zeit damit verbracht haben, ein IT-Operations-Management-Datenbank-Monitoring-System für die Anforderungen eures Rechenzentrums zu entwickeln, Tools zu erwerben und aufzubauen. Oder vielleicht habt ihr ein Monitoring-System geerbt, das jemand anderes aufgebaut hat und das ihr am Leben erhalten sollt. Unabhängig davon, wer es entwickelt hat, hilft es euch, alle eure Datenbanken zu überwachen, um festzustellen, ob es ein Problem gibt.
Ich treffe mich oft mit Unternehmen und höre von DBAs und IT-Betriebsmitarbeitern, dass sie die Cloud nicht nutzen, aber in anderen Bereichen ihres Unternehmens sagen mir ihre Entwickler und DevOps, dass sie die Cloud sehr wohl nutzen. Entwickler stellen Datenbanken auf Computern, VMs und Containern bereit oder nutzen Cloud-native-Datenbankdienste zur Unterstützung von Initiativen zur Anwendungsentwicklung in der Geschäftsleitung. Doch was ist mit Datenbanken, die sich nicht im Rechenzentrum befinden, sondern irgendwo in einer Cloud bereitgestellt werden? Wie werden diese Datenbanken überwacht, um sicherzustellen, dass sie verfügbar und sicher sind?
Unternehmen setzen weiterhin auf agile und moderne Entwicklungsverfahren: DevOps, CI/CD, Cloud-native-Technologien wie Microservices, Container-basierte Architekturen (Docker, Kubernetes), Serverless Functions, Cloud-basierte Datenbankdienste und Hybrid-Cloud-Konfigurationen. Entwickler stellen neue Anwendungskomponenten an so vielen Orten und so schnell wie nie zuvor bereit, dass das herkömmliche IT-Monitoring damit nicht Schritt halten kann. Entwickler benötigen außerdem eine größere Anzahl und eine bessere Qualität von Telemetriedaten, um kontextreiche, vollständig korrelierte Metriken auf mehreren Ebenen für ihre Anwendungen, Ereignisse, Protokolle, Traces, SQL-Transaktionen und Infrastrukturänderungen zu erstellen. Hier kommt Observability ins Spiel.
Observability vs. Monitoring
In der Development Community sind Datenverwaltungsdienste oder Datenbanken eine Komponente des "Stacks“ – ein Teil der Observability-Gleichung, die als Metrics Events Logs Traces (M.E.L.T.) bezeichnet wird. Die Cloud-native-Entwicklung beinhaltet die Instrumentierung von Anwendungen, um Telemetriedaten zu emittieren, wenn etwas passiert. Diese Telemetriedaten können dann in Echtzeit beobachtet werden, während die App läuft, und werden verwendet, um Konfigurationen anzupassen, damit die App reibungslos funktioniert. Dies ähnelt den Konzepten der Prozesssteuerung in der Fertigungsindustrie oder den Kulturkonzepten, die von Kanban und Deming entwickelt wurden. Die Cloud hat die Nutzung von Observability beschleunigt, da Unternehmen auf die neueste Technologie zugreifen, alle verschiedenen Daten zusammenführen, korrelieren und mithilfe von KI und Machine Learning Erkenntnisse daraus ableiten können.
Im Gegensatz dazu wurde die Mehrzahl der von der IT-Abteilung verwendeten Monitoring-Werkzeuge für Unternehmen als Netzwerk- oder Systemmanagement-Tools für Rechenzentren zur Unterstützung von Anwendungen und Datenbanken entwickelt. Innerhalb der IT Operations Community war das Simple Network Management Protocol (SNMP) eine Quelle für Telemetrie – oft verwendet, um zu überwachen, ob etwas in der Infrastruktur in Betrieb war, nicht in Betrieb ist oder sich ein Zustand geändert hat. Wenn etwas schiefläuft, werden diese Informationen verwendet, um ein Problem zu melden, damit jemand zur Diagnose und Behebung des Problems geschickt werden kann. Datenbanken und Anwendungen sind jedoch nicht mit SNMP instrumentiert, so dass die Unternehmen weitere Tools erwarben, um Anwendungen und Datenbanken weiter zu überwachen und genau zu bestimmen, wo ein Problem entstanden ist, es zu beheben und diese spezifische Komponente des Stacks zu reparieren.
DBAs, die Oracle-Datenbanken verwalten, haben festgestellt, dass dies die Datenbank mit den meisten Telemetrie-Instrumenten in der Branche ist. Mit jeder neuen Version werden noch mehr Instrumente hinzugefügt – man vergleiche nur die Dokumentation des Oracle Database 23ai Data Dictionary (2785 Seiten) mit der von Oracle Database v7 (355 Seiten). Ein Teil der Telemetrie kann durch das Schreiben eines Skripts beobachtet werden, ein weiterer Teil mit dem Oracle Enterprise Manager (der für die Verwaltung des Oracle-Stacks entwickelt wurde) und noch mehr mit Oracle Cloud Infrastructure Observability and Management.
Die Tools früherer Generationen konzentrierten sich auf die Leistung von standardmäßigen und streng kontrollierten On-Premises-Infrastrukturen. Diese Tools und Methoden waren jedoch nicht für die elastische Natur von öffentlichen, privaten, hybriden oder Multi-Cloud-Umgebungen konzipiert.
Ich rate DBAs, neugierig zu sein und nach einem Beispiel zu fragen, wenn jemand sagt, dass Monitoring und Observability dasselbe seien. Denn es gibt einen Unterschied:
Monitoring: Es ist bereits etwas Schlimmes passiert – das Monitoring basiert auf der Erfassung vordefinierter Metriken, die in der Regel mithilfe von Skripten oder Tools gesammelt werden, die eine Warnung über den Zustand einer Änderung ausgeben (es hat funktioniert/es funktioniert jetzt nicht) oder einen vordefinierten Schwellenwert erreicht haben (Bedingung wurde überschritten). Es ist etwas passiert, das Auswirkungen hat und korrigiert werden muss, damit die Auswirkungen aufhören.
Observability: Etwas Schlimmes ist im Anmarsch – Observability basiert auf der Fähigkeit, Eigenschaften und Muster zu erkennen und zu erforschen, die nicht im Voraus definiert wurden. Sie besteht aus Metrik-, Protokoll-, Tracing-, SQL- und User-Experience-Daten, die es ermöglichen, eine App und ihren Stack aktiv zu beobachten und zu debuggen, während sie in Betrieb ist, und Korrekturen vorzunehmen, bevor etwas Schlimmes passiert.
Branchenanalysten haben auch dazu geraten, nach Tool-Anbietern Ausschau zu halten, die sich selbst als Observability-Tool bezeichnen. Dies sind Tools, die nicht in die Infrastrukturplattform integriert sind. Sie sind nicht auf der Ebene der Steuerungsebene integriert oder sie sind aufgeschraubt und es fehlt ihnen eine integrierte Full-Stack-Observability über die gesamte Anwendung und ihre Infrastruktur (On-Premises, in der Cloud, Hybrid- und Multicloud).
Was bedeutet dies für DBAs?
Viele DBAs haben bereits festgestellt, dass die Problemlösung zu einem Ratespiel wird, wenn ein Entwickler ein eigenständiges APM-Tool (Application Performance Monitoring) verwendet (das keinen tiefen Einblick in die Datenbank oder die Infrastruktur hat). Allzu oft beruft sich ein Entwickler darauf, dass sein APM-Tool das Problem als SQL identifiziert hat und es Aufgabe des DBAs ist, es zu optimieren und zu beheben. Und einige DBAs, die selbst ein Tool verwenden, das keinen Einblick in die Anwendung bietet, sagen den Entwicklern, dass sie die Anwendung neu programmieren müssen. Immer mehr Monitorung-Tools hinzuzufügen, ist keine Lösung.
Für DBAs, ähnlich wie für andere Berufsgruppen, bieten neue Technologien eine Möglichkeit, etwas besser oder schneller zu machen oder etwas zu erreichen, was vorher nicht möglich war. DBAs sollten die Unterstützung ihrer VPs und Directors of Database Management für die Einbeziehung von Observability als Teil ihrer neuen Fähigkeiten anfordern. Oracle-DBAs sollten nach Möglichkeiten suchen, ihr tiefes Oracle-Datenbank-Instrumentierungs- und SQL-Wissen in Anwendungsmodernisierungs- und Cloud-Native-Projekten anzuwenden, um ihren Unternehmen einen Observability-Wettbewerbsvorteil zu verschaffen, indem sie Metrics Events Logs Traces and SQL (M.E.L.T.S) verwenden.
Es ist ein Irrglaube, dass DBAs das, was sie bereits haben, ersetzen müssen, um mit Observability beginnen zu können. Die Observability- und Management-Services von Oracle sind abonnementbasiert, so dass sie parallel zu anderen Tools eingesetzt werden können, sie können sie erweitern oder ergänzen oder sie nutzen, um Lücken zu schließen. In vielen Unternehmen haben sich so viele verschiedene Monitoring-Tools angesammelt (nach Angaben von Branchenanalysten mehr als 50), dass DBAs, ITOps und Entwickler diese oft geerbt haben, so dass Ihre Reise mit Observability mit Folgendem beginnen sollte:
- Eine Bestandsaufnahme der "technischen Schulden" der Monitoring-Werkzeuge, die das Unternehmen im Laufe der Jahre angesammelt hat (Datenbank-Monitoring, Monitoring der IT-Infrastruktur, System-Monitoring, Protokoll-Monitoring, APM-Tools, Observability-Tools usw.).
- Recherche in den Dokumentationen/Websites der Anbieter, um festzustellen, welche Versionen von Oracle-Technologien sie heute unterstützen (sicherstellen, dass sie nicht nur als "kompatibel" aufgeführt sind). Mit anderen Worten: Beurteilung der Tiefe des eigenen Oracle-Produkts oder der vorhandenen Datenbankkenntnisse (grundlegende Oracle Database 7 Single-Architektur im Vergleich zur aktuellen Oracle Database Multitenant Converged-Architektur / Oracle 23ai Data Dictionary). Ich stelle oft fest, dass DBAs sich der 10-fachen Steigerung der Oracle-Datenbank-Instrumentierung und -Telemetrie bewusst sind, aber die meisten Drittanbieter-Tools und Entwickler sind es nicht.
- Überprüfung der Dokumentation/Website/Roadmaps der Anbieter, um zu bestätigen, dass sie moderne Anwendungsbereitstellungsarchitekturen (On-Premises, Cloud, Hybrid, Multi-Cloud) unterstützen wollen.
Datenbank-Observability
Die Fehlerbehebung bei Anwendungen kann besonders schwierig und zeitaufwändig sein, wenn Probleme auf Datenbankebene auftreten. Die Datenbank-Observability geht über das herkömmliche Datenbank-Monitoring hinaus und führt einen mehrstufigen, iterativen Prozess ein, der die Erfassung relevanter Telemetriedaten, die Leistungsanalyse und das Tuning als First-class Citizens einbezieht, um die Anwendungsleistung und die Benutzerzufriedenheit zu verbessern.
Für Cloud-native-Anwendungen und Anwendungsmodernisierungsprojekte müssen DBAs über das traditionelle Datenbank-Monitoring hinausgehen und eine agile und iterative Datenbank-Observability einführen. Dies gilt vor allem dann, wenn Anwendungen nicht so funktionieren, wie sie sollten, und die Entwickler und DevOps-Teams keinen Einblick in die Datenbankebene haben oder nicht in der Lage sind, zu erkennen, ob die Ursache des Problems in einer Datenbank, in SQL oder in der Infrastruktur liegt.
DBAs selbst sollten die umfangreichen Observability-Instrumente und die Telemetrie in Oracle-Datenbanken nutzen, um die Leistung, den Zustand und die Kapazität der Datenbank zu beobachten und zu verfolgen, mit dem Ziel, eine hochleistungsfähige und verfügbare Datenbankinfrastruktur zu schaffen und zu erhalten. Darüber hinaus sollten sie ihre Development- und DevOps-Kollegen darin bestärken und beraten, diese Funktionen einzubinden, um eine durchgängige Full-Stack-Observability des gesamten Systems bis hin zu SQL (M.E.L.T. + S.) zu ermöglichen.
Ein Framework für die Beobachtbarkeit von Datenbanken bietet mehrere Vorteile:
- den allgemeinen Zustand der Datenbank auf einen Blick erkennen
- Fähigkeit, die Ressourcen je nach Arbeitsaufkommen nach oben oder unten anzupassen
- Tracking der wichtigsten Leistungsindikatoren der Datenbank und Analyse mithilfe von KI und Machine Learning
- Erkennung von Engpässen aufgrund von Datenbank- oder Systemlast durch Monitoring von CPU-Last, Speicherauslastung, Database Wait Classes und mehr
Fazit
Alle Abteilungen sollten zusammenarbeiten, um ein optimales Kundenerlebnis und den besten Geschäftserfolg zu gewährleisten. Observability trägt dazu bei, den Zeit- und Arbeitsaufwand zwischen Anwendungs-, Infrastruktur- und Betriebsteams zu verkürzen, um die Leistung zu optimieren und eine bessere Kapazitätsplanung durchzuführen, die es den Geschäftsinteressenten und Unternehmen ermöglicht, ihre Entscheidungen zur Kostensenkung und jährlichen Budgetplanung zu verbessern. Die moderne Verwaltbarkeit ist flexibler und ermöglicht es, verschiedene Umgebungen zusammenzuführen und zu verwalten, ohne das Vorhandene abreißen und ersetzen zu müssen.
Wenn Geschäftsbereiche an der Modernisierung oder Migration von Anwendungen arbeiten, ist es wichtig, die IT-Abteilung in die Projektplanung einzubeziehen, um negative Gesamtauswirkungen auf das Unternehmen zu vermeiden, die die Modernisierungsbemühungen auf verschiedene Weise behindern können.
Das Monitoring von Datenbanken in lokalen Rechenzentren scheint in Ordnung zu sein, aber je mehr Datenbanken außerhalb dieser bekannten Umgebungen in der Cloud bereitgestellt werden, desto schwieriger wird es für DBAs, die Komplexität von Hybrid- und Multi-Cloud-Umgebungen zu bewältigen und neue Herausforderungen zu meistern, für die ihre älteren Tools nicht gerüstet oder nicht ausgelegt sind.
Parallel dazu und oft in verschiedenen Organisationen oder Geschäftsbereichen denken Entwicklungs- und DevOps-Teams, dass sie alles im Griff haben, und kaufen ein weiteres Tool oder programmieren benutzerdefinierte Observability, die die vorhandene lokale Infrastruktur nicht einbezieht. Einige Mitglieder von Entwicklungsteams beziehen die IT-Abteilung oder DBAs gar nicht erst in Modernisierungsprojekte ein, weil sie denken, dass deren Aufgabe nur darin besteht, die Legacy-Infrastruktur und -Anwendungen zu verwalten.
Moderne Unternehmen benötigen eine Observability, die über die herkömmlichen Monitoring- und Erkennungsmethoden für den IT-Betrieb hinausgeht und sich über M.E.L.T. bis in die Datenbankebene erstreckt. Man sollte also sicherstellen, dass DBAs und Entwickler kollaborativ zusammenarbeiten und die neueste Technologie nutzen, um ein optimales Erlebnis für die Kunden und den besten Geschäftserfolg zu gewährleisten.
Um diese Bemühungen zu unterstützen, hat Oracle als einer der ersten in der Branche eine integrierte Observability- und Management-Plattform angeboten. Wer damit noch nicht vertraut ist, kann unter oracle.com/manageability mehr darüber erfahren. Für DBAs, Entwickler, App-Administratoren und andere Teammitglieder gibt es Blogs zur Problemlösung und kostenlose virtuelle LiveLabs Hands-on-Workshops zum Ausprobieren.


