Category Archives: Allgemein

Automic Automation meets Kafka

Automic Automation meets Kafka

Von Jonathan Koch
(Broadcom Knight für Automic Automation)

In einer modernen IT-Architektur, in der Ereignisse in Echtzeit verarbeitet und zuverlässig verteilt werden müssen, greifen Unternehmen zunehmend auf Apache Kafka zurück – oder dessen kommerzielle Variante Confluent Kafka.

Ein Beispiel: Ein global agierender Konzern möchte Statusinformationen aus einem System nahezu verzögerungsfrei an mehrere Microservices verteilen – inklusive Validierung der Datenformate via Schema Registry. Der Clou: Die Daten sollen direkt über Automic Automation verarbeitet und versendet werden.

Was in der Theorie simpel klingt, bringt in der Praxis einige Herausforderungen mit sich – insbesondere bei der Anbindung an Confluent Cloud.

Was ist Kafka?

Kafka wurde ursprünglich von LinkedIn entwickelt und 2012 an die Apache Software Foundation übergeben und ist eine real time messaging Plattform.

Die ursprünglichen Entwickler gründeten später Confluent, einen kommerziellen Anbieter, der auf Kafka aufbaut und es um zahlreiche Funktionen erweitert – darunter

  • Einfaches Cloud-Deployment
  • Intuitive Weboberfläche
  • Erweiterte Authentifizierung (z. B. OAuth über Microsoft Entra ID)
  • Schema Registry für AVRO-Serialisierung

Diese Features machen Confluent Kafka insbesondere für regulierte und verteilte Umgebungen attraktiv.

Anforderungen

  • Kafka Variante: Confluent Kafka
  • Authentifizierung
    • Topic Inhalt: OAUTH Microsoft Entra ID (ServicePrincipal)
    • Schema Registry: BasicAuth Confluent Kafka
  • Schema Registry: AVRO (Pflicht)

Automic Automation Kafka Agent?

Der native Kafka-Agent von Automic Automation unterstützt derzeit nicht die erweiterten Features der Confluent Cloud, insbesondere Schema Registry mit AVRO.

Die Lösung: Ein individuell entwickelter Kafka Producer auf Basis von Python, der über Automic Automation gesteuert wird.

Architektur Schnittstelle

Die finale Integration wurde vollständig über den Unix-Agenten von Automic Automation realisiert.
Der Ablauf gliedert sich in folgende Schritte:

  • Confluent Kafka Bibliothek inkl. Abhängigkeiten auf den Automic Automation Unix Agenten installieren
  • Python Module auf den Automic Automation Unix Agenten installieren
  • Python Skript – generisch erzeugt
  • Automic Automation Job – Dieser erzeugt den Python Skript generisch und ruft diesen auf

Installation Confluent Kafka Bibliothek

Installation der Confluent Kafka-Bibliotheken und Abhängigkeiten auf dem Unix-Agenten:

yum install -y python3 python3-pip python3-devel gcc make cyrus-sasl-gssapi librdkafka-devel

Installation Python Module

Im Anschluss müssen die notwendigen Python Module ebenfalls auf den Automic Automation Agenten installiert werden.
Hier wurde in Automic Automationen einen separaten Jobplan erstellt, der diese automatisiert auf alle aktiven Agenten der entsprechenden Automic Automation Hostgruppe installiert.

Hinweis: Die Installation der Python Module kann in den Userspace des ausführenden Benutzer Accounts installiert werden – z.B. im Regelfall notwendig, wenn diese automatisiert durch Automic Automation Jobplan installiert werden.

  • requirements Datei erzeugen z.B. (/tmp/kafka_python_requirements.txt).
    • cat <<< 'confluent-kafka == 2.4.0
      fastavro
      pydantic
      pydantic_avro' >/tmp/kafka_python_requirements.txt
  • Installation der Module
    • Allgemeine Installation:
      pip3 install -r /tmp/kafka_python_requirements.txt
    • Installation innerhalb des aktuellen Userspace:
      pip3 install -r /tmp/kafka_python_requirements.txt --user

Python Skript Confluent Kafka Producer

Hier wird ein generischer Python Skript durch Automic Automation erzeugt – inkl. aller Parameter.
Wichtige Ausnahme: Bitte keine Passwörter in das Skript übergeben, diese werden im Aufruf als Parameter übermittelt.

Hinweis: Einen Beispiel Producer für Confluent Kafka finden Sie weiter unten.

AA Job

Generierung eines individuellen Python-Producers durch einen Automic Automation Job, inklusive dynamischer Übergabe aller Parameter.
Die sensiblen Daten (z. B. Passwörter) werden in geschützten Automic Automation Objekten verwaltet und zur Laufzeit sicher übergeben.

Der Aufruf des Skripts erfolgt über den „UC4 JOBMELDER“-Mechanismus. Dieser stellt sicher, dass die sensiblen Passwörter geschützt bleiben.

Download Confluent Kafka Producer – Python

Wie ein Producer Skript für Confluent Kafka aussehen kann, ist im angefügten Beispiel Skript ersichtlich.
In der beiliegenden Readme ist die Verwendung beschrieben.

Producer Details:

  • Authentifizierung Kafka Topic: OAuth über Microsoft Entra ID
  • Authentifizierung Schema Registry: Zugriff mit BasicAuth Confluent Cloud
  • Schema Registry: Definition der Datenstruktur via AVRO-Schema

Fazit

Diese Lösung zeigt, wie maßgeschneiderte Integration zwischen kommerziellen Plattformen wie Confluent Kafka und etablierten Automatisierungswerkzeugen wie Automic Automation möglich ist – auch wenn der native Agent an funktionale Grenzen stößt.

Durch den Einsatz von Python und moderner Authentifizierung wurde eine robuste und erweiterbare Schnittstelle geschaffen, die nicht nur technisch sauber, sondern auch sicher betreibbar ist.

Über den Autor

Jonathan Koch ist Managing Consultant bei setis und wurde von Broadcom als Knight für Automic Automation ausgezeichnet. Er verfügt über langjährige Erfahrung in der Umsetzung komplexer Automatisierungsprojekte – mit einem besonderen Fokus auf die Anforderungen der Bankenbranche.

Kafka Fokus

Vortrag zur AA Integration von kafka - Fokus 2025

Im Mittelpunkt steht die Fragestellung, wie sich Confluent Kafka in Automic Automation integrieren lässt, aber auch welche Ansätze zur Zusammenarbeit der jeweiligen Architekturen bestehen.

Anbei finden Sie unseren Vortrag aus dem Automic Automation Anwendertreffen – Fokus 2025.

  • Einleitung
  • Überblick der Kundenanforderungen
  • Technische Integration von Confluent kafka in Automic Automation
  • Erweiterte Tätigkeiten
  • Harmonisierung von „event-driven architecture“ (EDA) und Workload Automation

Bei Fragen oder wenn Sie Unterstützung zu diesem Thema benötigen, nehmen Sie gerne Kontakt mit uns auf.

Jonathan Koch

  • jonathan.koch@setis.com

setis GmbH

  • +49 (6151) 8289-800
  • info@setis.com
  • setis GmbH
    Mina-Rees-Str. 6
    D-64295 Darmstadt