In den Anfangstagen schien es eine großartige Idee zu sein, eine Anwendung auf einem Windows-Server bereitzustellen. Doch dann waren die Rechenzentren mit Servern übersät, und dieses Vorgehen wurde unhandlich. Die Virtualisierung löste das Problem. Eine große Anzahl virtueller Maschinen (VMs) konnte auf einer einzigen physischen Maschine untergebracht werden. Innovationen bei virtuellen Servern führten zu einer massiven Welle der Hardwarekonsolidierung sowie zu einer deutlichen Vereinfachung der Verwaltung. Doch als die Zahl der VMs sprunghaft anstieg, wurde die VM-Ausbreitung zur nächsten Hürde. VMs ließen sich so einfach starten, dass niemand wusste, wie viele es gab, wo sie sich befanden und ob sie überhaupt noch laufen mussten. Nach und nach entwickelten sich Monitoring- und Verwaltungstools, um die IT zu unterstützen.
Nun rücken Container in den Vordergrund und drohen sogar, VMs als beste Möglichkeit zur Bereitstellung von Anwendungen und Workloads in einer cloudnativen Infrastruktur abzulösen.
Laut Gartner werden bis 2025 mehr als 85 % der Unternehmen weltweit containerisierte Anwendungen in der Produktion betreiben, gegenüber weniger als 35 % im Jahr 2019. Doch als die Zahl der Container explodierte, waren Probleme vorprogrammiert. Und erneut tauchen Monitoringtools auf, die bei der Lösung dieser Probleme helfen.
Hier sind einige der wichtigsten Trends beim Container-Monitoring:
Zahlreiche Herausforderungen bei Containern
Kubernetes und die Containerisierung im Allgemeinen sind so stark gewachsen, dass es zahlreiche Herausforderungen beim Monitoring gibt. Das Management cloudbasierter Anwendungen ist komplexer geworden, und es entstehen blinde Flecken, da die kurzlebige Natur von Containern neue Abstraktionsebenen zwischen Anwendung und zugrunde liegender Hardware einführt, die sich nur schwer nachverfolgen lassen. Herkömmliche Monitoringtools wurden weder für das größere Datenvolumen entwickelt, das von Containern erzeugt wird, noch für die einfache Portabilität so vieler voneinander abhängiger Komponenten. Um die Beobachtbarkeit der Leistung und Zuverlässigkeit von Containern sicherzustellen, werden deutlich mehr Telemetriedaten benötigt.
SaaS-Monitoringlösungen
Die gute Nachricht ist, dass eine Reihe von SaaS-Lösungen auf den Markt gekommen ist, die das Container-Monitoring unterstützen und ihre kurzlebige Natur berücksichtigen. Diese Systeme sorgen für eine bessere Beobachtbarkeit, aussagekräftigere Visualisierungen der sich ständig verändernden Container-Ökosysteme sowie einen Überblick darüber, welche zusätzlichen Komponenten zu Systemen hinzugefügt wurden, was bei Problemen passiert ist und vieles mehr.
Al Brown, CTO von Veritone, merkte an, dass es zahlreiche gute SaaS-Plattformen für das Monitoring und die Wiederherstellung von Container-Stacks gibt. Dazu gehören Dynatrace, Sysdig, Lacework, Datadog, SolarWinds und Elasticsearch.
Automatische Skalierung
Wenn nur eine überschaubare Anzahl von Containern im Einsatz ist, ist die Verwaltung relativ einfach. Doch sobald die Anzahl steigt, kann es schwierig werden, zu überwachen oder zu verwalten, wie viele Container vorhanden sind und was sie tun,
Die Anbieter-Community und die Open-Source-Community haben dank Kubernetes mit einer Vielzahl von Tools reagiert, die der IT zusätzliche Unterstützung bieten. IBM Turbonomic und Red Hat OpenShift stellen Funktionen zur automatischen Skalierung bereit, die sich um Konfiguration, Hoch- und Herunterskalierung, Leerlauf, Zuverlässigkeit und Fehlertoleranz kümmern
„Die automatische Skalierung ist eine hervorragende Möglichkeit, die gewünschte Anzahl von Containern abhängig von Auslastung oder Metriken automatisch zu erhöhen oder zu verringern“, sagte Brown.
Container-Metriken
Unweigerlich kamen bessere Tools auf den Markt, die Metriken bereitstellen, um die Überwachung der Anzahl und des Verhaltens von Containern zu erleichtern. Die Open-Source-Community hat beispielsweise Prometheus als Lösung zur Metriküberwachung bereitgestellt, die eine Facette davon darstellt und Teil der Cloud Native Compute Foundation ist.
„Prometheus wird zunehmend eingesetzt und umfasst inzwischen mehr Geschäftsmetriken“, sagte Brown. „Damit lassen sich nicht nur Ressourcen (CPU, Arbeitsspeicher usw.), sondern auch das Anwendungsverhalten und Probleme überwachen.“
Prometheus erfasst und speichert eine Reihe von Metrikdaten zu Containern und anderen Bereichen der IT-Landschaft, etwa zur Web- oder Anwendungsleistung. Diese werden mit einem Zeitstempel des Zeitpunkts gespeichert, zu dem sie erfasst wurden. Die Metriken selbst können von der IT angepasst werden, um bestimmte Aspekte des Container-Monitorings zu unterstützen. Zu den Metriken können Anfragezeiten, die Anzahl aktiver Verbindungen, aktive Abfragen, die Anzahl der Container usw. gehören.
Ereignisgesteuerte Architekturen
Ereignisgesteuerte Architekturen sind eine weitere Möglichkeit, das Container-Monitoring zu verbessern: Red Hat OpenShift hilft der IT beispielsweise dabei, lose gekoppelte und verteilte Anwendungen zu entwickeln, die über Operators mit einer Vielzahl integrierter oder von Drittanbietern bereitgestellter Ereignisquellen oder Konnektoren verbunden werden.
„Als Knative-Distribution bietet es Vorteile wie ein containerbasiertes Paketformat, die Skalierung auf null, einen ausgefeilten, auf dem HTTP-Verbrauch basierenden Mechanismus zur automatischen Skalierung, Support auf Produktionsniveau für ereignisgesteuerte, serverlose Anwendungen auf Basis von Apache Kafka sowie Unterstützung für ein Funktionsprogrammiermodell“, sagte Naina Singh, Principal Product Manager bei Red Hat.