Categories
Blog

Datenaustausch ĂŒber Messaging-Systeme

Die Systemlandschaft wird zunehmend komplexer. LĂ€ngst werden Arbeitsprozesse digital in vielen unterschiedlichen Systemen bearbeitet. Eine Entwicklung weg von den monolithischen ERP-Giganten, welche versuchen, alle Prozesse in einem geschlossenen System abzubilden, hin zu agilen Satellitensystemen, die jeweils auf den entsprechenden Anwendungsfall spezialisiert sind – diese Herangehensweise wird auch „Best of Breed“ genannt. Damit solch eine moderne Infrastruktur funktioniert, muss die Kommunikation und der Austausch von Daten zwischen den Systemen reibungslos funktionieren. Dabei stoßen die Systeme, bzw. die Art der Kommunikation zwischen den Systemen immer wieder auf die gleichen Herausforderungen:

Genau wie in einer Lieferkette gibt es einen Produzenten, welcher die Ware aussendet und einen Konsumenten am Ende der Kette, der die Ware entsprechend empfangen soll.

Herausforderung 1: Auslieferung nicht möglich
Stellt man sich den Austausch der Daten vor wie eine Lieferkette, so kann es zum Beispiel vorkommen, dass ein System, welches Daten empfangen und konsumieren soll, aufgrund von Wartungsarbeiten oder einem temporĂ€ren Ausfall nicht zu erreichen ist. 

Das produzierende System kann die Daten nicht erfolgreich ausliefern und stĂ¶ĂŸt schnell an die eigenen KapazitĂ€ten, bevor das empfangende System wieder verfĂŒgbar ist.

Herausforderung 2: Zu kleines Lager

Eine besondere Herausforderung in einer nicht aufeinander abgestimmten Lieferkette ist bspw., wenn das sendende System, die KapazitĂ€ten des EmpfĂ€ngers nicht kennt oder ignoriert. Stell dir vor, ein Lager mit sehr kleiner KapazitĂ€t wĂŒrde unaufhörlich LKW Ladungen neuer Ware geliefert bekommen. Das Lager wĂ€re in kĂŒrzester Zeit ĂŒberfordert und nicht mehr in der Lage, Prozesse einzuhalten. Das Gleiche gilt fĂŒr ein empfangendes System, welches mit Daten ĂŒberhĂ€uft wird – das System ist technisch nicht in der Lage eine zu große Datenflut zu verarbeiten und stĂŒrzt ab (DoS).

Herausforderung 3: Auslieferung ohne Lieferschein

Eine weitere potenzielle Fehlerquelle bei der Auslieferung von Daten, ist, wenn die Auslieferung nicht entsprechend als angenommen quittiert wird, Ă€hnlich wie eine Auslieferung ohne bestĂ€tigten Lieferschein. Das empfangende System beginnt mit der Annahme der Daten und stĂŒrzt plötzlich ab. Das sendende System geht davon aus, dass alles entsprechend verarbeitet wurde, obwohl dies nicht der Fall ist.

Diese und andere Herausforderungen haben oft Fehler zufolge, welche sowohl in einer Lieferkette, als auch im Austausch von Daten, Unzufriedenheit, Unordnung und ggf. verlorenen Umsatz bedeuten. Um diese Probleme zu lösen, setzt man Messaging-Systeme, wie z.B. Apache Kafka ein, die zwischen Sender und EmpfĂ€nger platziert werden. 

Diese könnte man in der Analogie zur Lieferkette mit einer Auftragsverarbeitung vergleichen, die ĂŒberwacht und gemanaged wird. Jeder Auftrag ist eine Message / Nachricht, die vom Sender in das Messaging-System geschrieben wird.

Ist ein Messaging-System nicht nur ein weiteres System in der „Lieferkette“ und warum sollten dort nicht die gleichen Herausforderungen auftauchen?

Ja, es ist ein weiteres Glied in der Kette, jedoch um genau diese Herausforderungen gezielt anzugehen.

Das Messaging-System kann ggĂŒ. anderen Drittsystemen vom Unternehmen selbst oder einem Dienstleister gemanagt werden. Diese Kontrolle hat ein Unternehmen selten ĂŒber alle seine Systeme, da diese oft als Software as a Service betrieben werden oder die Daten direkt in Systeme anderer Unternehmen fließen (z.B. Marktplatzanbindungen oder ERP-Systeme). So kann sichergestellt werden, dass die KapazitĂ€ten auf die eigenen Anforderungen und Datenlast angepasst werden.

Ein Messaging-System ist durch Redundanzen so aufgestellt, dass es als besonders ausfallsicher gilt. Die einzige Aufgabe des Systems ist der Austausch von Daten. Sollte eine Komponente ausfallen, ĂŒbernimmt sofort eine andere identische, um sicherzustellen, dass keine Information verloren gehen kann.

Ein entscheidender Unterschied ist außerdem, dass diese Nachrichten von den empfangenden Systemen abgeholt werden mĂŒssen, und somit sichergestellt wird, dass auch alles korrekt in Empfang genommen wurde. 

