#

Serverless Computing - Die Zukunft der IT Infrastruktur

Unsere Kunden

#
#
#
#

Was ist Serverles Computing?

Bei Serverless Computing handelt es sich um eine spezielle IT Infrastruktur, welche Applikationen, Funktionen oder Testings ohne Prozesse, Operating Systems, direkte Server und virtuelle Maschinen ausführen kann. Serverless Computing ist ein Anwendungsgebiet von Cloud Computing. Die Begriffe Serverless Computing und Cloud Computing werden oft verwechselt und einige setzen die beiden sogar gleich. Aber die Begriffe bezeichnen unterschiedliche Technologien, besser gesagt: Serverless Computing ist eine Teildisziplin und Weiterentwicklung von Cloud Computing.

Die Bezeichnung Serverless ist etwas irreführend. Denn auch beim Serverless Computing wird ein Server benötigt. Allerdings wird dieser vom Service Provider aufgesetzt, verwaltet und skaliert. Beim Serverless Computing arbeiten die Server als physikalischer oder virtueller Host im Hintergrund und userungebunden. Die Idee hinter Serverless Computing ist, dass sich CIOs, CTOs und CFOs nicht mehr um die im Hintergrund laufenden Ressourcen sorgen müssen. Microsoft Azure Functions und AWS Lambda sind zwei wichtige Beispiele für Serverless Computing. Für die Anwender gibt es eine Auswahl an unterschiedlichen IT Infrastrukturen, die als Serverless Computing Plattform funktionieren.

In der Digitalisierung und Modern IT haben Cloud Dienste einen Siegeszug angetreten. Serverless Computing ist ein weiteres wirkungsvolles System mit hohem Potenzial. Im Folgenden geht es darum zu klären, was Serverless Computing ist, wie es verwendet wird und wo Vor- beziehungsweise Nachteile liegen.

Platform as a Service (PaaS):

Platform as a Service ist vom Cloud Computing her bekannt und gewinnt immer mehr an Bedeutung. PaaS stellt Anwendungsplattformen zur Verfügung, die unter anderem virtuelle Server, Datenbanksysteme, Storage und professionelle Tools für Deployment, Management und Development beinhalten können.

Stellenweise wird auch von einem Gegensatz zwischen PaaS und Serverless ausgegangen. Zwar ist bei beiden kein Server Management von Chief Officer Seite mehr nötig, aber Serverless hat eine hohe Skalierbarkeit und die Kosten sind gering.

Function as a Service (FaaS):

Function as a Service ist eine Plattform, wo Entwickler ihre Codes schreiben und diese vom Service Provider ausführen lassen. Entwickler laden ihre Funktionen und Codes hoch, wo sie unabhängig ausgeführt werden. Der Cloud Service Provider managt Ausführung und Scaling vollautomatisiert. Bei FaaS gibt es drei Kernkomponenten: Events, Funktionen und Ressourcen.

1) Events triggern eine bestimmte Funktion, die beispielsweise beim Upload eines Bilds oder einer Message durchgeführt wird

2) Funktionen sind unabhängige Einheiten zur Softwareverteilung, zur Verarbeitung einer Datei oder zur Erledigung terminierter Aufgaben

3) Ressourcen sind Komponenten die von den Funktionen benutzt werden – dazu zählen Dateisystemservices oder Datenbanken

Backend as a Service (BaaS):

Backend as a Service ermöglicht es dem Developer, lediglich im Frontend einer Applikation zu arbeiten – dabei benötigt es keine komplizierte Herstellung und Wartung von Backend Services. Diese werden vom Service Provider gestellt und der Entwickler benötigt lediglich die richtige App. Weiterhin können Service Provider vorgefertigte modulare Software Aktivitäten durchführen: Authentifizierung, Datenbank Management, Remote Updating, Cloudspeicherung gehören zu den Angeboten.

Viele komplexe Tasks müssen daher nicht mehr vom Developer allein erledigt werden. Anstatt Zeit für Server Management oder virtuelle Maschinen zu verschwenden, können Entwickler Applikationen dank BaaS schneller bauen und launchen.

Die Vorteile

Für Companies bringt die Serverless IT Infrastruktur einige Vorteile. Es gibt Vorteile beim Pricing, eine verringerte Time to Market, bessere Skalierbarkeit, Latenzen und Geolocation.

Beim Abrechnungsmodell kommt Serverless dem Utility Computing nahe. Das bedeutet Service Provider rechnen nur das ab, was tatsächlich verbraucht wurde. Bisher haben Server- und Cloud-Dienste wie eine Art Abodienst funktioniert, wo Server Teams permanent bezahlt wurden. Beim Kostenmodell von Serverless wird jede Ausführung einzeln abgerechnet. Je höher die benötigte Rechenleistung beim verwendet Serverless Dienst ist, desto höher wird auch die Rechnung ausfallen. Der Preis wird über Millisekunden ermittelt, welche wiederum von der verbrauchten Memory abhängen. Dieses Pricing Modell ist vor allem für jene Anwender interessant, die kurze Funktionen oder kleine Serverless Frameworks laufen lassen wollen.

