Definition „Kubernetes-native Serverless“ Was ist Kubeless?

Von zeroshope

Anbieter zum Thema

Kubeless ist ein Open-Source-Framework für FaaS-Anwendungen, das die zentralen Vorteile von Kubernetes und Serverless vereinen soll. Entwickler sollen ohne großes Vorwissen universal Anwendungen bereitstellen und ausspielen können.

Kubeless zielt darauf ab, Container mithilfe von Functions-as-a-Service bereitzustellen und zu orchestrieren.
Kubeless zielt darauf ab, Container mithilfe von Functions-as-a-Service bereitzustellen und zu orchestrieren.
(Bild: Kubeless)

Kubeless ist die Bezeichnung für eine Open-Source-Plattform. Ihr Name ist ein Hybridprodukt: Einerseits handelt es sich um ein Kofferwort aus den Begriffen „Kubernetes“ und „Serverless“; anderseits ist das „-less“ in seiner reinen Übersetzung auch als „ohne“ zu verstehen.

Der Name drückt damit aus, worum es sich bei Kubeless handelt: Container lassen sich „ohne die Nutzung der universalen Plattform Kubernetes“ bereitstellen und orchestrieren. Hierfür kommen Functions-as-a Service (FaaS), sprich Funktionen als Dienste zum Einsatz. Insgesamt vereint Kubeless also die Qualitäten von Kubernetes und Serverless.

Das Problem mit Kubernetes und FaaS

Kubernetes verlangt von seinen Nutzern umfassendes Vorwissen. Verfügen die Anwender über die entsprechende Expertise, ist der Einsatz der Plattform ausgesprochen empfehlenswert, um Container zu erzeugen sowie zu orchestrieren. Ansonsten sind FaaS-Systeme die vorteilhafteren Lösungen, da sie deutlich einfacher sind:

  • Es werden bestimmte Funktionen definiert.
  • Diese reagieren auf bestimmte Ereignisse.
  • Diese Ereignisse werden Trigger genannt und können ebenfalls festgelegt werden.
  • Aus der Summe der Funktionen entsteht eine Anwendung.

Zwei Probleme treten aber auch hierbei auf. Erstens binden sich Nutzer zwangsweise an eine bestimmte Plattform bzw. einen dahinterstehenden Anbieter. Zweitens können viele Anwender aufgrund von Verträgen sowie den Vorgaben von Regulierungsbehörden und dem Datenschutz nicht auf eine Serverless-Lösung umsteigen - oder zumindest nicht auf jede.

Kubeless als Lösung

Wer FaaS-Angebote nutzen möchte, entscheidet sich aufgrund der geschilderten Schwierigkeiten für möglichst universale Plattformen, die transparent Auskunft über ihre Infrastruktur geben. Kubeless ist deshalb ein Open-Source-Angebot, das eine Vielzahl von Programmiersprachen unterstützt, beispielsweise:

  • PHP
  • Python
  • .NET
  • JAVA
  • NodeJS
  • Go

Kubeless verfügt über Laufzeitumgebungen für die einzelnen Sprachen, um die Funktionen effektiv in implementieren zu können. Dabei handelt es sich um spezielle Container, die spezifischen Vorgaben gehorchen und dadurch den Quellcode der Funktionen übersetzen sowie ausführen können. Mit an Bord sind auch serverseitige Komponenten sowie ein Kommandozeileninstrument (statisches Binary) gleichen Namens. Dieses lässt sich über die Kubeless-Seite von Github beziehen.

Funktionen mit Kubeless erstellen

Kubeless vertraut auf die obigen Parameter Funktionserstellung. Abgelaufene Funktionen speichert das System (die runtime) zudem mit Metadaten. Diese können über eine Benutzerschnittstelle abgerufen werden. Unter „Event“ sind dabei die Trigger-Informationen gesammelt. Unter „Context“ sind alle Daten zu finden, die zur eigentlichen Funktion gehören.

(ID:48392952)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung