Serverless: Apache Camel K erreicht Version 1.0.0

Die erste Major-Version der Integration-Plattform Camel K ist veröffentlicht worden. Neben Support für Visual Studio Code setzen die Entwickler auf Quarkus.

In Pocket speichern vorlesen Druckansicht
Kamel trinkt aus Plastikflasche

(Bild: Iflwlou)

Lesezeit: 3 Min.
Von
  • Madeleine Domogalla
Inhaltsverzeichnis

Die Apache Software Foundation hat das erste Major-Release zu Camel K, einer offenbar "leichtgewichtigen" Cloud-Integration-Plattform, angekündigt. Sie basiert auf dem Apache-Camel-Framework in Version 3.3.0. Die Plattform läuft nativ auf Kubernetes und OpenShift und ist vor allem für Serverless- und Microservice-Architekturen ausgelegt.

Nicola Ferraro, Mitbegründer der Plattform, beschreibt den Entwicklungsstil von Camel K als minimalistisch. Es reicht offenbar aus, nur eine einzige Datei in einer Integrationsumgebung zu schreiben, die sich dann direkt auf Kubernetes-Clustern ausführen lässt. Diese Art, Dinge zu definieren, sei bei vielen Function-as-a-Service-Plattformen (FaaS) üblich. Allerdings handelt es sich bei Camel K wohl um "keine richtige FaaS-Plattform", sondern um eine Integrationsplattform.

Die Entwickler wollen es geschafft haben, Entwicklern IDE-Unterstützung wie Code-Vervollständigung und Ähnliches anzubieten, was sich bei FaaS-Plattformen wohl als schwierig herausstellt. Camel K hält hier einige Erweiterungen für Visual Studio Code bereit. Entwickler müssen sich nicht an die Camel-DSL-Syntax erinnern, da die IDE ihnen Vorschläge macht und Fehler hervorhebt. Die Auswahl der Programmiersprachen ist dabei nicht nur auf Java beschränkt.

Camel K lässt sich sowohl mit als auch ohne Serverless Functions nutzen. Um die Plattform "serverlos" zu nutzen, muss das Serverless-Profil in Camel K aktiviert und Knative installiert sein. Die Entwickler geben an, in vorherigen Versionen bereits Unterstützung für die neusten Weiterentwicklungen in Knative hinzugefügt zu haben. Demnach ist Camel K gut in den Knative-Event-Broker integriert. Entwicklern ist es möglich, Events daraus zu erstellen und zu nutzen. Dafür sind offenbar nur die folgenden zwei Zeilen Code nötig, wie das Beispiel aus den Release Notes zeigt:

bridge.groovy
from('paho:mytopic?brokerUrl=tcp://broker-address:1883&clientId=knative-bridge')
.to('knative:event/device-event')

Schreibt man diese beiden Zeilen in eine Datei und führt sie mit kamel run bridge.groovy aus, lassen sich offenbar Daten in den Knative-Broker pushen. Camel K hält darüber hinaus weitere Funktionen, wie eine eingebettete automatische Skalierfunktion und Überarbeitungen an der Kompatibilität und der Leistung bereit.

Im Rahmen des Releases verweist Ferraro auf Camel Quarkus, ein kürzlich gestartetes Unterprojekt von Apache Camel. Das Projekt verfolgt das Ziel, Integrationen auf dem Framework Quarkus laufen zu lassen. Das nun vorliegende erste Major-Release von Camel K unterstützt Camel Quarkus im JVM-Modus. Die Entwickler planen für die kommenden Versionen eine native In-Cluster-Kompilierung für einige DSL-Sprachen (z. B. Yaml) zu integrieren.

Mit Camel K 1.0.0 müssen Entwickler wohl Anwendungen, die auf Kubernetes laufen, nicht in ein Container-Image verpacken. Es reicht aus, die Integrations-DSL zur Verfügung zu stellen. Der Operator übernimmt das, was nötig ist, um die Anwendungen auszuführen, einschließlich der Erstellung von Images direkt im Cluster.

Interessierte können das neue Camel K über GitHub herunterladen und ausprobieren. Weiterführende Informationen finden sich neben GitHub in den Release Notes.

(mdo)