AWS Germany – Amazon Web Services in Deutschland
Was ist Observability und warum ist sie wichtig?
Von Purva Upasak, Axel Larsson, and Jon Steele übersetzt durch David Surey
Best Practices, Customer Solutions, Foundational (100), Management & Governance, Monitoring and observability, Technical How-to
Bevor wir Observability definieren, betrachten Sie folgendes Beispiel: Sie betreiben eine E-Commerce-Website. Sie möchten die Kundenerfahrung auf der Website sowie deren Einfluss auf den Umsatz verstehen. Sie haben festgestellt, dass lange Ladezeiten der Seiten zu einer schlechten Kundenerfahrung führen. Dies führt wiederum dazu, dass Kunden ihren Einkaufswagen verlassen und Konkurrenzprodukte kaufen.
Wenn also eine, den Verkaufsumsatz direkt beeinflussenden, Seite langsam lädt, sollten Sie schnell die Ursachen hierfür herausfinden. So sind Sie in der Lage, das Problem schnell beheben zu können, also sicherzustellen, dass die Seite schneller lädt. Weniger verlassene Einkaufswagen bedeuten einen höheren Umsatz. Langfristig möchten Sie ggf. auch überprüfen, ob Sie das Seitenlade-Probleme proaktiv verhindern können, indem Sie architektonische Änderungen vornehmen.
Observability ermöglicht Ihnen all diese Dinge. Es ermöglicht Ihnen zu verstehen, was im System passiert und warum. So können Sie sich schneller auf die Hauptprobleme konzentrieren. Wir werden unser Beispiel erweitern und erkunden, wie Observability dabei hilft, mit dem beispielhaften Vorfall auf der E-Commerce-Website umzugehen.
Ein Amazon CloudWatch Alarm [EN] wird ausgelöst, wenn die Renderzeit für die Detailseite eines Produkts den festgelegten Schwellenwert überschreitet. Amazon CloudWatch Service Lens [EN] bietet Ihnen eine ganzheitliche Anwendungssicht. Bei der Überprüfung zeigen Traces eine hohe Latenz auf der Produkt-Detailseite. Also überprüfen Sie deren Logs. Amazon CloudWatch Contributor Insights [EN] zeigt, dass die meisten Anfragen, die den Schwellenwert überschreiten, spezifische Artikel im Katalog aufrufen. Ein AWS X-Ray Trace für eine Anfrage liefert Ihnen die Produkt-ID. Der Trace bietet auch den Kontext dieser Interaktion, wie die vom Kunden übergebenen Anfrageparameter, die Aufrufe von Diensten und wie lange jede Komponente benötigte. Die Untersuchung das Trace zeigt, dass die Seite die meiste Zeit damit verbringt, auf mehrere große Bilder zu warten. Diese Informationen ermöglichen es Ihnen, sofortige Maßnahmen zu ergreifen, um diese Bilder zum Beispiel über Amazon CloudFront zu cachen oder ihre Größe zu reduzieren.
Nachdem Sie entdeckt haben, dass der Alarm durch ein plötzlich beliebtes Produkt ausgelöst wurde, untersuchen Sie weiter. Auf der Suche nach den Hauptbeiträgern zur Referrer-URL stellen Sie fest, dass der Verkehr von einer Social-Media-Seite kommt, auf der ein Influencer auf dieses Produkt verlinkt hat. Das Verständnis der Auswirkungen von Social Media auf den Absatz könnte das Entwicklungsteam dazu veranlassen, die Implementierung von zurückgestellten Funktionen oder Verbesserungen zu priorisieren. Sie könnten die Implementierung eines Content-Delivery-Netzwerks (Amazon CloudFront) priorisieren, um statischen Inhalt, wie Bilder oder Videos, mit niedrigerer Latenz auszuliefern. Oder sie könnten die Inhaltsdarstellung der Produktseite als Microservices implementieren, die es ermöglichen, dass grundlegende Inhalte unabhängig von Bild- und Videodateien geladen werden. Dies könnte auch die Marketingstrategie des Unternehmens ändern.
Was ist Observability?
Observability ermöglicht es Ihnen, Einblicke in Systeme zu gewinnen und Antworten auf Zustände mit Hilfe von Metriken, Logs oder Traces zu erlangen. Observability bietet eine ganzheitliche Sicht auf die Arbeitslast mit reichhaltigen kontextuellen Informationen. So können Sie verstehen, warum ein System Ihre Service Level Objectives (SLOs), gemessen an den Key Performance Indikatoren (KPIs), erfüllt oder nicht erfüllt. Observability wird von wichtigen Geschäfts-KPIs informiert, anstatt sich nur auf komponentenbasierte Einblicke zu konzentrieren, die sich auf Fehler, Konfiguration, Abrechnung, Leistung und Sicherheit beziehen.
Monitoring und Observability
Monitoring ermöglicht ein beobachtbares System. Systeme nutzen Monitoring, um den Systemzustand mittels KPIs zu messen, die Einblicke in beobachtbare Eigenschaften wie zum Beispiel Zuverlässigkeit, Verfügbarkeit und Leistung bieten. Ohne effektives Monitoring kann eine effektive Observability-Strategie nicht existieren.
Wie man eine Observability-Strategie aufbaut
Ihre Observability-Strategie muss von Ihren Geschäftsanforderungen ausgehen. Die Entwicklung einer rein technischen Strategie, die Ihre Geschäftsanforderungen nicht berücksichtigt, wird zu einer unvollständigen Lösung führen.
Observability erfordert zwei grundlegende Fähigkeiten. Die erste ist eine klare Abstimmung zwischen Geschäfts- und Technologieteams, um die wichtigsten Geschäftsanforderungen und -ziele zu verstehen. Ihre Anwendungsarchitektur sollte auf die Geschäftsanforderungen optimiert sein. So können Sie die KPIs identifizieren, die zur Messung und zum Aufbau der Fähigkeiten zur Überwachung erforderlich sind. Weitere Informationen zur Gewährleistung eines gemeinsamen Verständnisses zwischen Teams finden Sie unter der Operational Excellence-Säule von Well-Architected. Erfahren Sie hier, wie Sie ein Cloud Center of Excellence aufbauen [EN].
Es gibt eine zweite Anforderung. Diese besteht darin, Ihr System zu instrumentieren. Ziel ist es, die für die Überwachung erforderliche Telemetrie zu erfassen. Anschließend müssen Sie den Kontext für die Anfragen bestimmen. Diese Anfragen tragen zu den KPIs bei. Diese erfassten Daten bestehen aus Logs, Metriken und Traces. Nutzen Sie Open-Source-Standards wie OpenTelemetry über AWS Distro für OpenTelemetry oder nutzen Sie AWS-Dienste wie Amazon CloudWatch und AWS X-Ray, um Telemetrie aus Ihrer Anwendung zu erfassen. Nutzen Sie außerdem Amazon Managed Service for Grafana, um eine aggregierte Ansicht der über Amazon CloudWatch erfassten Anwendungsmetriken zu erhalten und in diese einzutauchen. Mit Amazon Managed Service for Prometheus können Sie sich in Container-Metriken vertiefen. AWS X-Ray liefert die Traces, die beschreiben, wie Anfragen durch das System laufen, sodass Sie Transaktionen über viele Komponenten hinweg untersuchen können. Mit Amazon CloudWatch können Sie außerdem Ihre Logs erforschen, analysieren und visualisieren, um Betriebsprobleme einfach beheben zu können.
Ihre KPIs und die Telemetriedaten liefern Ihnen zusammen wichtige Einblicke. Diese Einblicke ermöglichen es Ihnen, die Ursachen von Alarmen und Ereignissen schnell zu verstehen. Solche Alarme und Ereignisse können Ihre Geschäftsergebnisse gefährden. Durch das Verständnis der Ursachen können Sie rechtzeitig gegensteuern. In einer sich ständig verändernden Umgebung ist Observability unerlässlich, um das Signal-Rausch-Verhältnis bei der Überwachung zu verbessern und Ihren Teams zu helfen, sich auf das zu konzentrieren, was für Ihr Unternehmen wirklich wichtig ist.
Die Observability-Reise
Observability ist eine Reise. Ihre Observability-Strategie sollte sich im Laufe der Zeit auf der Grundlage der Erkenntnisse, die Sie aus dem Betrieb Ihrer Systeme gewinnen, weiterentwickeln. Sie müssen Ihre Telemetriequellen, Daten und Analysen abstimmen, um neue Trends oder Erkenntnisse schnell und effizient zu identifizieren. Observability-Erkenntnisse sollten genutzt werden. Ihr Ziel sollte es sein, Systemverbesserungen anzustreben. Außerdem sollten sie dazu dienen, die Art und Weise zu verbessern, wie diese Systeme instrumentiert sind. Dadurch können Ihre Geschäftsanforderungen besser unterstützt werden. Unabhängig davon, wo Ihre Teams auf der Reise stehen, gibt es zwei Möglichkeiten. Erstens: Sie beginnen gerade erst damit, eine Überwachungsstrategie zu entwickeln. Zweitens: Sie setzen bereits kontinuierliche Verbesserungen der Observability-Strategie um. In beiden Fällen sollte Ihre Überwachung und Observability auf der Unterstützung von Geschäftsanforderungen basieren. Sie sollte von den Geschäftsanforderungen ausgehen.
Die Entwicklung eines beobachtbaren Systems erfordert eine Vorabinvestition an Zeit, Ressourcen, Fähigkeiten und Tools. Möglicherweise muss sie durch kontinuierliche Investitionen aufrechterhalten werden. Eine Chancenanalyse kann Ihnen dabei helfen bestimmen, welche Observability-Vorteile für die Umsetzung priorisiert werden sollten.
Im nächsten Beitrag werden wir tiefer in die Tools und Ressourcen einsteigen, die AWS Ihnen zur Umsetzung Ihrer Observability-Strategie zur Verfügung stellt. Wir werden auch einige Geschäftsanwendungsfälle durchgehen, die den Nutzen von Observability veranschaulichen.
Erfahren Sie mehr über Observability bei AWS.
Lesen Sie im zweiten Blogeintrag dieser Reihe über die Entwicklung einer Observability Strategy
Über die Autoren
Purva Upasak ist eine leitende Kundenbetreuungsmanagerin für strategische Konten bei AWS. Sie arbeitet mit ihrem Team daran, sicherzustellen, dass Kunden die gewünschten Ergebnisse auf ihrer AWS-Reise erreichen. Als ihre Anwältin arbeitet sie mit den Kunden zusammen, um deren Anliegen zu verstehen, deren Herausforderungen anzugehen und deren Erfolg zu gewährleisten. | |
Axel Larsson ist ein Enterprise-Lösungsarchitekt bei AWS. Er hat mehreren Unternehmen dabei geholfen, zu AWS zu migrieren und ihre Architektur zu modernisieren. Axel ist leidenschaftlich dabei, Organisationen dabei zu unterstützen, ein solides Fundament in der Cloud aufzubauen, ermöglicht durch operative Best Practices. | |
Jon Steele ist ein leitender Lösungsarchitekt im AWS Well-Architected Team. Er hat mehr als 7 Jahre lang in verschiedenen Rollen bei AWS mit AWS-Kunden zusammengearbeitet, um ihnen dabei zu helfen, Operational Excellence in ihren Organisationen voranzutreiben. Er ist Co-Autor des Operational Excellence Pfeilers des Well-Architected Frameworks und arbeitet ständig daran, die Leitlinien zu verbessern, die AWS liefert, um unseren Kunden zu helfen zu lernen, zu messen und sich durch „Design mit Ops im Hinterkopf“ zu verbessern. |