FaaS, iPaaS und Jamstack - Die besten Technologien für Web-Integrationen in 2021
Integrationen sind in der IT-Branche seit Jahrzehnten ein fester Bestandteil. Selbst in der kürzeren Zeitspanne von Online- und Web-Anwendungen sind Systemintegrationen ein fester Teil der Agenda eines Implementierungsprojekts. Integrationen sind die wichtigsten Komponenten, die alles zum Laufen bringen und kontinuierlich Daten von einem System zum anderen übertragen.
Die Details einer Bestellung werden z. B. vom Händler an den Zahlungsanbieter und zurück übermittelt, um dann an den Fulfillment-Partner weitergeleitet zu werden. Der Fulfillment-Partner prüft den Lagerbestand und sendet schließlich eine Nachricht an den ausgewählten Versanddienstleister für die Lieferung der Waren. Dieser integriert sich in Messaging-Dienste, um den Kunden über den Verbleib seines Pakets über eine App oder vielleicht über einen Telekommunikationsanbieter per SMS zu informieren. Nach erfolgreicher Zustellung wird eine Nachricht an den Händler zurückgesendet, um ihn zu informieren, dass die Bestellung abgeschlossen ist.
Das Ganze ist größer als die Summe aller Teile
Auch ohne auf die Details der einzelnen Prozesse oder die Komplexität der Retourenabwicklung (Rücksendung der Ware, Rückerstattung der Kreditkarte usw.) einzugehen, ist es leicht zu erkennen, dass eine einfache Bestellung eines Produkts insgesamt ziemlich komplex ist. So komplex, dass man mit Sicherheit sagen kann, dass die Welt für jeden von uns zu komplex geworden ist, um sie vollständig zu erfassen. In gewisser Weise haben Computer die Oberhand gewonnen.
Deshalb ist eine funktionierende Integration etwas, das die Menschen nur ungern ändern. Aus diesem Grund verlässt sich die Welt weiterhin auf bescheidene Integrationen aus vergangenen Tagen. Ein Perl-Skript, das CSV-Dateien verarbeitet, die per FTP gesendet werden, so wie es 1999 Gang und Gäbe war und heute auch noch anhält.
Integrationen sind im Grunde das notwendige Übel, das allein betrachtet nicht beeindruckend ist, aber als Bestandteil von etwas Größerem ermöglicht es, das scheinbar Unmögliche möglich zu machen. Ibexa DXP wird häufig eingesetzt, um die kundenorientierte Ebene in komplexen Online-Webdiensten und -Anwendungen bereitzustellen, bei denen Integrationen eine entscheidende Rolle spielen. Deshalb ist es für uns unabdingbar, über die neuesten Trends auf dem Markt auf dem Laufenden zu bleiben.
Sollte man im Jahr 2021 die Möglichkeit haben, ein neues Integrationsprojekt von Grund auf neu zu starten, so gibt es einige interessante Optionen, die derzeit verfügbar sind. Im nachfolgenden werfen wir einen kurzen Blick auf drei aktuelle Integrationstechnologien: FaaS, iPaaS und Jamstack.
Funktionen für serverlose Integrationen
Function as a Service (FaaS) ist ein Computing-Service, der die Ausführung einfacher Prozesse auf einer vollständig verwalteten Infrastruktur ermöglicht. Alle großen Cloud-Anbieter haben ihre eigene Variante von FaaS; Lambda von Amazon, Azure Functions von Microsoft und Cloud Functions von Google. Es gibt Unterschiede, aber auf hohem Niveau sind sie identisch. Sie stellen Tools und Ressourcen zur Ausführung von Aufgaben zur Verfügung, wobei die Kosten nach Bearbeitungszeit berechnet werden. Funktionen können in verschiedenen Sprachen wie C#, JavaScript, PHP oder Python geschrieben werden.
Das Konzept von FaaS ist nicht so weit vom traditionellen Webhosting entfernt. Man lädt seinen Code hoch und der Provider verwaltet alles für einen. Webhostings werden oft zu einem Festpreis verkauft und bieten oft nicht die Service-Level-Agreements (SLAs), die für unternehmensrelevante Dienste geeignet sind, wie es bei Integrationen der Fall ist. Die großen Cloud-Giganten hingegen bieten Hochverfügbarkeit aus Rechenzentren auf der ganzen Welt für nahezu unendliche Skalierbarkeit zu Preisen, die linear nach Nutzung skalieren.
Zusätzlich zu den reinen Computing-Ressourcen bieten AWS, Azure und GCP weitere Dienste wie Datenbanken, Warteschlangen-Service, Dienste für künstliche Intelligenz und mehr. Die Integration in die Dienste eines beliebigen Cloud-Anbieters ist einfach. Wenn man sich für einen Anbieter aus strategischer Sicht entschieden hat, ist dies auch aus Sicht der Verwaltung klar. Man erhält eine einzige Rechnung für alle genutzten Dienste und Ressourcen pro Monat.
Sollte man sich nicht an einen einzigen Anbieter binden wollen, gibt es natürlich auch andere, offenere Alternativen. OpenFaaS ist eine Cloud-agnostische Plattform für den Betrieb von Funktionen auf jeder Infrastruktur. Man kann OpenFaaS als vollständig verwaltete Lösung abonnieren, ähnlich wie die Angebote von Amazon, Google oder Microsoft, aber man kann es auch selbst hosten, entweder auf einer Cloud-Infrastruktur oder sogar vor Ort. Das Selbst-Hosting nimmt FaaS viel von seiner Attraktivität, daher sollte man sich ohne triftigen Grund nicht dafür entscheiden.
iPaaS ermöglicht Low-Code-Integrationen
Integration Platform as a Service (iPaaS) ist ein Abonnement für eine Low-Code-Entwicklungsplattform, die sich auf Integrationen konzentriert. Dabei handelt es sich um voll funktionsfähige Entwicklungsumgebungen mit einigen vorgefertigten Funktionalitäten und einer visuellen Oberfläche für die Erstellung von Integrationen, ohne jemals die Syntax des erstellten Rohcodes zu sehen.
Cloud-basierte Integrationen sind ein aufkommender Trend in der IT und es gibt bereits einige etablierte Produkte auf dem Markt. Dell Boomi, Informatica und Workato sind prominente iPaaS-Anbieter und auch traditionelle Anbieter wie Microsoft sind mit ihrem Azure Integration Services-Angebot vertreten. Im Gegensatz zum FaaS-Ansatz bieten iPaaS-Produkte ein komplettes Paket, das als Einzellösung bereitgestellt werden kann. Diese lässt sich über ein einheitliches Dashboard verwalten und überwachen, was nach einem überzeugenden Versprechen klingt.
iPaaS ist zwar eine zeitgemäße Technologie, bietet aber Optionen für die Anbindung an Legacy-Komponenten. So kann beispielsweise in regelmäßigen Abständen geprüft werden, ob Änderungen an XML-Dateien auf einem Dateiserver vorgenommen wurden, und deren Verarbeitung automatisch angestoßen werden. Das bedeutet, dass die Einführung eines neuen iPaaS-Dienstes im Unternehmen schrittweise erfolgen kann, selbst wenn die Umgebung, in der man arbeitet, eine längere Historie hat. Große Schiffe drehen sich nun mal langsam.
Ein enormer Vorteil von iPaaS für Unternehmen ist das Ökosystem an vorkonfigurierten Konnektoren zu beliebten Online-Diensten. Dies macht viele übliche Integrationen, wie z. B. das Verschieben von Daten aus einem Google Sheets-Dokument zu Salesforce, besonders einfach. Man braucht nur ein paar API-Schlüssel, einen kurzen Ablauf mit einem visuellen Editor und schon ist man fertig. Einfache Konnektivität ist ein Wettbewerbsvorteil für Anbieter, daher ist es in eigenem Interesse, die beste Konnektivität von Anfang an anzubieten. Die Kunden können sich zurücklehnen und die Vorteile genießen.
Der Browser als Integrationsplattform
Die Aufnahme von Jamstack in die Liste der Integrationstechnologien hat vermutlich einige Aufmerksamkeit auf sich gezogen. Dies ist ähnlich wie die ironische Ausrufung des iFrame als führende Integrationstechnologie für Unternehmen im Jahr 2013. Damals wurde iFrame häufig verwendet, um Teile von Webseiten aus anderen Apps einzubinden. Das funktionierte (und tut es immer noch), auch wenn es Einschränkungen gab.
Seit der Hochphase der iFrames ist sehr viel Zeit vergangen, und die Browser und das Web-Ökosystem haben sich immens weiterentwickelt. Der Jamstack ist die Umsetzung der Superkräfte der aktuellen Generation von Webbrowsern. Der Begriff ist eine Verschmelzung von JavaScript, Markup, APIs und Stack (für Technologie-Stack). Bei dieser Architektur erhält der Besucher statisches HTML und JavaScript vom Server.
Der Browser führt dann die vorgegebenen Ressourcen aus und tätigt Aufrufe an dezentrale APIs, wenn der Benutzer die Anwendung nutzt. Der Client hat die Rolle der Integrationsplattform übernommen, die Daten aus verschiedenen Quellen zusammenführt und daraus ein Benutzererlebnis erzeugt. In begrenztem Umfang war dies schon früher möglich. Was es aber heute relevant gemacht hat, ist die Verbreitung von öffentlich verfügbaren APIs im Web, wie z. B. Headless CMSes, Commerce-Plattformen, ERPs, CRMs und andere Backoffice-Systeme für Unternehmen.
In der Vergangenheit waren Integrationen ein reines Spiel für die Serverseite. Client-seitige Integrationen im Web sind immer noch nicht für alle Anwendungen geeignet. Mit dem Client, auf dem der Programmcode läuft, sollte man letztlich keiner Ein- oder Ausgabe vertrauen, da Funktionalität und Daten der Anwendung frei manipuliert werden können. Scheinbar harmlose und unbedachte Fehler können in diesem Zusammenhang erhebliche Auswirkungen haben.
Betrachtet man eine B2B-eCommerce-Lösung, bei der die Preise je nach Benutzer variieren: Die Preise werden von einem ERP-Backend auf der Grundlage des zugewiesenen Geschäftskontos des Benutzers bereitgestellt. Die Commerce-Lösung, die den Transaktionsprozess verwaltet (in den Warenkorb legen, Bestellung abschließen usw.), kennt die Preise nicht. Bei einer clientseitigen Integration würden die Preisdaten an den Client gesendet und von diesem verwaltet und an das Commerce-System weitergeleitet werden. Das Vertrauen liegt beim Client, der die Preise nach Belieben ändern könnte.
Im obigen Beispiel könnte man die Transaktion sicher machen, indem man das Commerce-System die Preisgestaltung aus dem ERP verifizieren lässt. Dies würde jedoch die Einfachheit einer reinen Client-Integration zunichte machen, da man sowohl client- als auch serverseitige Integrationen innerhalb der Implementierung benötigt.
Kombination von FaaS, iPaaS und Jamstack
Letztendlich gibt es bei der Systemintegration keine einheitliche Lösung für alle. Manchmal ist die beste Wahl die Verwendung einer einzigen Technologie, manchmal eine Mischung aus verschiedenen Technologien. Wenn man eine relativ einfache B2C-Site mit Content und Commerce aufbaut oder betreibt, ist Jamstack wahrscheinlich eine gute Option, um ein Headless CMS und eine Commerce API zu integrieren, sodass ein einheitliches Benutzererlebnis entsteht.
Wenn man Datenflüsse hinter den Kulissen verwalten und integrieren möchte, könnte die Verwendung eines iPaaS die perfekte Lösung sein. Man kann es schrittweise einführen oder wenn man von Grund auf neu beginnt. FaaS könnte ein idealer Weg sein, um eine bewährte Legacy-Integration für mehr Kapazität und Zuverlässigkeit zu modernisieren, indem ein altes, selbstgehostetes Perl-Skript auf Python portiert wird.
Ein Anwendungsfall, bei dem alle drei Lösungen kombiniert werden, könnte eine Architektur sein, bei der die Datenflüsse im Backoffice von einem iPaaS verwaltet werden. Ein einfaches FaaS würde als Gateway für die Zusammenführung einer Reihe von Backend-APIs zu einer vertrauenswürdigen einzigen API Verwendung finden, so dass ein Jamstack-Frontend diese konsumieren und interagieren kann, ohne sich Gedanken über schädlichen Code auf dem Client zu machen.
Integrationen als strategische Geschäftsentscheidung
Integrationen sind in erster Linie eine strategische Entscheidung. Aufgrund der Komplexität und der damit verbundenen Risiken werden implementierte und funktionierende Integrationen wahrscheinlich jahrelang Bestand haben - selbst wenn sie nicht so herausragend sind. Man sollte sicherstellen, dass man einen gewissen Spielraum hat, um bei Bedarf den Anbieter zu wechseln. Bei FaaS besteht zum Beispiel das Risiko einer Anbieterbindung, da die proprietären Lösungen die Portabilität von Implementierungen fraglich gemacht haben.
In letzter Zeit gab es jedoch einige Veränderungen hin zu einer offeneren Umgebung im Cloud Computing, wobei AWS einen Schritt in Richtung Multicloud gemacht hat. Amazon hat außerdem vor kurzem Lambda für die Ausführung von Containern aktiviert. Damit ist es möglich, Funktionen, die auf Deno laufen, von Amazon zu Google Cloud Run zu migrieren. Das ist vielleicht die nächste große Sache.
Photo by Christina @ wocintechchat.com on Unsplash
Aspekte der Integration: Tipps, Tricks & häufige Fehler
E-Commerce und ERP-Integration
Ein umfassender Überblick über die ERP-, CRM- und PIM-Landschaft und mehr Informationen darüber, wie sich ein Projekt mit verschiedenen Geschäftssystemen auswählen und verbinden lässt. Wir geben Tipps, stellen bewährte Verfahren dar und beleuchten gängige Anwendungsfälle in diesem E-Book.