Sergey Nivens - stock.adobe.com

Wichtige Metriken für die Überwachung von Cloud-Anwendungen

Fehlerraten, Rechenkosten, Anfragen pro Minute – es gibt viele Metriken, die für die Überwachung von Cloud-Anwendungen in Frage kommen. Aber welche davon braucht man wirklich?

Seit mehr als zwei Jahrzehnten setzen IT-Teams Tools für das Application Performance Management (APM) ein. Sie überwachen und managen damit bequem und zuverlässig lokale Anwendungen und Infrastrukturen. Wenn Unternehmen jedoch in die Cloud wechseln, müssen sich ihre APM-Strategien weiterentwickeln.

Für APM in der Cloud muss eine Organisation deutlich mehr Metriken verfolgen als für lokales APM. Außerdem sollten IT-Verantwortliche zusätzliche Überlegungen anstellen, die bei der Erfassung und Analyse von Metrikdaten in Cloud-Umgebungen zu berücksichtigen sind. Diese hängen oft mit der speziellen Situation des jeweiligen Unternehmens zusammen.

Was ist anders bei Cloud APM?

Auf den ersten Blick scheinen sich Cloud-Umgebungen und lokale On-Premises-Konfigurationen bei der Anwendungsüberwachung nicht grundlegend zu unterscheiden. Cloud-Applikationen laufen wie lokale Anwendungen nach wie vor auf Servern – zumindest normalerweise – und verarbeiten Transaktionen auf ähnliche Weise wie On-Premises-Applikationen.

Und in der Tat können Sie bestimmte Überwachungsansätze sowohl in der IT vor Ort als auch in der Cloud verwenden. Die RED-Methode beispielsweise legt den Schwerpunkt auf die Erfassung von Metriken für die Transaktionsrate, die Fehlerzahl und die Dauer, die eine Anfrage benötigt. Sie kann sowohl lokal als auch in der Cloud verwendet werden.

Cloud-Umgebungen stellen jedoch zusätzliche Anforderungen. Bei der Planung, welche Metriken überwacht werden sollen, müssen IT-Teams Folgendes berücksichtigen:

  • Verteilte Architekturen. Cloud-Umgebungen umfassen mit großer Wahrscheinlichkeit Dutzende oder sogar Hunderte einzelner Server, auf denen Anwendungen verteilt sind. Dadurch wird es wichtig, nicht nur einzelne Server, sondern ganze Cluster zu überwachen. Was in der Cloud am meisten zählt, ist der Zustand Ihres Clusters – nicht jedes einzelnen Servers darin.
  • Geteiltes Eigentum. In Cloud-Umgebungen haben Benutzer in der Regel nicht die vollständige Kontrolle über Host-Server und Betriebssysteme. Diese werden stattdessen vom Cloud-Anbieter verwaltet. Das kann die Sammlung bestimmter Arten von Daten schwierig machen. Beispielsweise können Sie bei den meisten Cloud-basierten Serverless-Compute-Services keine Betriebssystemprotokolle abrufen, da Sie keinen Zugriff auf das Betriebssystem haben.
  • Kosten. Zu großzügig bemessene Cloud-Umgebungen können die Cloud-Computing-Rechnungen in die Höhe treiben. Umso wichtiger ist es, die Cloud-Überwachung zu nutzen, um neben der Leistung auch die Kosten zu optimieren. Natürlich spielen die Kosten auch bei lokalem Betrieb eine Rolle, aber in diesem Fall ist die Over-Provisioning weniger problematisch. Denn vor Ort besteht der Großteil der Kosten eher aus Investitionsausgaben und nicht aus Betriebsausgaben.
  • Latenz. Eine niedrige Latenzzeit sollte für jede Art von Anwendung ein Ziel sein. Bei Cloud-Anwendungen kann die Latenz jedoch eine größere Herausforderung darstellen. Wenn das Cloud-Rechenzentrum weit von seinen Benutzern entfernt ist, besteht ein höheres Risiko für Latenzprobleme.
  • Lastausgleich (Load Balancing). Obwohl Sie manchmal Load Balancer für lokale Anwendungen verwenden, ist es üblicher, sie in der Cloud einzusetzen. Dort lässt sich damit der Datenverkehr zwischen mehreren Instanzen Ihrer Anwendung lenken. Dies erhöht die Komplexität des Netzwerk- und Traffic-Monitorings und fügt eine weitere Schicht hinzu.
  • Mehrere Clouds. Wenn Sie eine Multi-Cloud- oder Hybrid-Cloud-Architektur verwenden, ist es schwieriger, Ihre APM-Toolsets um einen einzigen Satz von Tools herum zu konsolidieren. Beispielsweise können Sie Amazon CloudWatch nicht allein verwenden, um alle Ihre Ressourcen zu überwachen, wenn Sie diese über mehrere Cloud-Umgebungen verteilen. CloudWatch funktioniert nur mit AWS.

