MotivationWhat is layline.io?

layline.io ist ein dezidierter Ereignis-Daten-Prozessor. Es verpackt die Leistung von reaktivem Stream-Management in einem Framework, das die Einrichtung, den Einsatz und die Überwachung der Anforderungen an die Verarbeitung von Ereignisdaten in großem Maßstab erleichtert sowie einfach und überschaubar macht. Es bietet alles, was Sie von einer produktbasierten Lösung einschließlich Upgrade-Fähigkeit, Ausfallsicherheit und Skalierbarkeit auf Cloud-Native-Niveau, neben anderen Merkmalen erwarten.

Unter der Haube steckt ein ausgeklügeltes reaktives Echtzeit-Ereignisdatenverarbeitungs-Framework. layline.io integriert es in eine einfach zu bedienende Plattform, die die Komplexität abstrahiert und gleichzeitig die Funktionalität und mehr bietet. Es fügt viele wichtige Funktionen hinzu, wie z.B. die Definition von generischen Datenformaten, Workflow-Definition, Deployment-Techniken, Monitoring und vieles, vieles mehr.

Es gibt noch einige andere gute Message- und Event-Processing-Frameworks in freier Wildbahn. Die besten davon kommen in Form von Programmierbibliotheken. Deren Verwendung ist in der Regel mit einem großen Lernaufwand verbunden, bevor man alles von Grund auf neu entwickelt. Wie bei allem, was von Grund auf neu entwickelt wird, fließen 80 % des Aufwands und der Kosten nicht in die Lösung des eigentlichen Problems, sondern in die Schaffung von Zusatzfunktionen wie Fehlerbehandlung, Überwachung, Betrieb usw. Und egal, wie sehr man sich bemüht, am Ende hat man eine fest kodierte Funktionalität, die auf das spezifische Geschäftsproblem ausgerichtet ist, das man lösen will, und eben keine flexible Lösung.

Es mag zwar Gründe geben, warum Sie diesen Weg gehen wollen, aber er ist höchst ineffizient. Dieses Vorgehen ist für viele einfach unerschwinglich und für die meisten ein unnötiger Aufwand.

layline.io überwindet dies, indem es die Leistung des reaktiven Stream-Managements mit einer sofort einsatzbereiten Kernfunktionalität bereitstellt, so dass Sie diese nicht neu erstellen müssen. Dies führt zu enormen Zeit- und Budgeteinsparungen und vermeidet unvorhergesehene Fehler.

Business-Faktoren

Die Welt wandelt sich in immer schnellerem Tempo von analog zu digital. Diese Transformationsprozesse führen zu immer höheren Anforderungen an die Datenerfassung, die Datenanalyse und den Datenaustausch. Vor allem in Echtzeit. Es gibt zwar Möglichkeiten, diese zu bewältigen, aber diese sind in vielerlei Hinsicht nur großen Unternehmen mit entsprechenden IT-Resourcen und Budgets vorbehalten.

Das Informationsvolumen wird jedes Jahr um 50 % zunehmen und diese Erwartung vielleicht sogar noch übertreffen. Um wettbewerbsfähig zu bleiben und die Nase vorn zu haben, müssen Unternehmen in der Lage sein, "mitzuspielen" und sich gleichzeitig auf ihre Kernkompetenzen (meist nicht die IT) zu konzentrieren.

Business digitization drives the real-time economy
Business digitization drives the real-time economy

Die Motivation für die Entwicklung von layline.io waren eine Reihe von realen Probleme im Bereich der Ereignisverarbeitung, die von bestehenden Lösungen weitgehend unbeachtet blieben. Wir hielten diese für so wichtig, dass wir dachten, es lohnt sich, sie mit einem neuen Produkt zu adressieren.

  • Das Echtzeitvolumen wird sich in den nächsten Jahren verzehnfachen.
  • Unternehmen, die sich bemühen, den Transaktionswert von Echtzeitdaten zu nutzen (in den ersten 0 bis 3 Sekunden etwas Nützliches damit zu tun).
  • Die Systemarchitekturen der Unternehmen werden zunehmend auf Cloud-Architekturen umgestellt, ohne dass geeignete Lösungen vorhanden sind, die dies in allen Aspekten unterstützen.
  • Mangel an aktuellen Produkten zur Unterstützung der verteilten Echtzeit-Ereignisverarbeitung, anstatt auf der Grundlage von Entwicklungs-Toolkits kundenspezifisch programmierte Lösungen zu erstellen.
  • Verfügbarkeit großartiger Streaming-Technologien wie Akka und Flink, die leider eine steile Lernkurve aufweisen und keine vollständige Einrichtung und Bedienung durch Konfiguration ermöglichen.
