Dieser Beitrag erschien ursprünglich auf Data Informed.
Da Unternehmen ihre Agilität erhöhen wollen, müssen IT und Geschäftsbereiche schneller zusammenarbeiten. Unternehmen müssen Cloud-Anwendungen schneller einführen und in der Lage sein, auf alle ihre Daten zuzugreifen und diese zu analysieren, unabhängig davon, ob es sich um ein altes Data Warehouse, eine neue SaaS-Anwendung oder eine unstrukturierte Datenquelle wie soziale Medien handelt. Kurz gesagt, eine einheitliche Integrationsplattform ist für die meisten Unternehmen zu einer wichtigen Voraussetzung geworden.
Laut Gartner führen "unnötig getrennte Bemühungen um Anwendungs- und Datenintegration zu kontraproduktiven Praktiken und eskalierenden Bereitstellungskosten".
Lassen Sie nicht zu, dass Ihr Unternehmen in diese Falle tappt. Unabhängig davon, ob Sie das Bestehende bewerten oder sich für etwas völlig Neues entscheiden, sollten Sie jede Plattform daran messen, wie gut sie die "drei A's" der Integration erfüllt: Anything, Anytime, Anywhere.
Alles ist erlaubt
Für die Unternehmen von heute ist das Spektrum der zu integrierenden Daten breiter als je zuvor. Die meisten Unternehmen haben es mit vielen verschiedenen Datenquellen und -zielen zu tun, von Software-as-a-Service-Anwendungen bis hin zu lokalem ERP/CRM, Datenbanken und Data Warehouses, IoT-Sensoren (Internet of Things), Clickstreams, Protokollen und Social Media-Daten, um nur einige zu nennen. Einige ältere Quellen werden stillgelegt, aber neue Quellen kommen hinzu, also erwarten Sie nicht, dass es in nächster Zeit einfach wird. Konzentrieren Sie sich stattdessen darauf, Ihr Unternehmen für "alles" bereit zu machen.
Mehr als Punkt-zu-Punkt. Vielleicht haben Sie die Integration bisher auf einer Punkt-zu-Punkt-Basis verwaltet. Dieser Ansatz ist arbeitsintensiv, da er eine manuelle Kodierung erfordert, um das System zum Laufen zu bringen, und eine zusätzliche Kodierung bei jeder Änderung an einem der beiden "Punkte". Bei der Integration Ihrer Endpunkte kann es zu Problemen kommen, und Sie müssen dann warten, bis Ihre IT-Abteilung die Probleme behoben hat. Das schwerwiegendere Problem ist jedoch, dass dieser unflexible Ansatz einfach nicht skalierbar ist, um eine unternehmensweite Integration in einer Zeit des ständigen Wandels zu unterstützen.
Einige moderne Konzepte, die auf die Integration angewendet werden, bieten diese Flexibilität und Skalierbarkeit.
Microservices. Microservices sind ein Architekturansatz, bei dem die IT-Abteilung einen einzelnen Dienst als eine Reihe kleiner Dienste entwickelt, die über leichtgewichtige REST-APIs miteinander kommunizieren, und haben sich im letzten Jahr zur Standardarchitektur für die Entwicklung von Unternehmensanwendungen entwickelt.
Bei der Anwendung auf Integrationen eröffnen sich dadurch enorme Möglichkeiten für eine groß angelegte Integration zu sehr geringen Kosten. Statt einer großen Ausführungsengine, die alle Integrationen ausführt, führen kleinere Ausführungsengines einige Integrationen aus. Auf diese Weise können Sie mehr Rechenleistung für die Integrationen bereitstellen, die sie benötigen, und zwar genau dann, wenn sie sie benötigen. Außerdem können Sie die Integrationen auf der Grundlage von Volumenvariationen zur horizontalen Skalierung auf die einzelnen Knoten eines Clusters verteilen.
Das Dokumentdatenmodell. Moderne Anwendungen produzieren heute mehr als nur Zeilen- und Spaltendaten. Wie kann man also eine lose Kopplung erreichen und gleichzeitig halbstrukturierte und unstrukturierte Daten unterstützen, ohne die Leistung zu beeinträchtigen? Sie können Daten natürlicher und logischer gruppieren und die Beschränkungen des Datenbankschemas lockern, indem Sie ein Dokumentdatenmodell zum Speichern von Daten verwenden. Dokumentenbasierte Datenmodelle helfen bei der losen Kopplung, der Kürze des Ausdrucks und der allgemeinen Wiederverwendung.
Bei diesem Ansatz wird jeder Datensatz und die zugehörigen Daten als "Dokument" betrachtet, eine unabhängige Einheit, die die Leistung verbessert und die Verteilung von Daten über mehrere Server erleichtert, ohne dass die Lokalität der Daten beeinträchtigt wird. Sie können objekthierarchische Daten in ein Dokument umwandeln. Dies ist jedoch keine nahtlose Lösung. Dokumente sind eine Obermenge von zeilen- und spaltenbasierten Datensätzen. Während Sie also Zeilen und Spalten in ein Dokument einfügen können, funktioniert das umgekehrt nicht.
Jederzeit ist Echtzeit, und es passiert jetzt
Heutige Anwendungsfälle wie Recommendation Engines, Predictive Analytics und Betrugserkennung erfordern zunehmend die Erfassung und Verarbeitung von Daten aus Anwendungen in Echtzeit und zu jeder Zeit. Eine moderne Integrationsplattform muss über eine Streaming-Schicht verfügen, die sowohl Echtzeitanwendungen als auch Stapelverarbeitung verarbeiten kann.
Viele Unternehmen sind daran gewöhnt, ihre Tools nach der Dynamik der Daten auszuwählen: ESB-Plattformen für ereignisbasierte Anwendungsintegrationen mit geringer Latenzzeit und ETL-Tools für Batch-Aufträge mit hohem Volumen. Heute müssen Unternehmen jedoch nach der Einfachheit und Flexibilität eines Frameworks suchen, das sowohl Batch- als auch Echtzeit- und "Anytime"-Verarbeitung unterstützen kann.
Die Lambda-Architektur ist so konzipiert, dass Latenz und Durchsatz bei der Verarbeitung von Batch- und Echtzeit-Anwendungsfällen ausgeglichen werden. Die Batch-Schicht bietet umfassende und genaue Ansichten. Sie kann den gesamten ihr zur Verfügung stehenden Datensatz im Falle von Fehlern erneut verarbeiten. Sie hat jedoch eine hohe Latenz, so dass zum Ausgleich auch eine Geschwindigkeitsschicht vorhanden ist, die die Echtzeitverarbeitung von Streaming-Daten ermöglicht. Die Serving-Schicht dieser Architektur besteht aus einer geeigneten Datenbank für die Speed- und die Batch-Schicht, die kombiniert und abgefragt werden können, um Antworten aus den Daten zu erhalten.
Aufgrund dieser Echtzeit-Anwendungsfälle sind Streaming-Plattformen sehr begehrt geworden.
Jeder Ort sollte wie jeder Ort aussehen
Bei der heutigen hybriden Daten- und Bereitstellungsarchitektur können Ihre Daten überall und in jedem Format vorliegen und müssen je nach Anwendungsfall unterschiedlich verarbeitet werden. Zum Beispiel:
- Wenn sich alle Ihre Anwendungen und Daten in der Cloud befinden, benötigen Sie einen Cloud-first-Ansatz für alle anderen Teile des Anwendungsökosystems, einschließlich der Integration.
- Wenn Sie über eine hybride Architektur verfügen, die sowohl Daten vor Ort als auch Cloud-Anwendungen umfasst, müssen Sie möglicherweise verhindern, dass Daten das Unternehmen verlassen. Ziehen Sie eine lokale Datenebene für die Verarbeitung innerhalb der Firewall in Betracht.
- Wenn Sie ein Big-Data-Ökosystem haben, benötigen Sie wahrscheinlich die Flexibilität, nativ auf Hadoop unter Verwendung des YARN-Ressourcenmanagers zu arbeiten und MapReduce für die Verarbeitung von Integrations- oder Transformationsaufgaben zu verwenden.
In der Zwischenzeit hat Spark für die Verarbeitung von Aufträgen mit niedriger Latenz viel an Zugkraft gewonnen. Für bestimmte Anwendungsfälle, die eine Analyse in Echtzeit erfordern, wie z. B. die Erkennung von Betrug, die Verarbeitung von Protokollen und die Verarbeitung von IoT-Daten, ist Spark eine ideale Verarbeitungsmaschine.
Integration ist das Herzstück jeder erfolgreichen sozialen, mobilen, analytischen (Big Data), Cloud- und IoT-Initiative. Es ist nicht mehr möglich, erfolgreich zu skalieren und dabei zwischen verschiedenen Tools und Teams für die Anwendungs-, Prozess- und Datenintegration zu wählen. Erfolgreiche Unternehmen müssen heute über eine einzige Plattform auf Ressourcen zugreifen und diese sofort nutzen können. Wenn Sie über die richtige Plattform verfügen - eine, die alles jederzeit und überall bereitstellt, wo es benötigt wird -, müssen Ihre Benutzer nie mehr innehalten und fragen, welche Ressourcen verwendet werden, ob die Informationen aktuell sind oder wo sie sich befinden. Was immer sie brauchen, wird ihnen zur Verfügung stehen, wenn sie es brauchen und wo immer sie sind.
Ich habe dies auch auf LinkedIn gepostet. Kommentare sind willkommen auf Data Informed, LinkedIn oder hier.