Suche
Serverless in die Multi-Cloud

Ohne Server ans Ziel: Serverless Framework unterstützt OpenWhisk

Hartmut Schlosser

Das Serverless Computing ist einer der neuesten Stile im Repertoire der Software-Architekten. Funktionen, die früher auf lokalen Servern ausgeführt wurden, werden auf externe Cloud-Dienste ausgelagert. Eine einfache Nutzung solcher Dienste hat sich das Serverless Framework auf die Fahnen geschrieben, das nun auch das IBM-Angebot OpenWhisk integriert.

Serverless = Function as a Service

Vorreiter des Serverless Computing ist – wie so oft im Cloud-Sektor – Amazon. Mit dem Angebot AWS Lambda ist es möglich, Quellcode (bzw. „Funktionen“ – daher auch die Bezeichnung FaaS – Function as a Service) beim Eintreten bestimmter Ereignisse ausführen zu lassen, etwa Änderungen von Objekten in Amazon S3-Buckets oder Aktualisierungen von Tabellen in Amazon DynamoDB.

Mehr zum Thema: Microservices-Applikationen in der AWS Cloud

Andere IT-Größen ziehen hier nach und haben ebenfalls Serverless-Dienste ins Angebot aufgenommen: Google mit seinen Cloud Functions (derzeit im Alpha-Status), Microsoft mit Azure Functions (allgemein verfügbar seit November 2016) und IBM mit OpenWhisk (allgemein verfügbar seit Dezember 2016).

Ein typisches Beispiel für eine FaaS-Funktion hat jüngst JAXenter-Autor Lars Röwekamp hier beschrieben. So könnte eine Serverless-Anwendung etwa einen Backend-Processing-Service für die Verarbeitung von Bildern nutzen:

rowekamp_lars_sw-103x130Lädt ein Nutzer ein Bild in die Cloud, könnte durch die Ablage des Bilds in das Cloud-basierten Dateisystem ein Event ausgelöst werden, das die FaaS-Funktion triggert, die dann automatisch Thumbnails oder alternative Bildformate generiert. Diese werden wiederum ebenfalls in dem Cloud-basierten Dateisystem abgelegt.

Den ganzen Artikel lesen: EnterpriseTales: Klein, kleiner, AWS Lambda

Serverless Framework

Was sich theoretisch einfach anhört, bietet in der Praxis einige Herausforderungen. So kann eine Serverless-Anwendung aus einer Vielzahl von Funktionen bestehen, deren Deployment wohl koordiniert sein will. In der Praxis werden Funktionen deshalb selten individuell deployt, sondern in Gruppen zusammengefasst, um sowohl von den Vorteilen des Serverless-Ansatzes zu profitieren als auch das Deployment überschaubar zu halten.

Zur einheitlichen Verwaltung der Funktionen stellt nun das Serverless-Framework ein Kommandozeilen-Interface zur Verfügung, mit dem sich Funktionen erstellen, deployen und aufrufen lassen. Das Framework bietet Scaffolding, Workflow-Automatisierung und Best Practices für die Entwicklung von Serverless-Architekturen.

Zwar unterstützte das Serverless Framework lange Zeit nur den AWS-Lambda-Service (ursprünglich hieß das Projekt auch JAWS). Doch prinzipiell soll hier eine Anbieter-neutrale Function-as-a-Service (FaaS) Zentrale entstehen. Mit der Integration von IBM OpenWhisk ist man diesem Ziel nun einen Schritt näher gekommen.

OpenWhisk

Bei OpenWhisk handelt es sich um einen Open-Source-Dienst, der derzeit NodeJS und Swift unterstützt. Im Gegensatz zu anderen FaaS-Anbietern liegt der Fokus auf der Container-Integration. Wenn ein Event- oder ein API-Call eine Aktion hervorruft, erstellt OpenWhisk einen Container, der die aufgerufene Aktion in einer zur verwendeten Programmiersprache passenden Laufzeitumgebung ausführt.

OpenWhisk_Arch2

Architektur-Übersicht OpenWhisk (Bild: https://developer.ibm.com/openwhisk/

OpenWhisk wurde von IBM entwickelt und ist Teil der IBM Bluemix-Plattform. Im Novemer 2016 hat IBM das Projekt an die Apache-Foundation übergeben, wo es derzeit den Inkubator-Prozess durchläuft.

Multi-Cloud

Ab sofort können Entwickler ihre Anwendungen über das Serverless-Framework also auch auf der OpenWhisk-Plattform deployen. Der Multi-Provider-Ansatz des Frameworks soll den Prozess vereinfachen, Anwendungen zwischen verschiedenen Cloud-Providern zu verschieben. Ein zweiter Stichpunkt heißt Multi-Cloud: Auch die Entwicklung von Anwendungen, die gleichzeitig von verschiedenen Serverless-Angeboten Gebrauch machen, soll möglich sein.

Wie reibungslos das tatsächlich funktioniert, werden wir in den kommenden Wochen sehen, wenn die ersten Anwendungsberichte aus der Praxis einlaufen. Auch die Beantwortung der Frage, wie stark die Nachfrage nach Multi-Cloud-Szenarien wirklich ist, steht noch aus.

Lesen Sie auch: Interview mit Niko Köbler: “Serverless lässt mich sehr schnell und ohne Kostenrisiko neue Ideen etablieren und umsetzen.”

Das Serverless Framework steht aktuell in der Version 1.6 zum Download bereit. Das folgende Video gibt eine Einführung in die Arbeit mit Serverless und OpenWisk.

Wer sich ausführlich über das Thema Serverless informieren möchte, dem sei unsere Serie „Die Serverless Cloud“ von Bart Blommaerts ans Herz gelegt:

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.