Was ist Cloud-Performance-Monitoring?
Unter Performance-Monitoring versteht man die Beobachtung von Metriken, die sowohl von Anwendungen als auch von Ressourcen stammen. Sie dienen dazu sicherzustellen, dass die Dienste verfügbar und stabil sind und ihre Kapazitäten optimal ausnutzen. Das Performance-Monitoring in der Cloud befasst sich speziell mit der Leistung von Anwendungen und Ressourcen in der Cloud. Es ist daher ein wichtiges Element des Cloud-Monitorings.
Tools zur Überwachung der Cloud-Leistung sammeln verschiedene Metriken, die die Performance einer bestimmten Anwendung oder eines Dienstes anzeigen. Im Idealfall erfolgt dies so nah wie möglich an der Echtzeit, wobei diese Metriken ständig aktualisiert werden, um ein Nachlassen der Leistung zu erkennen, bevor es zu Störungen kommt.
Das Performance-Monitoring in der Cloud umfasst auch das Distributed Tracing. Dies ist in einer Microservice-Architektur von entscheidender Bedeutung für das Monitoring von Anfragen oder Transaktionen, die von einer in der Cloud ausgeführten Anwendung verarbeitet werden, um wichtige Statistiken über die Leistung der Anwendung zu sammeln. Die Leistung einer Cloud-Anwendung kann oft durch diese Traces verbessert werden, was sie zu einem wichtigen Instrument für das Monitoring der Cloud-Leistung macht.
Schließlich können Service- und Ressourcen-Logs Cloud-Teams über die Leistung eines Systems, über aufgetretene Fehler und allgemeine Debugging-Details informieren, die Developer-Teams bei der Verbesserung ihrer Anwendungen helfen können. Tools zum Monitoring der Cloud-Leistung umfassen in der Regel die Überprüfung von Logs, um einen umfassenden Überblick über die Cloud-Ressourcen und -Dienste zu erhalten.
Zusammen tragen Metriken, Traces und Logs dazu bei, Admins über den Status ihrer Anwendungen und Cloud-Ressourcen zu informieren. Keines dieser Elemente sollte man ignorieren, und idealerweise sollten man alle überwachen.
Monitoring der Leistung von Applikationen
Das Cloud-Performance-Monitoring wird oft einfach als Monitoring der Leistung von Applikationen angesehen. Es ist Teil des Application Performance Managements (APM) und hat die Aufgabe, die Gesamtleistung von Softwareanwendungen zu überwachen. APM umfasst das Monitoring der Verfügbarkeit, der Benutzerfreundlichkeit und aller Aspekte, die sich auf das Benutzererlebnis auswirken könnten, und nicht nur auf die reine Leistung. APM umfasst Funktionen, wie beispielsweise:
- Digital-Experience-Monitoring (End-to-End-Monitoring der Benutzererfahrung)
- Anwendungserkennung, -Tracing und -diagnose
- Analyse von Anwendungen
APM geht somit über das reine Monitoring der Applikationsleistung in der Cloud hinaus und ist ein System, mit dem sich nicht nur die Performance von Anwendungen optimieren lässt. Es deckt zudem Nutzerprobleme auf, verbessert ihre Erfahrung, führt Diagnosen zu den Anwendungen durch und ermittelt die Ursachen von Problemen effizienter als durch ein reines Performance-Monitoring möglich wäre. APM-Lösungen helfen IT-Admins, sich einen umfassenden Überblick über die Leistungskennzahlen geschäftskritischer Anwendungen zu verschaffen, und können dabei helfen, Software zu verbessern und zu aktualisieren, die für die Infrastruktur eines Unternehmens unerlässlich ist.
Das Cloud-Performance-Monitoring ist in APM enthalten und geht über das einfache Cloud-Performance-Management hinaus. Wir werden uns hier speziell nur auf das Cloud-Performance-Monitoring konzentrieren, aber es ist wichtig zu klären, was APM ist, da dieser Begriff oft mit dem Performance-Monitoring verbunden wird.
High-Performance-Cloud-Computing
High-Performance-Computing (HPC) ist ein Begriff, der die Verarbeitung hochvolumiger Arbeitslasten, die enorme Rechenleistungen erfordern, oder die Verwaltung großer Datensätze beschreibt. Derartige Arbeitslasten werden zunehmend in die Cloud verlagert, und das High-Performance-Computing in der Cloud ist einer der Hauptnutzer von Cloud-Diensten. Dank der Skalierbarkeit und der Standardleistung vieler virtueller Server, die von Cloud-Anbietern zur Verfügung gestellt werden, ist es heutzutage für jedes Unternehmen möglich, HPC-Arbeitslasten in der Cloud auszuführen. Früher erforderten solche Arbeitslasten eine große Menge an Ressourcen, die für kleine Unternehmen wirtschaftlich und/oder technisch nicht machbar waren.
Ganz gleich, ob Sie eine hohe Verarbeitungskapazität benötigen, kurze Zeiträume mit hoher CPU-Auslastung aufrechterhalten müssen oder große Datensätze verwalten, High-Performance-Cloud-Computing ist Ihre Lösung. Die Überwachung der Cloud-Performance ist bei HPC-Workloads unerlässlich, da die Leistung beim High-Performance-Computing entscheidend dafür ist, dass die Anwendung ihre Aufgaben erfüllen kann und keine Unterbrechungen oder Ausfälle toleriert werden können. Für Cloud-Admins ist es sogar noch wichtiger als bei weniger leistungsintensiven Anwendungen, die wichtigsten Metriken einer Anwendung, die große CPU-Lasten oder Datenmengen erzeugt, im Auge zu behalten.
Cloud-Performance-Monitoring-Tools können HPC-Anwendungen mit hohem Leistungsbedarf genauso gut handhaben wie solche mit weniger hohem Bedarf. High-Performance-Computing in der Cloud ist eine zunehmende Anforderung für die heutigen Unternehmen und muss unbedingt in das Cloud-Performance-Management einbezogen werden, um sicherzustellen, dass alle HPC-Workloads mit ihrer effizientesten Leistung laufen.
Welche Metriken sind beim Cloud-Performance-Monitoring wichtig?
Die Verbesserung der Cloud-Leistung durch Monitoring ist ein komplexes Unterfangen, bei dem man je nach Art des Services und der verwendeten Ressource viele Metriken analysieren muss. Einige sind eher CPU-lastig, andere sind mehr auf ein effizientes Netzwerk angewiesen, und viele andere müssen so reaktionsschnell wie möglich sein und jede Art von Verzögerung vermeiden.
Das Cloud-Performance-Management umfasst natürlich auch das Monitoring, und diese stützt sich hauptsächlich auf eine Reihe von Metriken zur Überprüfung. Diese Metriken haben je nach Cloud-Anbieter und der genauen überwachten Ressource oder dem überwachten Dienst unterschiedliche Namen. Die Identifizierung der Metriken sollte jedoch trivial sein, da die meisten ihrer Namen selbsterklärend sind.
Die erste Kategorie von Metriken betrifft die Ressourcennutzung. Von größter Bedeutung für das Cloud-Performance-Monitoring und für das Leistungsmanagement von Anwendungen im Allgemeinen ist die Überprüfung der CPU-, Arbeitsspeicher- und Speichernutzung, auf der Ihre Anwendung läuft.. Diese Metriken werden oft mit der nächsten Kategorie zusammengetragen, die Netzwerklatenz, Durchsatz und Fehler umfasst. Da es sich um Cloud-Anwendungen und -Ressourcen handelt, ist der Zustand des Netzwerks der Schlüssel für die Übertragung von Daten und den Empfang externer Anfragen. Wenn ein Netzwerk überlastet ist oder seine Verbindungen instabil sind, kann die globale Cloud-Leistung stark leiden.
Im schlimmsten Fall kann es zu Störungen und vollständigen Unterbrechungen des Services kommen. Die Überprüfung der Betriebszeit und Verfügbarkeit einer Cloud-Anwendung oder -Ressource ist ein Schritt, der manchmal überraschenderweise als selbstverständlich angesehen werden kann. Die meisten Cloud-Performance-Monitoring-Tools oder Systeme zur Verwaltung der Applikations-Performance unterstützen das regelmäßige Anpingen von Anwendungen, um sicherzustellen, dass sie erreichbar und verfügbar sind.
Relevant für die Netzwerkleistung sind auch alle Metriken, die mit der End-to-End-Latenz und der Reaktionszeit der Anwendung zu tun haben. Diese geben in der Regel, jedoch nicht ausschließlich, Aufschluss über den Zustand des Netzwerks. Gleichzeitig können sie auch auf eine schlechte Leistung der Anwendung selbst zurückzuführen sein.
Wenn Sie ein System mit automatischer Skalierung verwenden, wie es bei Cloud-Anbietern häufig der Fall ist, sollten Sie die Metriken in Bezug auf die Effizienz überprüfen, etwa die Anzahl der Instanzen, die zu einem System hinzugefügt oder aus ihm entfernt werden. Wenn in Ihrem Fall Warteschlangen zum Einsatz kommen, sollten Sie bei Ihren Monitoring-Bemühungen auch Metriken für Warteschlangen berücksichtigen.
Dies sind die wichtigsten Metriken, die Sie im Auge behalten sollten. Sie sind aber bei weitem nicht die einzigen. Je nachdem aus welchen Cloud-Ressourcen sich Ihre Infrastruktur zusammensetzt, können noch Dutzende anderer Metriken überwachungswürdig sein. Das Cloud-Performance-Monitoring ist ein komplexes Thema, und Lösungen wie Checkmk, die sie durchführen, umfassen eine Vielzahl von Checks, um das Gros an Metriken zu erfassen. Um einen möglichst umfassenden Überblick über Ihre Cloud-Infrastruktur und deren Leistung zu erhalten, sollten Sie ein Tool einsetzen, das in der Lage ist, Ihnen so viele Metriken wie möglich zu liefern. Checkmk zielt darauf ab, genau das zu tun. Checkmk unterstützt mehrere Cloud-Anbieter (AWS, Azure und GCP) und kann das Cloud-Performance-Monitoring für Sie durchführen, von moderaten bis hin zu HPC-Szenarien.
FAQ
Real-User-Monitoring (RUM) ist eine passive Form der Überwachung, bei der alle Benutzerinteraktionen auf einer Website oder einem Server/einer cloudbasierten Anwendung aufgezeichnet werden. Die gesammelten Informationen verwendet man, um die tatsächliche Servicequalität für die Nutzenden zu bestimmen, Fehler und Verzögerungen zu erkennen und zu prüfen, ob Änderungen das Nutzererlebnis verbessert haben oder nicht.
Synthetic-Monitoring ist ein Verfahren zur Überwachung der Anwendungsleistung, bei dem Skripte verwendet werden, um die Pfade und Aktionen zu simulieren, die echte USer:innen auf einer Website oder in einer Anwendung durchführen könnten. Abhängig von vordefinierten Szenarien, wie z. B. dem geografischen Standort oder dem Gerätetyp, wird beim synthetischen Monitoring nachgeahmt, was Endnutzende tun und erleben würden. Auf diese Weise gewinnt man einen entscheidenden Einblick in die Leistung und Reaktion der Anwendung oder Website auf Eingaben.