With Kafka on the way to production/Kafka in produktion_ausblick
1. MIT KAFKA AUF DEM WEG IN DIE PRODUKTION
MOTIVATION, HERAUSFORDERUNGEN, AUSBLICK
W. Rothmayer, M. Strobl
2. Seite 2Mit Kafka auf dem Weg in die Produktion | 06.06.2019
MOTIVATION EINSATZ KAFKA
WENN ES WIRKLICH KRITISCH WIRD…
ProductVision
„Our product is supposed to deal with external JIS and JIT material call offs for production line supply.
It will replacethe existing SPAB central and de-central systems.“
è Time to Recovery: 30 min è Sonst Bandstillstand è Kritikalität wie Produktionssteuerung!
Quelle: Produkthomepage iJIX https://atc.bmwgroup.net/confluence/display/SPABIJIX/Produkt+Homepage+iJIX
Versorgungskontrolle
(CSC)
JIT/JIS Abruferstellung (iJIX)
3. Seite 3Mit Kafka auf dem Weg in die Produktion | 06.06.2019
MOTIVATION EINSATZ KAFKA
… UND EXTERNE ENTKOPPLUNG ERST RECHT…
Quelle: Produkthomepage iJIX https://atc.bmwgroup.net/confluence/display/SPABIJIX/Produkt+Homepage+iJIX
JIT/JIS Abruferstellung (iJIX)
Anbindung externer Systeme mit Kafka-Topics àTopics als asynchrone public API
Interne Entkopplung durch Kafka-Topics
Versorgungskontrolle
SAP
Datalake
4. Seite 4Mit Kafka auf dem Weg in die Produktion | 06.06.2019
MOTIVATION EINSATZ KAFKA
VERTIKALE VS. HORIZONTALE ARCHITEKTUR
§ Klassischer Ansatz (GUI à Applicationserver à Datenbank) à „Vertikale Architektur“
- User-Interaktionen (kurz)
- EchteTransaktionen (REST-Calls)
- API mittels Request/Response
§ Broker-Architektur (Daten à Prozess à Daten) à „Horizontale Architektur“
- Datenorientierung
- Lose Kopplung
- API mittels Events (Publish-Subscribe) à Interne und Externe Entkopplung!!!
èKafka als wesentliche Infrastruktur-Komponente für datenorientierte Services
èKafka als wesentlicher Bestandteil einer Plattformstrategie für Produkte oder Domänen
èKafka als wesentliches Strukturierungselement für lose Kopplung intern und oder extern
5. Seite 5Mit Kafka auf dem Weg in die Produktion | 06.06.2019
HERAUSFORDERUNGEN
ALLES HAT SEINEN PREIS…
§ Ein paar Herausforderungen…
- Komplexe Infrastruktur mit einem komplexen Aufbau und einem komplexen
Programmiermodell
- Ohne intensive Beschäftigung mit Kafka kein Erfolg
à Zumindest Grundverständnis notwendig.
- Mapping der Technik auf die wirklichen fachlichen Anforderungen entscheidend
àWann brauche ich eine horizontale Architektur wirklich?
- Aufsetzenvon Kafka in der OpenShift (Kann man machen, Delegieren ist möglich)
- Kafka selbst betreiben (im FeatureTeam)? à Besser Managed Service nutzen.
Bildquelle: Designing Event-Driven Systems; Ben Stopford; May 2018; O’Reilly Media, Inc.
6. Seite 6Mit Kafka auf dem Weg in die Produktion | 06.06.2019
AUSBLICK
WHAT COMES NEXT…
§ Lücken in der „horizontalen“ Architektur schließen
- Zuviele Glue-Code (Mapping, Mapping ohne Ende) à Verschwendung wenn es „einfacher“ geht
- UseCase zur Verwendungvon Consumer und Producer API meist nicht gegeben.
- Was kann Kafka-Streams und KSQL?
- Was kann Kafka-Connect?
- Wie werden wir schlanker und skalierbarer?
§ Ausweitung der Managed Services klären und vereinbaren
- Kafka-REST-Proxy à Keine Kafka-API Calls erforderlich, Interaktion wie gewohnt mittels REST
- Kafka-Streams, in Kombination mit KSQL à Stream-Processing
- Kafka-Connect à Anbindung Legacy (z.B. MQS), Datenbanken, MQTT
§ Securitythemen klären und transparent machen
- OffenesThema
- Lösungsansätzevorhanden, Sicherheitsstufen nicht so richtig klar
- Verschlüsselte Übertragung, ACLs möglich
7. Seite 7Mit Kafka auf dem Weg in die Produktion | 06.06.2019
APPLIKATION ORDIC.
STAND IST.
FG-7
Kafka
PIMA
Kafka
ORDICMatching
Eigene Consumer
Implementierungen
Kombination beider
Topics alsTeil der
Applikation
Persistierenvon Daten die
bereits in Kafka persistent
gehalten werden
Topics auf verschiedenen
Kafka-Clusternverteilt
Kafka
Consumer
Loop
Kafka
Consumer
Loop
ORDIC Core
8. Seite 8Mit Kafka auf dem Weg in die Produktion | 06.06.2019
APPLIKATION ORDIC.
ZIELBILD – SCHRITT 1.
FG-7
Kafka
PIMA
Kafka
ORDICMatching
Spiegelung externer Topics um
Streaming Operationen auf
zentralem Cluster zu ermöglichen
Kafka
Consumer
Loop
Kafka
Consumer
Loop
Kafka
Mirror Maker
ORDIC Core
9. Seite 9Mit Kafka auf dem Weg in die Produktion | 06.06.2019
APPLIKATION ORDIC.
ZIELBILD – SCHRITT 2.
FG-7
Kafka
PIMA
Kafka
ORDICMatching
Kafka
Mirror Maker
Nutzung der Kafka Streams API zur
Kombination beider Topics und
Ausgabe in ein neuesTopic
Kafka
Consumer
Loop
ORDIC Core
10. Seite 10Mit Kafka auf dem Weg in die Produktion | 06.06.2019
APPLIKATION ORDIC.
ZIELBILD – SCHRITT 3.
FG-7
Kafka
PIMA
Kafka
ORDIC
Kafka
Consumer
Loop
Rückbau der Persistenzschicht
und des Matchings in ORDIC
Kafka
Mirror Maker
ORDIC Core
11. Seite 11Mit Kafka auf dem Weg in die Produktion | 06.06.2019
APPLIKATION ORDIC.
ZIELBILD – SCHRITT 4.
FG-7
Kafka
PIMA
Kafka
Kafka
Mirror Maker
Kafka
REST Proxy
HTTP
Nutzung des Kafka REST Proxy –
keinerlei Abhängigkeiten zu Kafka
seitens ORDIC Applikation
ORDIC
ORDIC Core
12. Seite 12Mit Kafka auf dem Weg in die Produktion | 06.06.2019
Q&A
ABGESCHRECKT ODER NEUGIERIG GEWORDEN?