alphaspirit - stock.adobe.com

Function as a Service statt manuellem Servermanagement

Die zunehmende Bedeutung von Serverless-Umgebungen verändert auch das Monitoring. Server verschwinden damit ja nicht als feste Größe, aber die Administration verlagert sich.

Schneller, besser, billiger – „Serverless Computing“, so lautet das neue Heilsversprechen für hybride und Multi-Cloud-Umgebungen. Schon mit IaaS, PaaS, SaaS und BaaS folgte ein Aha-Moment auf den nächsten, die Serie innovativer Entwicklungs- und Bereitstellungsansätze scheint anzuhalten. Und tatsächlich: Internationale Studien überschlagen sich regelrecht in ihren positiven Prognosen, die für 2019 Wachstumsraten von bis zu 75 Prozent vorhersehen. Ob die serverlose Cloud-Steuerung derart massiv an Einfluss gewinnen wird, wird sich zeigen. Klar ist auf jeden Fall, dass sie beträchtliches Potenzial zur Optimierung der Anwendungsbereitstellung mit sich bringt. Möglichkeiten, die auch die Bedeutung des Monitorings in ein neues Licht rücken.

Kurz gefasst beschreibt Serverless Computing ein Architekturkonzept, das es Entwicklern ermöglichen soll, sich auf das Wesentliche zu konzentrieren: die Implementierung anwendungsrelevanter, fachlicher Module. Umständliche Entwicklungskonzepte zur Bereitstellung von Applikationen auf schwergewichtigen Bare-Metal-Servern oder ihren komplexen, virtuellen Pendants sollen durch den Einsatz von Function-as-a-Service-Plattformen (FaaS) obsolet werden. Im Klartext bedeutet das, dass alles unterhalb der fachlichen Anwendungslogik als gegeben betrachtet wird – stattdessen liegt der Fokus auf den Funktionen, die immer dann automatisch aufgerufen werden, wenn ein vorab definierter Trigger ausgelöst wurde. In Verbindung mit dem servicebasierten Betrieb von Infrastrukturen, Plattformen, Software und Backends schließt FaaS nun eine weitere, entscheidende Lücke zu (annähernd) administrationsfreien Cloud-Umgebungen.

Serviceanfragen ersetzen komplexe Serveradministration

Entwickler und IT-Teams, die nach dem Serverless-Prinzip arbeiten, müssen sich nicht länger um die zugrundeliegende Infrastruktur kümmern, auf der sie den erforderlichen Code schreiben wollen. Das bedeutet natürlich nicht, dass der Server als physische oder virtualisierte Größe verschwindet. Seine Administration wird allerdings verlagert – und von einem externen Cloud-Service übernommen. Mussten Entwickler die vollständige Verwaltung sowie Server- und Betriebssystemwartungen bisher selbst ausführen, so können sie nun ohne Umschweife mit ihrer eigentlichen Arbeit beginnen und relevante fachliche Anforderungen umsetzen. Dieses Prinzip unterscheidet sich auf den ersten Blick kaum vom Platform-as-a-Service-Modell (PaaS). Es gibt allerdings einen bedeutenden Unterschied: Wer eine PaaS nutzt, muss innerhalb seines Programmcodes mit den APIs der Plattform interagieren und die Computing-Ressourcen manuell steuern.

Damit sollen im Bedarfsfall die notwendige Skalierbarkeit und Ausfallsicherheit der Anwendung gewährleistet werden. Innerhalb einer „Serverless Infrastructure“ wird die Kommunikation mit dem Server über Schnittstellen vollständig von einer Art Blackbox übernommen, die in Form des bereits erwähnten Cloud-Services bereitgestellt wird: Der Serverless-Service kümmert sich um die bedarfsgerechte Bereitstellung aller notwendigen Ressourcen und stellt so die Performance von Anwendungen sicher. Maßnahmen, die wie die Skalierung der Serverinfrastruktur, des Speichers, des Netzwerks und weiterer Ressourcen für ein effizientes Kapazitätsmaßmanagement unerlässlich sind, erfolgen automatisch – und stellen damit eine echte Entlastung für Programmierer und Entwicklerteams dar.

Kostenersparnis durch Pay-per-Use

