Skip to main content
swissICT Booster  |  M&F Academy  |  M&F Events   |  +41 44 747 44 44  | 
4 Minuten Lesezeit (891 Worte)

Cloud Application Monitoring at M&F

Das Industrial IoT Team der M&F entwickelt zusammen mit den Kunden digitale Services (technisch SaaS) auf Basis vom IIoT Lösungsbaukasten flexiot. In diesem Blog-Beitrag zeigen wir, wie wir durch automatisches Monitoring die Qualität und Verfügbarkeit unserer Services sicherstellen und welche Herausforderungen wir dabei sehen.

Als Anbieter von IoT-Lösungen insbesondere Monitoring-Software ist die Prämisse klar: Wir müssen garantieren, dass unsere Kunden den Service immer und zu jeder Zeit benutzen können. Dafür schliessen sie Wartungsverträge ab. So sichern sie sich gegen gewisse Risiken ab. M&F versucht deshalb Probleme in unseren Systemen möglichst frühzeitig zu erkennen, sodass wir präventiv und nicht erst reaktiv handeln können.

Grob kann man die Monitoring-Aufgaben in drei Teilgebiete unterteilen:

  • Application Monitoring
  • Container Monitoring
  • Security Monitoring

 

Application Monitoring

Tritt in einer Applikation ein Fehler auf, sind viele Benutzer frustriert. Dies gilt es zu verhindern. Leider ist es auch so, das viele Benutzer die Applikation in einem solchen Moment einfach neu laden und sich kaum die Mühe machen, den Fehler bei den Entwicklern zu melden. Die Aufgabe der Softwarebetreiber ist es deshalb, ein automatisches System einzurichten, in dem sie über alle besonderen Vorkommnisse in den laufenden Applikationen übersichtlich und zeitnah informiert werden.

Im Rahmen eines Application Monitoring Konzepts können verschiedene Sachverhalte geloggt werden:

  • Wie viele fehlgeschlagene Loginversuche gibt es?
  • Wie lange braucht die Applikation, um einzelne Anfragen zu bearbeiten?
  • Wie viele Anfragen muss die Applikation momentan bearbeiten?
  • Gibt es Belastungsspitzen?
  • Treten unerwartete Fehler auf?

All diese Indikatoren können auf ganz unterschiedliche Probleme hindeuten. Unser Ziel als Softwarebetreiber ist es, diese Problem zu beheben, bevor die Kunden etwas davon merken.

Diese Art des Monitorings ist nicht neu und wird schon lange gemacht. Die Herausforderung in Zeiten der Cloud ist aber, dass nun verschiedene Instanzen der gleichen Applikation möglichst gleichzeitig überwacht werden sollen. Dies erfordert ein zentralisiertes Logging und Monitoring. Die Tools, die man in diesem Bereich einsetzen kann, sind vielfältig. Sie reichen von Open Source Lösungen wie Prometheus über Angebote wie Azure Monitor bis hin zu spezialisierten Anbietern wie Stackify. Fest steht aber: In einer professionellen Applikation ist Logging und Monitoring ein Muss.

 

Abb. 1: Prometheus-Architektur. Quelle: prometheus.io

 

 Mehr Infos zu: How to Install Prometheus and Grafana

 

Container Monitoring

In der Cloud werden Applikationen in vielen Fällen mit Kubernetes Clustern betrieben. Beim Container Monitoring will man nun eine Übersicht darüber erhalten, wie der Zustand dieser Container ist:

  • Wie viel CPU Leistung brauchen sie?
  • Wie viel des zugewiesenen Speicherplatzes haben sie schon verbraucht?
  • Wie viele Pods sind momentan aktiv?

Das Ziel dieser Art der Überwachung ist es, allfälligen Ausfällen vorzubeugen, die passieren könnten, wenn die CPU überlastet ist oder der gesamte erlaubte Speicherplatz verbraucht wurde. Gerade bei digitalen Services kann es sein, dass sie schnell skalieren müssen, wenn sie den Durchbruch geschafft haben und bei den Kunden explosionsartig eine grosse Nachfrage nach dem Produkt entsteht. Es wäre extrem hinderlich, wenn genau in diesem Moment die Server überlastet sind. Umgekehrt will man aber einem Cluster auch nicht unbegrenzt Ressourcen zur Verfügung stellen, da eine Fehlkonfiguration dazu führen könnte, dass massive Kosten gegenüber den Cloudanbietern entstehen.

In diesem Bereich kann ebenfalls die Open Source Lösung Prometheus eingesetzt werden. Wenn mit Azure gearbeitet wird, kann man aber auch mit der dort eingebauten Azure Monitor Lösung gute Ergebnisse erzielen.

 

Security Monitoring

Wenn eine Ressource im Internet verfügbar ist, dann kann sie auch von Hackern gefunden werden. Für das sichere Betreiben von Softwarelösungen ist also ausserdem ein Konzept notwendig, welches beschreibt, wie man mit einer solchen Bedrohung umgeht. Die Community der Security Experten ist sehr transparent. Oft werden die neuesten Erkenntnisse zu Sicherheitslücken zeitnah publiziert. Dies geschieht mit CVEs (Common Vulnerabilities and Exposures). Diese werden in öffentlich einsehbaren Datenbanken publiziert. Es ist ein Fluch und Segen zugleich: Zum einen ist man so schnell über eventuelle Sicherheitslücken informiert, zum anderen muss man davon ausgehen, dass potentielle Angreifer ebenfalls über diese Lücke Bescheid wissen.

Das Ziel muss also sein, dass man möglichst schnell auf eine neu publizierte CVE reagieren und betroffene Systeme absichern kann. Gerade in einer grösseren Applikation mit mehreren Docker Containern und Kubernetes Clustern kann es aber schwierig sein, den Überblick über alle eingesetzten Softwarekomponenten und deren Versionen zu behalten.

Hier kommt Security Monitoring ins Spiel: In der CI/CD Pipeline wird deshalb ein statischer CVE-Scanner eingesetzt. Wenn ein Docker Image gepusht und neu publiziert wird, wird es vom CVE-Scanner einer statischen Analyse unterzogen und indexiert. So kann bei jedem Docker Image geprüft werden, ob es Schwachstellen aufweist, bevor es in die Produktion geschickt wird. Durch die Indexierung kann man sich aber auch sicher sein, dass man sofort informiert wird, wenn eine neue Sicherheitslücke auftritt, die den aktuellen Tech-Stack des Produktes betrifft.

Häufig eingesetzte Lösungen in diesem Bereich sind Anchore und Claire.

Anchore-Container-Certification 

Abb. 2: Anchore Container Certification. Quelle: anchore.com

In diesem Blog-Beitrag haben wir die Aufgaben und Möglichkeiten von Cloud Application Monitoring etwas näher gebracht. Dies ist aber ein breites und komplexes Feld. Wenn Sie mehr darüber erfahren möchten, vereinbaren Sie doch eine persönliche Beratung mit jemandem von unserem IoT Team (E-Mail an ). Wir freuen uns auf herausfordernde Anfragen. 

0
How to Monitor your Azure Kubernetes Cluster
Git under the hood: Werkzeuge und Tricks für erfah...

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Samstag, 27. April 2024

Sicherheitscode (Captcha)