Serverless Computing: Fluch oder Segen?

Das Serverless-System gilt als eine der innovativsten Neuentwicklungen im Bereich cloudbasierter Anwendungen. Es gilt als ressourcenschonend und kosteneffizient. Unter Entwickler/innen wird die Innovation mit Skepsis betrachtet. Serverless Computing grenzt die Freiheit der Programmierer/innen ein, ist die Befürchtung. Was ist dieser Skepsis entgegenzusetzen und wie funktioniert eine Serverless-Lösung überhaupt?
Serverless Computing: Fluch oder Segen?
© phonlamaiphoto
Erstellt von Dietmar vor 1 Jahr
Teilen

Serverless Computing ist ein neues cloudnatives Entwicklungsmodell. Die Bezeichnung „Serverless“ ist allerdings irreführend. Webseiten ohne Server zu hosten ist ein Unterfangen, dem sicherlich nicht viel Erfolg beschert sein wird. Vielmehr geht es darum, dass beim Serverless-System Aufgaben und Kompetenzen outgesourct werden. Gedacht ist dieses Modell in erster Linie für den kurzlebigen Austausch von Daten innerhalb der Cloud. Der Fokus liegt auf dem Verarbeiten einzelner Funktionen.

Wie funktioniert Serverless Computing?

Das Unternehmen mietet die Cloudstruktur vom Anbieter. Der/die Entwickler:in bindet Software und Funktionen in die gemietete Cloud ein und muss sich um die Verwaltung der Daten nicht weiter kümmern. Anwendungsdaten werden in einem Key/Value-Datenspeicher gesichert. Aufgaben wie die Wartung des Betriebssystems, das Ausführen von Sicherheitsmaßnahmen, Skalierung oder Protokollierung werden gänzlich vom Provider übernommen. Ereignisse können veröffentlicht und anschließend asynchron verarbeitet werden. Auf diese Weise ist es möglich, asynchrone Aufgabenpipelines aufzubauen, ohne Warteschlangen erstellen zu müssen.

Serverless Computing ist eine Weiterentwicklung des Platform-as-a-Service-Modells (PaaS). Der bedeutendste Unterschied liegt darin, dass keine Arbeitsumgebung oder ein vordefinierter Speicherplatz zur Verfügung gestellt wird. Diese Ressourcen werden nur dann abgerufen, wenn sie gebraucht werden. Der Provider ist verantwortlich dafür, dass die Software funktioniert und die benötigten Ressourcen in Echtzeit zur Verfügung stehen. Serverless-Lösungen werden u.a. von Microsoft, Google, IBM oder Serverless angeboten.

Die Vorteile von Serverless Computing

Ein bedeutender Vorteil vom Serverless-Betrieb ist die hohe Fehlertoleranz. Diese wird dadurch erreicht, dass die flexible Hardwarestruktur des Providers genutzt wird. Ressourcen stehen in Echtzeit zur Verfügung und können flexibel verwaltet werden. Die Skalierung und das Kapazitätsmanagement werden automatisch vom Provider übernommen. Das spart Ressourcen und die Programmierer können mehr Zeit auf das Coden verwenden. Außerdem werden nur die Speicherressourcen in Rechnung gestellt, die tatsächlich verbraucht wurden. Vor allem für größere Unternehmen bedeutet das auf lange Sicht eine beachtliche Kostenersparnis.

Die Nachteile von Serverless Computing

Das Implementieren von Serverless-Strukturen ist ein sehr aufwendiger Prozess mit einer hohen Fehlerquote. Tiefgreifende Fehleranalysen sind oft nicht möglich. Das erschwert den Monitoring- und Debugging-Prozess. Software-Entwickler/innen können weniger autonom arbeiten, da sie auf das Betriebssystem oder die Laufzeitumgebung keinen Zugriff mehr haben. Die Serverless-Funktionen lassen sich nur in der Umgebung des Cloud-Anbieters nutzen. Die Entwickler/innen müssen sich also mit dieser Umgebung vertraut machen. Wird der Anbieter gewechselt, kann es passieren, dass sämtliche event-basierten Funktionen neu programmiert werden müssen.

Wo lässt sich Serverless Computing am besten anwenden?

Die Anwendungsmöglichkeiten sind für manche Branchen besser geeignet als für andere. Da der Fokus auf dem Ausführen einzelner Funktionen liegt, bietet sich Serverless Computing für folgende Arbeitsbereiche an:

Time Scheduling

Für zeitplanbasierter Funktionen wie Backups oder das Aufräumen von Datenbanken ist Serverless-Cloud optimal.

Backend-as-a-Service (BaaS)

Unter diesem Begriff versteht man das Programmieren und Betreiben des gesamten Backends in der Cloud.

Virtuelle Assistenten

Aufgrund ihrer Struktur bietet die Serverless-Technik hervorragende Möglichkeiten, um Chat-Bots oder digitale Sprachassistenten zu implementieren.

Weiterverarbeitung von Daten

Egal, ob es sich um strukturierte oder unstrukturierte Daten handelt: Via Serverless Computing lassen sie sich mühelos strukturieren, verschieben, transkodieren oder kombinieren.

Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Gefällt dir was du siehst? Teile es!
Kontaktperson
Anica Piontek
+49 (0) 30 5 490 650-0
anica.piontek@tenmedia.de
Du hast auch ein spannendes Projekt?
Gerne bespreche ich ganz unverbindlich alle Projektdetails in einem persönlichen Gespräch.

Zufällige Beiträge

Bilder mit NFT-Zertifikat Blog > News & Trends
Ein Mann mit Bart und schwarzer Mütze sitzt in einer düsteren Werkstatt an seinem Notebook. Ein Symbolbild für Schatten-IT. Blog > Arbeitswelt & Digitalisierung

Zufällige Glossareinträge

Mitarbeiter einer Digitalagentur arbeiten an einem Laptop zusammen an einem Auftrag für Kunden. Glossar > Begriffe
Eine Frau im Schneidersitz erstellt am Laptop eine Website mit einem CMS. Glossar > Begriffe
Eine Frau sitzt am Laptop und freut sich über die vielen Möglichkeiten der Frontend-Entwicklung mit JavaScript. Glossar > Programmiersprachen