Der Einsatz von Serverless-Technologien abstrahiert die Verantwortlichkeiten für das Infrastrukturmanagement und sorgt so für eine Freisetzung personeller Kapazitäten. Darüber hinaus zeigen Serverless-Frameworks auch unmittelbare finanzielle Effekte: Ihre Gebührenberechnung erfolgt per Use, also nach tatsächlichem Nutzen. Die zugrundeliegenden Server laufen nicht dauerhaft und unabhängig von ihrer Auslastung – entsprechend fallen keine Kosten für Leerlauf an. Denn im Gegensatz zu beispielsweise traditionellen PaaS-Umgebungen, die auch im Stand by-Modus Kosten generieren, werden beim Serverless Computing nur die Laufzeiten berechnet, in denen tatsächlich Code verarbeitet wird.

Stefan Marx, Datadog

„Aus der Perspektive des Monitorings kommen Systemadministratoren allerdings nach wie vor nicht ohne aussagekräftige Daten aus, die Rückschlüsse auf operationale Kennzahlen wie Anfragetakt und -anzahl, Fehler, Latenzzeiten, Logs und Anfrage-Traces liefern.“

Stefan Marx, Datadog 

Um sicherzugehen, dass Kostenbilanz eines serverlosen FaaS-Dienstes tatsächlich den Erwartungen entspricht, sollte allerdings fortlaufend überwacht werden, ob das Processing von Code und Funktionen tatsächlich den Anforderungen an die Gesamtperformance der Anwendungslandschaft entspricht. Ist die Latenz an einigen Stellen zu hoch, stellen sich niedrige Kosten gleich in einem weniger positiven Licht dar. Auf eine Überwachung der Anwendungsperformance (Workflow- und Request-Monitoring) sollten Unternehmen deshalb auch dann nicht verzichten, wenn sie ihre Anwendungen in Serverless-Umgebungen betreiben wollen.

Monitoring bleibt wichtiges Kontrollinstrument

Aus operationaler Sicht unterscheiden sich die Prozesse in einer Serverless-Umgebung deutlich von Anwendungslandschaften, die auf Servern, virtuellen Maschinen oder Containern laufen. Aus der Perspektive des Monitorings kommen Systemadministratoren allerdings nach wie vor nicht ohne aussagekräftige Daten aus, die Rückschlüsse auf operationale Kennzahlen wie Anfragetakt und -anzahl, Fehler, Latenzzeiten, Logs und Anfrage-Traces liefern. Die Analyse dieser Kennzahlen ist zum einen natürlich wichtig, um sicherzugehen, dass der gebuchte FaaS-Dienst auch tatsächlich hält, was er verspricht. Arbeitet die „Blackbox“ hinter den Funktionen und Anwendungen tatsächlich alle Requests mit der Geschwindigkeit ab, die für einen effizienten Betrieb der fachlichen Prozesse erforderlich ist? Erfolgt die Skalierung latenzfrei und bedarfsgerecht? Im Sinne eines übergreifenden Service-Provisioning-Controllings sollten Monitoring-Instrumente zuverlässig Antworten auf diese Fragen liefern – schließlich müssen die Workflows auch in einem Pay-per-Use-Modell performant erfolgen, um wirtschaftlich zu sein.

Neben dem Blick auf die „unsichtbaren“ Abläufe hinter der Funktionsbereitstellung muss das IT-Team allerdings auch die Auswirkungen der funktionsbasierten Prozesse auf die Gesamtperformance der Anwendungen im Blick behalten. Schließlich steigt die Komplexität des Monitorings mit jeder Anwendung, die serverless bereitgestellt wird – insbesondere in heterogenen und hybriden Landschaften, die unterschiedliche Konzepte vereinen. Hier müssen Trigger und Ausführung von Funktonen im Blick behalten und ausgewertet werden, um abschätzen zu können, ob etwaige Probleme in der Bereitstellungsinfrastruktur verankert oder vielleicht doch ein Fehler innerhalb eines Applikationsservice sind. Im Sinne der DevOps-Philosophie, die Anwendungsentwicklung und operative Bereitstellung in ihren Abhängigkeiten betrachtet, kann also auch bei Serverless-Ansätzen nicht vollständig auf eine Beobachtung des Gesamtsystems verzichtet werden.

Über den Autor:
Stefan Marx ist Director Product Management EMEA bei Datadog.

Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder und entsprechen nicht unbedingt denen von ComputerWeekly.de

Nächste Schritte

IT-Sicherheit in Serverless-Umgebungen umsetzen

Die Sicherheit in Serverless-Umgebungen verbessern

Was ist eigentlich Serverless Computing?

Erfahren Sie mehr über Data-Center-Betrieb