All diese Unterschiede wirken sich auf den Ansatz aus, den IT-Teams bei der Überwachung und Verwaltung von Anwendungen in der Cloud verfolgen müssen.

Wichtige Cloud-Metriken

Für praktisch jede Art von Cloud-Umgebung sollten Sie folgende Arten von Metriken überwachen:

  • Anfragen pro Minute (requests per minute). Wenn Sie verfolgen, wie viele Anfragen eine Cloud-Anwendung pro Minute erhält, kennen Sie die Tageszeiten oder Wochentage, zu denen die Anfrageraten von den grundlegenden Basiswerten abweichen. Auf diese Weise kann ein Unternehmen genauer vorhersagen, zu welchen Zeiten die Kapazität für Cloud-Ressourcen erhöht werden muss. Sie können diese Art von Metrik auch verwenden, um Probleme wie DDoS-Angriffe (Distributed Denial-of-Service) zu identifizieren.
  • Zeit bis zur Bestätigung (time to acknowledge). Das Verfolgen der durchschnittlichen Zeit, die Ihre Cloud-Anwendung benötigt, um auf eine Anfrage zu reagieren, kann Probleme im Zusammenhang mit Load Balancern aufdecken, die Anfragen nicht schnell genug weiterleiten. Eine lange Bestätigungszeit kann auch auf eine Anwendung hinweisen, die zu ausgelastet ist und Schwierigkeiten hat, alle Anfragen zu bearbeiten. Die beste Übersicht erhalten Sie, wenn Sie die Time-to-Acknowledge-Metriken für jede Cloud-Region oder jede einzelne Cloud, die Sie nutzen, überwachen und vergleichen, anstatt sie nur in der Gesamtheit zu analysieren. Auf diese Weise können Sie Latenzprobleme erkennen, die möglicherweise spezifisch für eine Cloud-Region oder Cloud sind. Wenn Sie die Bestätigungszeit für den Fall vergleichen, dass eine bestimmte Anfrage von einem Content Delivery Network (CDN) bearbeitet wird und für den Fall, dass sie nicht bearbeitet wird, können Sie besser verstehen, wie Sie die Latenz am besten minimieren können.
  • Antwortdauer (response duration). Die Antwortdauer ist die Gesamtzeit, die die Anwendung benötigt, um die Rückmeldung auf eine Anfrage abzuschließen. Diese ist ebenfalls ein Indikator dafür, ob Ihre Anwendung über ausreichende Ressourcen verfügt, um den an sie gerichteten Datenverkehr zu bewältigen. Darüber hinaus können Probleme mit der Antwortdauer auf Fehler oder interne Kommunikationsprobleme innerhalb der Anwendung selbst hinweisen. Dies ist zum Beispiel dann der Fall, wenn ein Microservice nicht effizient mit einem anderen kommunizieren kann. Die Antwortdauer sollte ebenfalls pro Region und pro Cloud verfolgt werden, um einen möglichst transparenten Einblick in die Latenz zu erhalten.
  • Fehlerraten (error rates). Wie oft führt eine Anfrage zu einem Fehler? Welche Arten von Fehlern treten am häufigsten auf? Diese Metriken bieten einen weiteren Einblick in den Gesamtzustand Ihrer Anwendung sowie in die Cloud-Umgebung, in der sie gehostet wird. Fehler können ein Anwendungsproblem widerspiegeln, sie können aber auch auf Probleme mit Ihrer Cloud-Umgebung selbst hinweisen. Dies kann zum Beispiel die Nichtverfügbarkeit eines Cloud-Dienstes sein, was typischerweise ein Problem ist, das der Cloud-Anbieter lösen muss. Oder es kann eine falsch konfigurierte Zugriffsberechtigung für Dienste sein, die in Ihrer Cloud-Umgebung laufen.
  • Verfügbare Server/Knoten (server/noces available). In verteilten Cloud-Umgebungen sollten Sie nachverfolgen, wie viele Server oder Knoten innerhalb Ihres Clusters verfügbar sind - und zwar als Prozentsatz der insgesamt von Ihnen bereitgestellten Server. Obwohl Ihre Cloud-Orchestrierungs- und Automatisierungs-Tools die Anwendungen bei einem Ausfall eines Servers möglicherweise automatisch von einem Knoten auf einen anderen umverteilen, können sie dies nur so lang tun, bis keine fehlerfreien Server mehr verfügbar sind. Sie sollten deshalb wissen, wenn die Anzahl der verfügbaren Server zu stark abfällt, was auf ein ernsthaftes Problem mit Ihren Cloud-Server-Instanzen hinweisen kann.
  • Durchschnittliche Rechenkosten (average compute costs). Die Verfolgung der durchschnittlichen Gesamtkosten Ihrer Cloud-Rechenressourcen, wie zum Beispiel Virtuelle Maschinen oder serverlose Funktionen, in einem bestimmten Zeitraum hilft Ihnen bei der Kostenkontrolle. Ein Anstieg der Rechenkosten, der nicht durch einen entsprechenden Anstieg der Anwendungsnachfrage erklärt werden kann, kann zum Beispiel auf eine überprovisionierte Umgebung hinweisen, die Geld verschwendet, bis sie korrigiert wird.
  • Durchschnittliche Speicherkosten (average storage costs). Sie können auch die durchschnittlichen Kosten Ihrer Cloud-Speicherressourcen verfolgen, einschließlich Datenbanken, Objektspeicher und Blockspeicher. Auch hier gilt, dass ein Anstieg der Speicherkosten, der nicht mit dem tatsächlichen Bedarf der Anwendung zusammenhängt, auf ein Problem hinweisen kann. Beispielsweise auf ein unsachgemäßes Management des Datenlebenszyklus oder eine ineffiziente Nutzung von Datenspeicherschichten.