Business versatility and survival, are a result of digital maturity and speed
Business versatility and survival, are a result of digital maturity and speed

Kann ich diese Probleme nicht mit anderen Mitteln lösen?

Ja, aber es ist schwierig, langwierig und wird Sie teuer zu stehen kommen. In den letzten Jahren haben wir im Zusammenhang mit der Big-Data-Evolution eine Vielzahl neuer Konzepte und wirklich großartiger Technologien erlebt. Cloud, Prozessverteilung, asynchrone Verarbeitung und vieles mehr, um nur einige zu nennen.

Sie haben sicher schon viele coole Beispiele und Showcases gesehen. Keines von davon war jedoch einfach zu erstellen und erforderten viel Zeit, Fachpersonal und Ressourcen.

Lösung

layline.io will dies einfach machen, indem es den Nutzern ermöglicht

  1. individuelle Logik zur Verarbeitung von Ereignis-Workflows zu erstellen
  2. die über ein verteiltes Verarbeitungsnetz (physisch, logisch und geografisch) eingesetzt werden können
  3. alles ohne eigene Kodierung zu konfigurieren und einzusetzen, und
  4. jedes Ereignisverarbeitungsszenario von klein bis sehr groß in einer hoch skalierbaren und stabilen Umgebung (oder einfach auf Ihrem Laptop!) zu unterstützen

layline.io bietet eine Lösung zur Integration von Echtzeit- und Nicht-Echtzeit-Ereignissen/Nachrichtenaustausch in einer relativ einfachen und konfigurierbaren Weise. Zeit und Kosten für die Produktion sind im Vergleich zu anderen Lösungen außergewöhnlich niedrig.

Funktionsweise

Das Vorgehen in Kürze

1. Erstellung

Mit dem webbasierten Configuration Center, erstellen Sie ein neues Projekt. Innerhalb des Projekts erstellen Sie 1..n Workflows. Jeder Workflow repräsentiert einen Ereignisdatenfluss, der von sehr einfach bis sehr komplex reichen kann. Das Projekt selbst dient lediglich als organisatorischer Rahmen. Der Workflow wiederum wird aus einer Reihe von Prozessoren zusammengestellt, die in Assets vorkonfiguriert werden können. Assets können in Prozessoren im gesamten Projekt wiederverwendet werden. Assets können auch Konfigurationen von anderen Assets der gleichen Art erben. Ähnlich wie bei der Klassenvererbung.

Projekte werden zusammen mit ihren Workflows, Assets und anderen Bestandteilen auf dem Configuration Server gespeichert. Der Configuration Server stellt auch das webbasierte Configuration Center zur Verfügung.

2. Deployment

Sobald Ihre Konfiguration fertig ist, stellen Sie alle oder eine Auswahl der Workflows auf einer Reactive Engine bereit. Eine Reactive Engine läuft auf einer Node. Ein Node kann entweder Ihr Laptop oder ein Docker-Container sein, der z.B. in einem entfernten Kubernetes-Cluster läuft. Die Reactive Engine kann Teil eines logischen Clusters von vielen Reactive Engines sein, die gemeinsam laufen. Wir bezeichnen dies als "Reactive Cluster" (Tatsächlich könnte eine einzelne Reactive Engine bereits als logischer Cluster betrachtet werden). Sobald das Projekt implementiert ist, können Sie es aktivieren. Der Reactive Cluster nimmt dann die vorgesehenen Workflows in Betrieb. Wenn Sie das Projekt auf einer Reactive Engine bereitgestellt haben, die Teil eines Clusters von Reactive Engines ist, werden die Workflows automatisch auf alle Reactive Engines übertragen, die innerhalb desselben logischen Clusters laufen.

Four-Step-Setup
Four-Step-Setup

3. Monitoring

Sie können die Ausführung der Reactive Engine oder des Reactive Engine Clusters über das webbasierte Configuration Center überwachen. Es ist möglich, die Betriebsparameter während der Laufzeit zu ändern, z. B. wie viele Workflows parallel laufen sollen und mehr. Wenn Sie Teile der Verarbeitung stoppen müssen (z.B. für Wartungsarbeiten), können Sie dies über den Operations-Teil des Configuration Centers tun. Sie können ändern, wie die Arbeitslast auf Knoten und Workflows verteilt wird.