Jump to section

Warum Apache Kafka auf Kubernetes?

URL kopieren

Durch das Deployment von Apache Kafka auf einer Container-Orchestrierungsplattform wie Kubernetes können Sie event-gesteuerte Anwendungen automatisieren, skalieren und in vielen verschiedenen Umgebungen bereitstellen. Kurz gesagt, Kubernetes vergrößert die Flexibilität, die den auf Apache Kafka erstellten Anwendungen innewohnt, um ein Vielfaches.

Die Unternehmens-IT setzt vermehrt Microservices und cloudnative Entwicklung ein. Dies führt zu verteilten Systemen, die von EDAs (Event-Driven Applications) mit Daten aufgefüllt werden. In dieser dynamischen Entwicklungsumgebung nutzen viele digitale Marktführer Apache Kafka in Kombination mit Kubernetes.

Mit Apache Kafka kann ein Unternehmen in Echtzeit dargestellt und analysiert werden, und auf sich ständig verändernde Marktsituationen kann rasch reagiert werden. Es ist außerdem eine hervorragende Option, um Echtzeitverbindungen zu internen Stakeholdern und externen Partnern, Lieferanten und Kunden einzurichten und zu erhalten.

Kafka Streams, eine Funktion von Apache Kafka, die zu beliebigen Anwendungen hinzugefügt werden kann, ermöglicht eine einfache, aber leistungsstarke Stream-Verarbeitung von Kafka-Events. Diese schnelle, kontinuierliche und gleichzeitige Verarbeitung und Analyse von riesigen Datenmengen ist genau das, was Apache Kafka von anderen Messaging-Alternativen abhebt. Die Nutzenden können Events für eine In-Line-Analyse in Echtzeit selbst zusammenfassen, transformieren, anreichern und organisieren, statt darauf warten zu müssen, bis Big Data-Maschinen ihre Berechnungen abgeschlossen haben. Dies macht Apache Kafka für Anwendungen unerlässlich, die eine rasche Reaktion auf Echtzeitdaten erfordern.

Das Produkt bildet die ideale Basis für eine cloudnative Entwicklung. Cloudnative Anwendungen sind event-gesteuert, und Apache Kafka ist optimal für die Verwaltung von Events geeignet. Egal ob es um verteiltes Streaming, Echtzeitverarbeitung oder hohe Skalierbarkeit geht – mit Apache Kafka werden diese event-gesteuerten Funktionen unterstützt.

Die Serverless-Architektur, der Schritt nach der cloudnativen Entwicklung, ist ebenfalls event-gesteuert und wird auch von Apache Kafka unterstützt. Mithilfe von Apache Kafka auf Kubernetes können Entwicklerinnen und Entwickler zuverlässig skalierbare Serverless-Benachrichtigungen, Kommunikation zwischen Prozessen und transparente Serverless-Funktionen bereitstellen.

Red Hat OpenShift Streams for Apache Kafka testen

Apache Kafka wird häufig im Container-Managementsystem Kubernetes eingesetzt, das verwendet wird, um Container in Host-Clustern automatisch bereitzustellen, zu skalieren und auszuführen. Apache Kafka auf Kubernetes geht Hand in Hand mit einer cloudnativen Entwicklung, die die nächste Generation der Anwendungsentwicklung darstellt. Bei cloudnativen Anwendungen handelt es sich um unabhängige, lose gekoppelte und verteilte Services, die Hochverfügbarkeit über die Cloud liefern. In Kafka erstellte EDAs sind in ähnlicher Weise lose gekoppelt und darauf ausgelegt, in einer verteilten Hybrid Cloud-Umgebung skaliert zu werden.

Ein wichtiger Vorteil von Apache Kafka auf Kubernetes für die Operations-Teams ist die Infrastrukturabstraktion. So kann es nach der erstmaligen Konfiguration in vielen verschiedenen Umgebungen ausgeführt werden. Moderne Operations-Teams verwalten normalerweise unterschiedliche Arrays von On-Premise- und Cloud-Ressourcen. In Kubernetes können diese Assets als Pools mit Computing-Ressourcen behandelt werden, denen die Softwareressourcen, auch Apache Kafka, zugewiesen werden können. Außerdem kann auf derselben Kubernetes-Schicht eine Einzelumgebung zur Verwaltung der Apache Kafka-Instanzen eingerichtet werden.

Die Skalierbarkeit von Kubernetes ist eine natürliche Ergänzung für Apache Kafka. In Kubernetes können Anwendungen die Ressourcen über einen einfachen Befehl nach oben, nach unten oder verbrauchsabhängig automatisch skalieren und so Ihre Computing-, Networking- und Storage-Infrastruktur optimal nutzen. Außerdem kann Apache Kafka über Kubernetes Anwendungen in lokale, Public, Private oder Hybrid Clouds portieren und unterschiedliche Betriebssysteme verwenden.

