Serverless Computing ist eine relativ junge Innovation. Im Kern stellt es eine Abstraktionsschicht zwischen Serverressourcen und den von ihnen bereitgestellten Funktionen bereit und wird manchmal als Function-as-a-Service (FaaS) bezeichnet.
Die Funktionen des Servers werden über die Cloud bereitgestellt, um eine einfachere und kostengünstigere Möglichkeit zur Entwicklung und zum Betrieb von Anwendungen zu schaffen. Dadurch wird es einfacher, mit Servern verbundene Aufgaben wie die Bereitstellung, Skalierung und Verwaltung der für den Betrieb der Anwendung erforderlichen Infrastruktur zu erledigen.
Diese Funktionen werden den Endnutzern abgenommen und laufen automatisch im Hintergrund ab. Dadurch wird die Ressourcenzuweisung einfacher, und Entwickler können sich unter anderem auf ihre Kernaufgaben konzentrieren, statt sich mit der zugrunde liegenden Infrastruktur zu befassen, die für den Betrieb und Support ihrer Apps erforderlich ist.
Hier sind einige der wichtigsten Trends auf dem Markt für Serverless Computing:
1. Wachstum bei Serverless
Serverless Computing ist beliebt: 50 % der AWS-Nutzer gaben in einer Umfrage aus dem Jahr 2020 an, dass sie Serverless-Funktionen in gewissem Umfang nutzen.
Diese Zahl ist in den vergangenen zwei Jahren stark gestiegen.
Derzeit wird der Wert dieses sich entwickelnden Marktes auf rund 8 Milliarden US-Dollar geschätzt – gegenüber 1,9 Milliarden US-Dollar im Jahr 2016.
2. Schnellere Anwendungen
Einer der Gründe, warum sich so viele für Serverless Computing entscheiden, ist, dass sich damit Anwendungen schneller entwickeln lassen.
Da Serverless Computing den Bedarf an der Verwaltung der zugrunde liegenden Infrastruktur beseitigt, können sich an der Anwendungsentwicklung Beteiligte ohne Ablenkungen wie die Programmierung im Zusammenhang mit Speicher- und Rechenressourcen auf ihre eigentliche Arbeit konzentrieren.
„Dieser Ansatz vereinfacht den Prozess der Erstellung und Bereitstellung von Anwendungen erheblich, da Entwickler sich stärker auf den geschäftlichen Kernnutzen konzentrieren, ihre Produktivität steigern und Produkte schneller auf den Markt bringen können, weil auf Infrastruktur bezogene Verwaltungsaufgaben abstrahiert werden“, sagte Naina Singh, Principal Product Managerin bei Red Hat.
„Serverless-Funktionen gehen noch einen Schritt weiter, indem sie den typischen Netzwerkcode und anderen Boilerplate-Code überflüssig machen, der für cloudnative Anwendungen normalerweise erforderlich ist.“
3. Dynamische Skalierung
Auch die dynamische Skalierung ist ein weiterer Trend, der die Einführung von Serverless vorantreibt.
Nutzer von Serverless Computing stellen fest, dass es eine einfachere und dynamischere Skalierung ermöglicht.
So wird das Open-Source-Framework Knative von vielen Serverless-Anbietern eingesetzt, darunter Red Hat OpenShift Serverless.
Es bietet eine containerbasierte Serverless-Lösung auf Kubernetes. Dadurch kann die Skalierung auf Grundlage der tatsächlichen Nutzernachfrage erfolgen – sowohl von null an aufwärts als auch wieder zurück auf null, und das mit vergleichsweise geringem Aufwand.
4. Kostenbegrenzung
Serverless kann mitunter eine intelligente Möglichkeit bieten, Infrastrukturkosten zu begrenzen.
Da ein nutzungsabhängiges Abrechnungsmodell zum Einsatz kommt, können Entwickler und andere feststellen, dass der Kauf von Serverless-Ressourcen günstiger ist als die Wartung einer festen Anzahl von Servern.
Wenn die Rechenressourcen nur für kurze Zeit benötigt werden, warum sollte man dann intern eine unterstützende Infrastruktur aufbauen? Das eröffnet auch die Möglichkeit einer größeren Prozessunabhängigkeit.
Durch die Isolierung der verschiedenen Anwendungsteile mithilfe des ereignisbasierten Systems von Serverless Computing bleiben Fehler und andere Probleme auf einen begrenzten Bereich beschränkt. Das kann für Entwickler eine große Hilfe sein.
5. Zustandslos ja, zustandsbehaftet nein
Serverless Computing eignet sich nicht für jeden Anwendungsfall.
Zustandslose Anwendungsfälle eignen sich am besten für eine Serverless-Architektur, sagte Singh von Red Hat.
„Der Serverless-Ansatz passt zwar perfekt zu zustandslosen Anwendungen, doch zustandsbehaftete Anwendungen – etwa das Speichern des Sitzungszustands im Arbeitsspeicher zwischen zwei Anfragen – erfordern zusätzlichen Aufwand, damit sie Serverless betrieben werden können, was nicht immer möglich ist“, sagte Singh.
„Zustandslose Anwendungsfälle eignen sich am besten für eine Serverless-Architektur. Dadurch wird die Verwaltung des Zustands auf anderem Wege den Nutzern überlassen.“
Auch Anwendungen mit uneinheitlichen Zugriffseigenschaften und stark variierenden Datenverkehrsmustern eignen sich gut für Serverless-Umgebungen.
Wenn ein Unternehmen mit saisonalen und kurzfristigen Spitzen wie Feiertagen oder der Finanzberichterstattung zu tun hat, kann Serverless die Kosten senken, da das Unternehmen nur für diesen kurzen Nutzungszeitraum bezahlt.
Daher scheint Serverless Computing bei Start-ups in großer Zahl Anklang zu finden. In der Anfangsphase versuchen sie häufig, Ausgaben für Hardware zu vermeiden. Serverless bietet eine Möglichkeit, Apps zu entwickeln und anschließend eine Kundenbasis aufzubauen, die genügend Einnahmen generiert, um den Ausbau einer internen Infrastruktur zu finanzieren.
„Ein idealer Anwendungsfall für das Serverless-Paradigma sind Anwendungen mit uneinheitlichen Zugriffseigenschaften und einem sprunghaften Datenverkehr“, sagte Singh.
„Ein Geschäft, das beispielsweise Weihnachtskarten verkauft, muss im Sommer nicht für den Webshop bezahlen, wenn dieser nicht genutzt wird. Serverless-Anwendungen eignen sich auch perfekt zum Experimentieren oder zum Ausloten einer Start-up-Idee, da die Bereitstellungskosten direkt mit der Nutzungsintensität zusammenhängen und so das Investitionsrisiko minimiert wird.“
Unternehmen in stark regulierten Branchen sollten Serverless jedoch wahrscheinlich meiden, da die mandantenfähige Architektur zu Compliance-Problemen führen kann. Eine einzige Fehlkonfiguration genügt, und es kann zur Offenlegung von Daten oder zu anderen Sicherheits- beziehungsweise Compliance-Problemen kommen.