SPONSORED-POST Fachbeitrag

Serverless Computing als Agilitäts-Katalysator

Uhr
von Dominik Langer verantwortet als Chief Digital & Innovation Officer den Aufbau neuer Services in den Bereichen Digitalisierung, Cloud und IT-Security bei Adesso Schweiz

Die cloud-native Softwareentwicklung mit Containern liegt voll im Trend. Es ist jedoch abzusehen, dass sich die Aufmerksamkeit in den nächsten Jahren weiter in Richtung Serverless Computing verschieben wird. Erfahren Sie mehr zu den Vor- und Nachteilen dieses aufkommenden Paradigmas.

Dominik Langer verantwortet als Chief Digital & Innovation Officer den Aufbau neuer Services in den Bereichen Digitalisierung, Cloud und IT-Security bei Adesso Schweiz. (Source: zVg)
Dominik Langer verantwortet als Chief Digital & Innovation Officer den Aufbau neuer Services in den Bereichen Digitalisierung, Cloud und IT-Security bei Adesso Schweiz. (Source: zVg)

Der Umgang mit Servern beziehungsweise serverähnlichen Konstrukten wie Containern beansprucht viel Zeit und Kosten in der Entwicklung und beim Betrieb von Enterprise-Software. Das Versprechen von «Serverless Computing» ist somit verlockend.

Was genau versteht man unter Serverless ­Computing?

Serverless Computing bezeichnet ein Bereitstellungsmodell in der cloud-nativen Softwareentwicklung, in dem einzelne Applikationsbestandteile durch eine entsprechende Plattform nur bei Bedarf ausgeführt und automatisch skaliert werden. Dabei wird nur der effektive Bedarf verrechnet. Natürlich sind auch in diesem Modell noch Server im Spiel, aber es ist der Plattform­anbieter, der sich im Hintergrund um deren Bereitstellung, Skalierung, Wartung, Kapazitätsmanagement, Backups und Disaster Recovery kümmert. Entsprechend können sich die Developer wie auch das Betriebspersonal auf wertschöpfendere Aufgaben konzentrieren.

Welche Arten von Serverless Computing gibt es?

Typischerweise wird zwischen zwei Typen unterschieden: Function-as-a-Service (FaaS) und Backend-as-a-Service (BaaS). Bei FaaS werden einzelne Code-Funktionen auf eine entsprechende Plattform hochgeladen, worauf sie ereignisbasiert ausgeführt wird. Bei BaaS werden ganze Funktionalitäten, ähnlich wie Lego­bausteine, zur Verfügung gestellt und können über ein API aufgerufen werden. Dazu gehören beispielsweise serverlose Daten­banken und Speicherdienste, Messaging-Services oder domänenspezifische Cloud-Dienste, wie solche für Identitätsverwaltung oder künstliche Intelligenz.

Fokus auf das Wesentliche

Dadurch, dass serverbezogene Aspekte von Developern wegabstrahiert werden, kann sich die Entwicklungsabteilung vollständig auf die Implementierung von Geschäftslogik und Benutzeroberflächen fokussieren. Zusätzlich kann durch die Auslagerung der Verantwortung für alle serverbezogenen Aspekte an einen externen Anbieter die organisationsinterne Komplexität verringert werden. Diese beiden Faktoren tragen massgeblich dazu bei, dass Durchlaufzeiten deutlich verkürzt werden.

Innovation durch bedarfsabhängige Verrechnung

Die führenden Hyperscaler liefern sich gegenseitig, insbesondere im Bereich neuer Technologien, ein Wettrennen mit neuen Diensten und Funktionalitäten, die oft serverlos angeboten werden. Dadurch können auch kleinere Organisationen davon profitieren, ohne sich entsprechend spezialisierte Abteilungen leisten zu müssen. Ein weiterer Riesenvorteil, gerade für kleinere und mittlere Unternehmen, ist das attraktive Kostenmodell, da nur die effektive Nutzung verrechnet wird.

Vendor Lock-in als Risiko

Doch es gibt nicht nur Vorteile: Ein Nachteil von serverlosen Diensten liegt im stärkeren Vendor Lock-in als bei container-basierten Anwendungen, da serverlose Dienste in der Regel anbieterspezifisch sind. Weitere mögliche Nachteile sind die Abgabe von Kontrolle an den Plattformanbieter bezüglich der Details der Plattform sowie mögliche Performance-Einschränkungen.

Wann ist Serverless Computing sinnvoll?

Wenn Applikationen cloud-native neu entwickelt oder modernisiert werden, sollte die Nutzung serverloser Technologien unbedingt in Betracht gezogen werden. Es ist allerdings im Einzelfall sorgfältig zu beurteilen, ob Vor- oder Nachteile überwiegen. Dabei sollten auch Hybridarchitekturen als möglicher Lösungsansatz in Betracht gezogen werden.

Webcode
DPF8_237934