Die manuelle Ausführung von Apache Kafka ist ein komplexes Unterfangen, das eine äußerst umfangreiche Konfiguration sehr vieler Komponenten erfordert. Die Ausführung auf Bare Metal-Systemen (oder auch virtuellen Maschinen) ist ebenfalls kompliziert. Das Gleiche gilt für die Bereitstellung, Überwachung, Aktualisierung sowie das Rollback von Knoten.

Und genau hier kommt das Open Source-Projekt Strimzi ins Spiel. Die Lösung verwendet Operators, die Apache Kafka-Konfigurationen nahtlos und reibungslos bereitstellen. Operators, erstklassige Komponenten für die Bereitstellung und Verwaltung von Anwendungen auf Kubernetes, bieten eine hohe Flexibilität bei der Entwicklung, weil eine Abstraktion auf Infrastrukturebene erfolgt und Apps so ohne viele Informationen zur Infrastruktur bereitgestellt werden können. Die Entwicklungsteams benötigen keine Details (wie die Anzahl der Rechner und den Typ der Hardware), weil die Operators die Infrastruktur automatisch bereitstellen und die verschiedenen Komponenten verwalten.

Strimzi bietet die Vorteile von IaC (Infrastructure as Code). So können Entwicklerinnen und Entwickler auf einfache Weise ein code-ähnliches Anweisungshandbuch zur Definition der Infrastruktur schreiben, und Strimzi führt diese Anweisungen perfekt aus. Das Produkt kann die Bereitstellung von Apache Kafka im Hochverfügbarkeitsmodus sogar noch vereinfachen, was normalerweise sehr schwierig ist.

Ein weiterer wichtiger Grund für die Ausführung von Strimzi ist sein Operator, der viele Sicherheitsaspekte für Apache Kafka unterstützt. Mit Strimzi werden außerdem die Sicherheitsfunktionen für Apache Kafka auf Kubernetes automatisiert, und zwar per Single Sign-On, Verschlüsselung und Authentifizierung, damit die Entwicklungsteams ihre Zeit nicht damit verschwenden müssen.

Red Hat AMQ Streams, das Bestandteil von Red Hat Integration ist, ist eine Red Hat Distribution von Apache Kafka und Strimzi für Unternehmen. Ein großer Teil des Mehrwerts von AMQ Streams für Apache Kafka hat mit dem Einsatz von Apache Kafka auf Kubernetes oder Red Hat OpenShift, einer Red Hat Distribution von Kubernetes, zu tun.

Red Hat AMQ Streams on OpenShift stellt Apache Kafka auf Kubernetes bereit, um unternehmensfähige EDAs zu ermöglichen, die verteilte Daten-Streams und streamverarbeitende Microservice-Anwendungen unterstützen. AMQ Streams eignet sich besonders gut für Szenarien mit großem Volumen und hohem Durchsatz, weil die inhärente Partitionierung in Apache Kafka die Skalierbarkeitsanforderungen sehr gut erfüllt.

Weiterlesen

Artikel

Was ist Integration?

Sie möchten wissen, was Integration ist? Erfahren Sie alles über Integration, wie man sie einsetzt und warum sie in Verbindung mit Open Source noch viel wertvoller ist.

Artikel

Was ist Apache Kafka?

Apache Kafka ist eine verteilte Data-Streaming-Plattform, mit der Sie Daten in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können.

Artikel

Was ist eine API?

APIs (Application Programming Interfaces) bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Mehr über Integration erfahren

Produkte

Red Hat® Integration umfasst diverse Integrations- und Messaging-Technologien für die Daten- und Anwendungsintegration in Hybrid Cloud-Umgebungen. Es enthält Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, Erfassung von Änderungsdaten und Service-Registry. 

Red Hat Runtimes umfasst eine Reihe von Produkten, Tools und Komponenten, mit denen cloudnative Anwendungen entwickelt und gewartet werden können. Es enthält Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, Red Hat build of OpenJDK, Red Hat build of Quarkus, Cloudnative Runtimes, Red Hat Migration Toolkit für Anwendungen, Single Sign-On (SSO) und Launcher-Service.

Red Hat Application Foundations umfasst zahlreiche Integrations- und Runtimes Technologien, um die Entwicklung, Bereitstellung und Nutzung von Anwendungen sicher und in großem Umfang in der Hybrid Cloud zu unterstützen.

Gehostete und gemanagte Plattform-, Anwendungs- und Datenservices, die das Hybrid Cloud-Erlebnis optimieren und die Betriebskosten sowie die Komplexität der Bereitstellung cloudnativer Anwendungen verringern.

Ressourcen

E-Book

Agile Integration: Ein Blueprint für die Unternehmensarchitektur

Training

Kostenloser Trainingskurs

Red Hat Agile Integration Technical Overview