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.