Der Begriff Time to Market bezeichnet die Dauer von der Produktionsentwicklung bis zur Marktreife und Einführung des Produktes. Da dieser Prozess eher Kosten verursacht und wenig Umsatz generiert, sind eine zügige Prozessabwicklung und ein schnelles Time to Market erstrebenswert. Durch Serverless Computing wird die nötige Zeit für die Produktion wahrscheinlich verringert – das kommt natürlich auf den Use Case im Unternehmen an. Der Zeitgewinn bei Serverless entsteht dadurch, dass Programmierer in der Entwicklungsphase schnell und ortsungebunden den neuen Code testen können. Außerdem verspricht die Serverless Computing Technologie eine erhöhte Rechengeschwindigkeit im Vergleich zu traditionellen System. Dadurch können binnen Stunden neue Ergebnisse erzielt werden und die Entwicklung und Herstellung des neuen Produkts geht insgesamt schneller von statten.

Ein weiterer Vorteil ist die bessere Skalierbarkeit von Serverless Computing. Skalierbarkeit bezeichnet die Fähigkeit von Systemen zur Größenveränderung und ist ebenfalls ein wichtiger Faktor. Es ist in fast jedem Stadium eines Produktzyklus sehr wichtig, sicherzustellen, dass die eingebundene IT Hardware stabil läuft. Bei einer traditionellen IT Infrastruktur mussten die Chief Officer entscheiden, wie viele Ressourcen für ein Projekt oder ein Produkt zur Verfügung stehen. Bei Serverless werden die Ressourcen automatisch zugeteilt und die Rechenlast so wird verteilt, so dass die Anwendungen auch bei hoher Auslastung funktionieren.

Weiterhin gibt es bei Serverless verbesserte Latenzen und Geolocation, die zwei maßgeblichen Faktoren für die Skalierbarkeit sind. Die Vorteile sind vor allem bei dezentralen, großflächig agierenden Systemen zu sehen. Latenzen werden dadurch erzeugt, dass der Datenstrom eine gewisse Zeit benötigt um Daten von A nach B zu transportieren. Dadurch entsteht eine Verzögerung zwischen einer Aktion und dem daraus folgenden Ereignis. Bei Serverless sorgen die schnellen Zugriffszeiten und enger geknüpften Netzwerke dafür, dass Latenzzeiten verringert werden. Die Geolocation ist ein möglicher Faktor für diese Latenzzeiten. Über die Geolocation eines Nutzers können dessen Anfragen an einen räumlich nahegelegenen Server geschickt werden und die Reaktionszeit wird geringer.

Alle Vorteile auf einen Blick

#

Bedarf ausgerichtete Abrechnung

#

Flexible Ressourcenverwaltung

#

Schnelle Bereitstellung der Ressourcen

#

Bessere Skalierbarkeit

Was kann man mit Serverless Computing machen?

Serverless Computing ist sehr variabel und kann bei unterschiedlichen Anwendungen zum Einsatz kommen. Vor allem traditionelle Web Applikationen oder API-Schnittstellen sind Gebiete, die sich hervorragend für Serverless eignen. Weiterhin ist es möglich die Governance im Unternehmen zu automatisieren.

Web Applikationen

Web Applikationen eignen sich als gutes Anwendungsbeispiel für Serverless Computing, da die Interaktionen auf Request basieren. Bei Web Applikationen sendet ein Nutzer eine Anfrage an den Server und bekommt als Return die gewünschten Inhalte angezeigt. Die zugrundeliegende Netzwerk Infrastruktur bei Serverless erhöht die Reaktionszeiten der Systeme für den Nutzer und ermöglicht sekundengenaue Abrechnung für die Company. Weiterhin kann die IT Abteilung vom Serverless Computing profitieren. Denn die sonst fürs Installieren oder Konfigurieren benötigte Zeit fällt weg. Die Service Provider kümmern sich darum, dass die Dienste laufen und Programmierer können sich auf die Entwicklung des Codes konzentrieren.

API Applikationen

Ähnlich wie bei Web Applikationen kann Serverless Computing beim Bau von API-Schnittstellen eingesetzt werden, die für interne und externe Developer benötigt werden, um auf die Ressourcen und Daten zuzugreifen. Dafür wird ein API Gateway benötigt. Dabei handelt es sich um einen Service der Elemente zur Verfügung stellt, mit denen eigene APIs entwickelt werden können. Diese erlauben es, spezifische Endpunkte und spezifische Funktionen zur verbinden.