Zusätzliche zu berücksichtigende Cloud-Kennzahlen

Je nachdem, wie Sie Ihre Anwendungen bereitstellen und verwalten, sollten Sie auch die folgenden Metriken in Betracht ziehen, um Ihre Cloud-Anwendungen zu überwachen und die Endbenutzererfahrung zu unterstützen:

  • Deployments pro Woche (oder Tag). Wenn Sie eine CI/CD-Pipeline verwenden, um Anwendungen kontinuierlich in der Cloud bereitzustellen, können Sie anhand der Messung der Anzahl der Bereitstellungen pro Woche – oder pro Tag, wenn Sie besonders häufig bereitstellen – den allgemeinen Zustand Ihrer CI/CD-Vorgänge besser verstehen und nachvollziehen.
  • Zeit bis zum Feature-Release. Ähnlich verhält es sich, wenn Sie verfolgen möchten, wie lange Ihr Team braucht, um ein neues Feature von der Idee bis zur Bereitstellung zu bringen. Sie erhalten damit einen Einblick in die Effizienz Ihrer CI/CD-Pipeline.
  • Mittlere Zeit bis zur Fehlerbehebung. Metriken zur mittleren Zeit bis zur Problemlösung messen, wie lange Ihre Techniker brauchen, um auf Vorfälle in Ihrer Umgebung zu reagieren. Diese zu verfolgen ist in jeder Art von Umgebung wichtig. Angesichts der Komplexität von Cloud-Umgebungen und -Anwendungen kann es hier jedoch besonders wichtig sein.

Die spezifischen Metriken, die Sie konkret verwenden sollten, hängen davon ab, welche Arten von Cloud-Diensten Sie nutzen und welche Metriken diese charakterisieren. Diese Metriken variieren von einer Cloud-Plattform zur nächsten, aber sie sind in der Regel von den Cloud-Anbietern gut dokumentiert. So können sie etwa alles über die Metriken lesen, die von Amazon EC2 oder Azure Virtual Machines bereitgestellt werden, um nur zwei grundlegende Beispiele für Cloud-Dienste zu nennen.

Unabhängig von den spezifischen Cloud-Metriken, die Sie in Ihre APM-Tools aufnehmen, sollte Ihr Hauptaugenmerk darauf liegen, den Zustand komplexer, verteilter Cloud-Umgebungen zu verstehen. Sammeln Sie also Informationen, die Ihnen dabei helfen.

Sie sollten sich auch bemühen, Daten verschiedener Typen zu korrelieren und Daten über verschiedene Clouds und Services hinweg zu vergleichen. Auf diese Weise erhalten Sie einen vollständigen Einblick in die Leistungs- und Kostenprobleme, die in der Cloud auftreten können.

Wenn Sie einen detaillierten Einblick in die Vorgänge haben, sind Sie besser in der Lage, Komplikationen zu vermeiden und die Leistung Ihrer Cloud-Bereitstellung zu optimieren.

Erfahren Sie mehr über Cloud-Software