Ein Steuermann ohne Server

Serverless mit Kubernetes: Kubeless

Melanie Feldmann

© Shutterstock / gennady

Kubeless ist ein neues Serverless Framework für Kubernetes. Es bietet Auto-Skalierung, API-Routing und mehr, ohne dass sich Entwickler um die zugrunde liegende Infrastruktur kümmern müssen.

Kubeless ist als Alternative zu fission und funktion gedacht. Auch soll es besser zu Kubernetes passen als das Projekt OpenWhisk, das bei der Apache Software Foundation noch im im Inkubator steckt. Laut den Entwicklern sei Kubeless das Framework, das am nächsten an Kubernetes dran sei: „The most native of all.“ Kubeless verwendet die primitiven Datentypen von Kubernetes. Es gibt keinen zusätzlichen API-Server oder API-Router/Gateway. Das erleichtert Kubernetes-Anwendern den Umstieg auf Kubeless. Kubeless nutzt für das Event-System Kafka. Es steht auch eine Benutzeroberfläche zur Verfügung, die lokal oder im Cluster ausgeführt werden kann.

Kubeless zeichnet sich dadurch aus, dass es Custom Resource Definitions (CRD) verwendet, um Entwickler von der Notwendigkeit zu befreien, eigene API-Services zu schreiben, um benutzerdefinierte Ressourcen von Kubernetes als Funktionen zu nutzen. Dafür betreibt Kubeless einen Controller direkt im Cluster, der die benutzerdefinierten Ressourcen überwacht. Außerdem startet der Controller Laufzeitumgebungen je nach Bedarf. Der In-Cluster-Controller injiziert den Funktionscode dynamisch zur Laufzeit und sorgt dafür, dass er per HTTP oder mit Pub/Sub-Mechanismen zu erreichen ist.

Sehen Sie auch im JAX TV: Kubernetes & Docker: Das bringt die Container-Technologie für Java-Entwickler

Roadmap von Kubeless

Kubeless befindet sich im Moment noch in den Anfängen. Die Entwickler haben jedoch einen detaillierten Fahrplan und freuen sich über jede Unterstützung. Hier sind einige der wichtigsten Funktionen, die sie implementieren wollen:

  • Weitere Laufzeitumgebungen hinzufügen. Derzeit unterstützt Kubeless Python, NodeJS und Ruby.
  • Andere Messaging-Busse auf ihre Eignung prüfen (z. B. nats.io)
  • Die Laufzeitumgebungen über Prometheus auswerten, um automatisch Pods skalieren zu können
  • Die Startzeit für Funktionen optimieren
  • Verteiltes Tracing hinzufügen

Kubeless steht unter der Apache-Lizenz 2.0 und ist auf GitHub zu finden.

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

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