Ein API Gateway Service gibt es auf folgenden Cloud Plattformen
- AWS: API Gateway
- Azure: API Management

Dort gibt es eine Vielzahl an Lösungen mit Dokumentation und Beispielen für Entwicklungsschritte. Es ist möglich Serverless für API Management einzusetzen und dabei sogar mit den vorhandenen API Services weiterzuarbeiten. Diese können erweitert und verbessert werden.

Governance: Sicherheit, Kostenreduktion und Analytics

Eine Automatisierung der Governance ist sehr wirksam und hat kurze Laufzeiten. Mit Serverless Computing ist einfacher Ergebnisse zu produzieren, die die Anforderungen die Governance erfüllen. Mit Serverless können beispielsweise automatisiert Tags entfernt und hinzugefügt werden, damit die Policy eingehalten wird. Weiterhin können Prozesse nach einer spezifischen Zeit automatisch abgeschaltet oder Nodes entfernt werden, wenn sie abgeschaltet wurden.

Serverless IT Infrastructure: Die Nachteile

Bei der Serverless IT Infrastruktur handelt es sich um ein Next Generation System der Modern IT, weswegen es noch einige denkbare Nachteile geben kann. Je nach Business oder Workload kann Serverless sehr teuer sein, so dass gegebenenfalls traditionelle Systeme Kostenvorteile liegen. Außerdem besteht die Gefahr des Kontrollverlustes und ein erhöhtes Lock-in Risk.

Dadurch, dass die Kosten vom tatsächlich benötigten Rechenaufwand abhängig sind, ist es schwierig vorherzusagen wie hoch die Rechnungssummen werden. Im Vorhinein ist nicht festgelegt wie viele Anfragen ausgeführt werden. Wenn beispielsweise viele Testings vorgenommen werden oder die App oft aufgerufen wird, steigen dementsprechend die Kosten. Gerade, wenn sich ein plötzlicher Erfolg einstellt oder sich die Software Entwicklung als kompliziert herausstellt, können Projekte in die Kostenfalle tappen.

Insgesamt sind Companies, die Serverless Computing in ihre IT Infrastruktur einbinden, stärker von Drittanbietern abhängig. Da große Teile der Serverless Frameworks auf der IT Hardware von Service Providern laufen, gelten dort auch deren Bedingungen und Auflagen. Dabei besteht vor allem das Risiko, dass die Chief Officer ein Vertrauen zum Provider herstellen müssen. Microsoft Azure und AWS haben sich als zuverlässige Dienste erwiesen, wo wenig Gefahr für einen Kontrollverlust besteht.

Bei der Wahl des Serverless Computing Dienst sollten CIOs, CTOs und CFOs darauf achten, dass die möglichen Risiken gering gehalten werden. Neben den wichtigen Punkten Kostenfaktor, Rechenleistung und Zeit spielen Sicherheit und Recovery eine entscheidende Rolle. Es ist wichtig zu klären, ob das Serverless Framework die passenden Schnittstellen, Programmiersprachen, Bibliotheken und Operational Tools beherrscht.

Weiterhin gilt zu beachten, dass bei Serverless Computing, sowie bei Cloud Diensten allgemein, ein Lock-In Risk besteht. Lock-In bezeichnet generell eine enge Bindung zwischen Klient und Dienstleister, die sich in eine Art Abhängigkeitsverhältnis wandeln kann. Für Companies die mit einem Service Provider zusammenarbeiten entstehen Wechselkosten und sonstige Barrieren, die es erschweren das Produkt oder den Anbieter zu wechseln.

Es besteht also die Gefahr, dass ein Unternehmen Locked In ist, also eingeschlossen oder eingesperrt. Dann gibt es kaum noch eine Möglichkeit die IT Infrastruktur zu ändern und das Unternehmen weiterzubringen. Dies gilt es bei einem Wechsel zur Serverless zu beachten.

Fazit
Serverless Computing ist die nächste Generation der Cloud Systeme und kann als neuer Ansatz gesehen werden, wie Code geschrieben und Applikationen hergestellt werden. Entwickler können sich voll und ganz aufs Coding konzentrieren und Chief Officer müssen sich seltener mit Requirements und Konfigurationen beschäftigen. Allerdings ist die Serverless Technologie noch in der Entwicklung und Companies benötigen Experten mit langjähriger Erfahrung, damit die Einführung dieser Modern IT funktioniert.

#

Vertrauen Sie Experten

Wir wissen, wovon wir sprechen

Sind Serverless Computing Lösungen das Richtige für Ihr Unternehmen? Machen Sie jetzt den kostenlosen Check!