Mit DevSpace, Eclipse Che und Apache Gradle gibt es drei interessante Open-Source-Tools, um Microservices und Apps für Kubernetes zu entwickeln und bereitzustellen. Wir zeigen hier die drei Lösungen im Vergleich zu Apache Ant und Apache Maven.
Eclipse Che ist eine Kubernetes-native Entwicklungsumgebung für ganze Teams.
(Bild: Eclipse.org)
Geht es um die Entwicklung von Microservices in Zusammenhang mit Kubernetes, kommen Entwickler um Zusatztools, die entsprechend optimiert sind, kaum herum. Wir sehen uns in diesem Beitrag drei Lösungen an, die bei der Bereitstellung von Apps und Microservices in Kubernetes unterstützen.
Die drei Tools, die wir in diesem Beitrag vorstellen, lassen sich gemeinsam einsetzen und ergänzen sich in ihrer Funktionalität. Alle drei Tools arbeiten nicht nur mit lokalen Kubernetes-Clustern zusammen, sondern können auch in der Cloud problemlos in Azure, AWS oder GCP zum Einsatz kommen. Public Clouds eignen sich dafür ebenso wie private und hybride Umgebungen. Auch OpenShift ist kein Problem für DevSpace, Eclipse Che und Apache Gradle.
Kubernetes-Apps mit DevSpace entwickeln und bereitstellen
Bei DevSpace handelt es sich um ein Open Source-Tool für die Entwicklung von Apps für Kubernetes. Das Tool bindet sich als Client an den Cluster an – unabhängig davon, ob dieser in der Cloud oder lokal betrieben wird. Das bedeutet, dass auf dem Cluster selbst keinerlei Installation notwendig ist. DevSpace funktioniert ähnlich wie kubectl, bietet aber weit aus mehr Möglichkeiten.
Mit dem Tool können Entwickler über ihren aktuellen Kube-Kontext auf den Cluster zugreifen, genauso wie mit kubectl oder helm. Nach der Installation der DevSpace-CLI auf einem Kubernetes-Client oder Entwickler-Rechner, stehen verschiedene Optionen für den Zugriff auf den Cluster zur Verfügung. Mit „devspace deploy“ lassen sich Images automatisiert bereitstellen, parallel zum Einsatz mit Docker.
Im Rahmen der Image-Erstellung automatisiert DevSpace auch das Erzeugen und Verwalten der Image-Tags. Falls notwendig, kann DevSpace Images auch in Container-Registries übertragen. Für diese Vorgänge arbeitet DevSpace mit verschiedenen Entwicklungstools zusammen und kann auch skriptbasiert ausgeführt werden.
Die Steuerung erfolgt mit einer devspace.yaml-Konfigurationsdatei. Diese ermöglicht auch das Definieren von Abhängigkeiten zwischen Images in verschiedenen Repositories. Durch diese Möglichkeiten lassen sich DevSpace und die verwendeten Images auch sehr einfach in CI/CD-Umgebungen integrieren.
Mit „devspace dev“ steht eine weitere Funktion zur Verfügung. Mit dieser Technologie ist es möglich, Container in Echtzeit zu aktualisieren, während der Code für den Container noch in der Entwicklung ist. Mit „devspace dev“ lassen sich Anwendungen bereitstellen gleichzeitig eine Echtzeitverbindung zu den bereitgestellten Containern aufbauen.
Quellcodeänderungen erkennt DevSpace, synchronisiert sie mit den laufenden Containern und baut die jeweilige Anwendung neu oder startet sie erneut. Das erspart die ständige Aktualisierung von Images und die damit notwendige Neuerstellung von Containern. Durch den bidirektionalen Dateisync und Hot Reloading lassen sich neue Versionen sehr viel schneller bereitstellen.
Weitere Optionen von DevSpace sind „init“, „ui“, „logs“ und „enter“. Mit „init“ können neue Projekte in Sekunden für die Bereitstellung in Kubernetes vorbereitet werden, „logs“ ermöglicht das Streamen der Protokolle von Containern. Eine Liste aller Container zeigt DevSpace mit „enter“ an und mit „ui“ eine lokale Verwaltungsoberfläche für die Bereitstellung von Anwendungen in Kubernetes.
Eclipse Che – Open Source-Workspace-Server für Entwickler
Bei Eclipse Che handelt es sich um eine kostenlose Entwicklungsumgebung mit Open-Source-Lizenz auf Basis von Java, die sich für die Entwicklung von Microservices mit Kubernetes eignet. Im Gegensatz zur Eclipse IDE ist Che für Container optimiert und kann eigene Container erstellen und verwenden.
Die wichtigsten Grundlagen von Che sind ein Workspace-Server und ein webbasierter Editor. Auch ein SDK ist Bestandteil von Che. Mit der RESTful-API bieten die Komponenten, vor allem der Workspace-Server, eine flexible Umgebung, die sich leicht an die eigenen Anforderungen anpassen lässt.
Die Workspaces in Che entsprechen Pods in Kubernetes. Wie Devspace auch, kann Eclipse Che nicht nur bei lokalen Kubernetes-Clustern zum Einsatz kommen, sondern auch in Cloud-Plattformen wie Microsoft Azure, AWS oder GCP. Auch in OpenShift kann Eclipse Che genutzt werden.
Die einzelnen Werkzeuge in Eclipse Che werden als Container bereitgestellt. Das hat den Vorteil, dass die Komponenten voneinander getrennt sind und eigene Arbeitsbereiche nutzen können. Durch die Trennung ist es auch möglich, alle Komponenten separat zu konfigurieren und zu aktualisieren. Anpassungen einer Komponente haben keinen Einfluss auf die anderen Container und den darin betriebenen Tools und Plug-ins von Che.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Für die Verwendung im Kubernetes-Cluster ist auf den lokalen Rechnern keine Kubernetes-Installation notwendig. Der Che Workspaces Controller ist die zentrale Steuerung, die über die Kubernetes-API Zugriff auf die Komponenten nimmt. Installation und Konfiguration können mit dem Befehlszeilentool „chetl“ erfolgen, das an „kubectl“ erinnert.
Apache Gradle im Vergleich zu Ant und Maven
Apache Gradle ist ein Build-Automatisierungstool für Kubernetes. Die Funktionen sind ähnlich zu Apache Ant und Apache Maven. Die drei Tools kommen besonders häufig zum Einsatz, wenn eine Bereitstellung auf Basis einer JVM erfolgen soll. Apache Ant (Another Neat Tool) ist eine seit Jahren bekannte Java-Bibliothek zur Automatisierung von Build-Prozessen für Java-Anwendungen.
Apache Maven ist ein Abhängigkeitsmanagement- und Build-Automatisierungstool, das ebenfalls hauptsächlich für Java-Anwendungen verwendet wird. Beide Lösungen bieten Vor- und Nachteile, und kommen in vielen Umgebungen zum Einsatz. Maven ermöglicht eine Standardisierung von Build-Dateien. Die engeren Konventionen von Maven bedeuten weniger Flexibilität als bei Ant. Das Erstellen von benutzerdefinierten Build-Skripten ist im Vergleich zu Ant bei Maven schwerer.
Apache Gradle ermöglicht die Verwaltung von Abhängigkeiten und zur Automatisierung von Builds. Dabei basiert das Open Source-Projekt auf Konzepten von Ant und Maven. Das Tool verwendet im Gegensatz zu Ant und Maven keine XML-Dateien. Gradle nutzt entweder Groovy oder Kotlin. Die Konfigurationsdateien werden dadurch kleiner und übersichtlicher.
Im Gegenzug bietet Gradle selbst zunächst wenige Funktionen. Die Erweiterung findet mit Plug-ins statt. Gradle ist oft schneller als Maven, da das Tool inkrementelle Builds ermöglicht. Außerdem bietet Gradle moderne Analyse- und Debugging-Dienste. Bei der Bedienung ist Gradle komplexer, vor allem wenn Entwickler nicht mit Groovy oder Kotlin vertraut sind.