Damit bietet ein Messaging-System wie Kafka entscheidende Vorteile ggĂŒ. einem direkten Datenaustausch ĂŒber REST-API. Zudem können die eingesetzten Event-Streams, schnell und einfach fĂŒr weitere Systeme verwendet werden, um Daten in Echtzeit zwischen sĂ€mtlichen Systemen zu synchronisieren.

Wenn du mehr ĂŒber Kafka und Event-Streaming erfahren möchtest:
Was ist Kafka

Categories
Blog

Fehlertoleranz, eines von vielen entscheidenden Vorteilen von Kafka

Stell dir mal vor, du hast deine Anwendungen und Systeme miteinander verbunden und jetzt fÀllt eines oder mehrere dieser Systeme aus, was ist die Folge?

Es scheint trivial, aber eines der grundlegendsten Elemente ist die Sicherstellung und Ausfallsicherheit des Datentransports und der Übertragung von einem System in ein anderes.

In der Regel liegen nicht alle Systeme oder Anwendungen in deiner Hand oder unter deiner Kontrolle. In jedem System kann es passieren, dass Probleme auftreten, die Systeme ausfallen oder ein System gewartet wird, wodurch die Systeme nicht mehr erreichbar sind.

Diese Probleme treten in der Regel plötzlich und ohne Mitteilung des System-Anbieters auf.

Das kann unter anderem zufolge haben:

  • Die Bestellung kommt nicht in deinem ERP oder den Logistik- und Dispositionssystemen an. Dadurch kann die Bestellung nicht, wie vereinbart, ausgeliefert werden.
  • Deine Kund:innen können nicht bestellen, weil die Bestellsysteme nicht die richtigen Informationen bereitstellen oder im schlimmsten Fall sogar ausfallen.

Das sind nur zwei Beispiele von vielen möglichen Szenarien, die zu Unzufriedenheiten der Kund:innen fĂŒhren können oder unnötige AufwĂ€nde fĂŒr den Vertrieb oder das Service-Team zur Folge haben und im schlimmsten Fall sogar in Umsatzverlust resultieren. 

Daher ist es ausschlaggebend, wenn Anwendungen miteinander verbunden sind, dass die Daten in den Zielsystemen ankommen.

Eines von vielen Vorteilen von Kafka und Event-Streams ist die hohe VerfĂŒgbarkeit und Fehlertoleranz.

Was bedeutet das?

Kafka speichert sich, Daten und Events, bis zu einem von dir konfigurierbaren Zeitraum.

Selbst wenn etwas schiefgeht, wie Netzwerkprobleme oder Anwendungs- und SystemausfĂ€lle, weiß Kafka automatisch, an welcher Stelle die Daten gelesen und weiterverarbeitet werden mĂŒssen, sobald die Systeme wieder verfĂŒgbar sind.

Hinzukommend können deine Anwendungen und Systeme gewartet werden, ohne, dass Daten verloren gehen.

Wenn die Systeme wieder hochfahren und online sind, werden die Daten automatisch genau an dem Punkt abgeholt, an dem das System ausgefallen ist.

In einem modernen Datenmanagement ĂŒbernimmt Kafka ĂŒber Event-Streams die Sicherstellung des Datentransports und der Übertragung fĂŒr dich.

Du brauchst dir also keine Gedanken darĂŒber machen, ob die Daten in den Zielsystemen ankommen, sondern kannst dich uneingeschrĂ€nkt auf deine Kund:innen konzentrieren.

Categories
Glossary

Was sind Event-Streams?

Der Begriff “Event” bezieht sich auf ein Ereignis (Event) in Datenquellen wie Datenbanken, mobilen GerĂ€ten, Cloud-Diensten und Softwareanwendungen. “Stream” hingegen ist die fortlaufende Übertragung dieser Ereignisse.

HĂ€ufig werden Event-Streams oder eine Reihe von Ereignissen auch als “Daten-Streams” bezeichnet.

Ein Event kann jede Aktion in Datenquellen oder Anwendungen sein. Zum Beispiel, wenn ein Produkt in den Warenkorb gelegt, ein Kaufprozess abgeschlossen oder Produkte angeschaut wird. Das sind meist direkte Aktionen einer Person. Externe Anwendung wiederum können aber auch Daten direkt in eine Datenbank schreiben oder ĂŒber eine API ĂŒbertragen und darĂŒber ein Event auslösen, ohne, dass eine Aktion einer Person stattfinden muss.

Andere Anwendungen oder Systeme können nun auf diese Events hören oder sie abonnieren und reagieren, sobald diese ausgefĂŒhrt wurden.

Mit den Events aus einem Stream können anschließend Aktionen ausgefĂŒhrt werden, wie bspw. Analysen, Umwandlungen, Anreicherung und Aufnahme.

Event-Streams gewÀhrleisten somit einen kontinuierlichen Datenfluss, damit die richtigen Informationen zur richtigen Zeit am richtigen Ort sind.

Consent Management Platform by Real Cookie Banner