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 mit einer Cloud-Monitoring-Lösung überwachen.

cloud workload

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, das die Analyse zahlreicher Metriken erfordert – je nach Art des Dienstes und der verwendeten Ressourcen. Manche Workloads sind CPU-intensiver, andere sind stärker auf ein effizientes Netzwerk angewiesen, und wieder andere benötigen vor allem eine hohe Reaktionsfähigkeit ohne Latenzen oder Verzögerungen.

Das Cloud-Leistungsmanagement umfasst selbstverständlich auch das Monitoring, das sich hauptsächlich auf eine Reihe von Metriken stützt. Diese Metriken haben – je nach Cloud-Anbieter und der zu überwachenden Ressource oder dem Service – unterschiedliche Bezeichnungen. Die Identifizierung dieser Metriken sollte jedoch einfach sein, da ihre Namen meistens selbsterklärend sind. Im folgenden Kapitel werden die Metriken und Nutzen für Ihr Monitoring vorgestellt. 

1. Metriken zur Ressourcenauslastung

In einer Cloud-Umgebung ist das Monitoring der Ressourcennutzung entscheidend, um operative Effizienz und optimierte Performance sicherzustellen. Zu den wichtigsten Metriken gehören die CPU-, Speicher- und Speicherplatznutzung. Sie geben Aufschluss darüber, wie effizient Ihre Cloud-Anwendung die zugrunde liegenden Ressourcen nutzt. Durch die Erfassung und Analyse dieser Leistungsdaten können Administratoren eine effektive Ressourcenallokation sicherstellen und eine Überprovisionierung als auch eine vollständige Auslastung der Ressourcen vermeiden, beides sind Faktoren, die die Systemleistung beeinträchtigen können. Metriken zur Ressourcenauslastung gehen oft Hand in Hand mit Netzwerkmetriken, da eine stabile Datenübertragung und externe Anfragen für die Performance essenziell sind. 

2. Netzwerkmetriken

Die zweite zentrale Kategorie betrifft die Netzwerkgesundheit, insbesondere Latenz, Durchsatz und Fehlerraten. Da es sich um Cloud-Anwendungen und -Ressourcen handelt, ist einstabiles Netzwerk ausschlaggebend für den Datentransfer und die Verarbeitung externer Anfragen. Wenn ein Netzwerk überlastet ist oder seine Verbindungen instabil sind, leidet die Cloud-Leistung erheblich. Daher ist es entscheidend, optimale Netzwerkbedingungen aufrechtzuerhalten und diese Metriken kontinuierlich zu überwachen.

3. Verfügbarkeits- und Uptime-Metriken

Im schlimmsten Fall kann es zu Unterbrechungen und vollständigen Ausfällen des Dienstes kommen. Ein umfassendes Monitoring muss daher die Überprüfung der Verfügbarkeit und Uptime jeder Anwendung oder Cloud-Ressource umfassen – ein Schritt, der zwar selbstverständlich wirkt, aber oft unterschätzt wird. Die meisten Lösungen für das Cloud-Performance-Monitoring oder das Application-Performance-Management unterstützen regelmäßige Ping-Anfragen, um sicherzustellen, dass diese erreichbar und aktiv bleiben. 

4. End-to-End-Latenz und Anwortzeiten von Anwendungen

Ebenfalls eng mit der Netzwerkleistung verbunden sind alle Metriken, die sich auf die End-to-End-Latenz und die Antwortzeiten von Anwendungen beziehen. Diese Metriken geben in Echtzeit Aufschluss darüber, wie lange es dauert, bis eine Benutzeranfrage beantwortet wird. Typischerweise – wenn auch nicht ausschließlich – informieren sie Cloud-Administratoren über die Netzwerkgesundheit, wobei die Ursache für  eine schlechte Leistung auch in der Anwendung selbst liegen kann. 

5. Auto-Scaling- und Queue-bezogene Metriken 

Wenn Sie ein System zur automatischen Skalierung verwenden, wie es bei Cloud-Anbietern häufig der Fall ist, sollten Sie unbedingt dessen Effizienz genau überprüfen. Dazu gehören Metriken wie die Anzahl der Instanzen, die einem System hinzugefügt oder entzogen  werden. Falls in Ihrer Architektur Warteschlangen (Queues) zum Einsatz kommen, sollten auch Queue-bezogene Metriken Teil Ihrer Monitoring-Strategie sein.

Zusammenfassung

In Bezug auf die Leistung sind dies die wichtigsten Kennzahlen, die Sie im Auge behalten sollten. Sie sind bei weitem nicht die einzigen, und je nach Ihrer Infrastruktur und den von ihr genutzten Cloud-Ressourcen können Dutzende weiterer Kennzahlen eine Überwachung wert sein. Das Monitoring der Cloud-Leistung ist ein komplexes Thema. Die Tools, die diese Aufgabe übernehmen, wie beispielsweise Checkmk, umfassen zahlreiche Prüfungen, um den Großteil der Metriken abzudecken. Für einen möglichst umfassenden Überblick über Ihre Cloud-Infrastruktur und deren Leistung, sollten Sie ein Monitoring-Tool implementieren, das Ihnen so viele Metriken wie möglich liefert. Genau das ist das Ziel von Checkmk. Checkmk unterstützt mehrere Cloud-Anbieter (AWS, Azure und GCP) und kann das Cloud-Leistungs-Monitoring für Sie übernehmen, von moderaten bis hin zu HPC-Szenarien.

FAQ

Was ist Real-User-Monitoring?

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.

Was ist Synthetic-Monitoring?

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.