Die Anatomie der Beobachtbarkeit.
Die erste Ebene ist die Telemetrie; ohne die Telemetrie-Rohdaten gibt es keine Beobachtbarkeit. Je nach Infrastruktur und Einsatzbereitschaft gibt es viele Optionen für Tools zur Erfassung der Telemetrie-Rohdaten. Das Hauptaugenmerk auf der ersten Ebene sollte immer darauf liegen, Zugang zu qualitativ hochwertigen Telemetriedaten zu erhalten.
Die zweite Ebene ist der Storage: nicht nur, wie wir sie speichern, sondern auch, wie lange. Wenn es um die Speicherung von Daten für die Beobachtung geht, kann es schwierig sein, den richtigen Bestand zu finden. Grundsätzlich gilt: Wenn wir Daten mit hohem Download-Durchsatz effizient handhaben wollen (z. B. Rechnungsstellung für 100 % aller Mitteilungen in einer skalierten App oder sogar Messresultate mit hoher Genauigkeit wie CPU-Last oder Speicherverbrauch pro Container), müssen wir Statistiken in eine Normenreihe aufnehmen. Andernfalls verschwenden wir zu viel Zeit mit dem Überspielen und dem Storage von einzelnen Ereignissen. Und auch wenn manche meinen, dass man die Ereignisse abtasten kann, kann man bei Daten mit niedriger Frequenz, die in der Hochfrequenz versteckt sind, völlig daneben liegen. In dieser Situation ist eine spezielle Zeitreihen-DB (TSDB) gefragt: ein Datenspeicher, der speziell für die Speicherung, Indizierung und Abfrage von Normenreihen wie diesen entwickelt wurde.
Und doch! Wenn wir Daten mit hoher Kardinalität (z. B. Tags pro Kunde, eindeutige IDs für ephemere Infrastrukturen oder URL-Fragmente) verarbeiten wollen, ist eine TSDB eine absolute Katastrophe. Mit der Explosion der Tag-Kardinalität kommt eine Explosion der Normenreihen und damit eine Explosion der Kosten. Daher muss es auch eine Transaktions-DB geben; traditionell war dies eine Logging-Datenbank, obwohl es klüger ist, auf einer Transaktions-DB mit verteilter Rückverfolgung aufzubauen (mehr dazu später), die zwei Fliegen mit einer Klappe schlagen kann (Logs und Traces).
Eine Transaktions- und Normenreihe auf dem neuesten Stand der Technik zu haben, ist zwar notwendig, aber nicht ausreichend. Um die eigentliche "Beobachtbarkeit" nahtlos zu gestalten, muss auch die Datenschicht integriert und mit Querverweisen versehen werden, am besten mit einer tiefen Integration.
Die oben genannten Herausforderungen können die Beobachtbarkeit manchmal erschweren, und manchmal kann sie sich schwer fassbar anfühlen. Dies bringt uns zur dritten Ebene, den eigentlichen Leistungen, die im Bereich der Geschäftsführung einfach als Geschäftsergebnisse bezeichnet werden und einen wesentlichen Teil des Wertversprechens ausmachen, wenn wir unseren Kunden Beobachtbarkeit und Monitoring verkaufen.
Telemetrie, ob in Bewegung oder im Ruhezustand, ist nicht an sich wertvoll. Nur die darauf aufbauenden Workflows und Anwendungen können wertvoll sein. Bei der herkömmlichen Darstellung von "Beobachtbarkeit als Metriken, Logs und Traces" wissen wir jedoch nicht einmal, welches Problem wir lösen! Und schon gar nicht, wie wir es lösen.
Wenn es um moderne, verteilte Softwareanwendungen geht, gibt es zwei übergreifende Probleme, die es wert sind, mit Observability gelöst zu werden:
- Verstehen des Zustands: Das Wohlergehen eines Teilsystems mit den Zielen der übergeordneten Anwendung und des Unternehmens durch durchdachtes Monitoring zu verbinden.
- Verstehen von Change: Geplante Änderungen beschleunigen und gleichzeitig die Auswirkungen ungeplanter Änderungen abmildern.
Monitoring und Beobachtbarkeit gehen also Hand in Hand, das eine ersetzt das andere nicht, sondern ermöglicht und verbessert gemeinsam definierte Geschäftsergebnisse.
Weitere Informationen findest du unter Swisscom Public Cloud Services. Du kannst dich auch an unsere Experten wenden, die dir helfen, deine cloudbasierten Lösungen auf den Weg zu bringen.
Dies ist der erste Teil eines zweiteiligen Blogs. Im nächsten Blogbeitrag werden wir beschreiben, wie wir die Beobachtbarkeit und das Monitoring bei Public Cloud Managed Services für unsere Kunden als Teil unseres Leistungsangebots verwalten.