Function as a Service kritisch hinterfragt

Datenintegration mit Serverless Computing

10.12.2019
Von   IDG ExpertenNetzwerk


Steffen studierte in Tralee (Irland) Informatik. Anfang der 90er war er Mitgründer von SimpleWork, das man 96 verkaufte. Anfang 97 wurde er Interims-IT-Leiter bei Maxdata, Ende 97 war er Mitgründer der Beans AG und 2002 Mitgründer der Lobster GmbH. Dort ist er Geschäftsführer und Leiter Software-Entwicklung.
Skalierung ist für viele Unternehmen im Weihnachtsgeschäft ein zentrales IT-Thema - das Heilsversprechen des Serverless Computing, schnell und kostengünstig zu skalieren, klingt nach der Lösung der Probleme. Allerdings funktioniert das nur in ganz bestimmten Fällen.

Wann immer Serverless möglich ist, muss sich die IT nicht mehr mit der Frage nach möglichen Kapazitäten beschäftigen. Ob Erwerb, Bereitstellung oder Verwaltung von Backend-Servern - alles obsolet. Denn Serverless Computing bietet die automatische Skalierbarkeit ohne Performance-Verlust und die unmittelbare Bereitstellung von Ressourcen - kurz: die schnelle Anpassung an volatile Datenströme und damit an die geforderten Kapazitäten im Jahresendgeschäft. Eine aktuelle Übersicht über die Funktionsweise von Serverless-Architekturen bietet Stefan Henke in seinem Computerwoche-Beitrag 'Serverless-Computing einfach erklärt'. Doch können Unternehmen ihre Engpässe damit wirklich beheben?

Skalieren ohne Server? In vielen Fällen bleibt das Nadelöhr bestehen.
Skalieren ohne Server? In vielen Fällen bleibt das Nadelöhr bestehen.
Foto: Zdenek Sasek - shutterstock.com

Gerade bei der Datenintegration gehören solch volatile Datenströme zum Alltag. Wer zum Beispiel im Weihnachtsgeschäft über seine Webshops kurzfristig eine Verzehnfachung der Bestellungen verarbeiten muss, erzeugt eben auch zehnmal so viele Datensätze für Verfügbarkeitsabfragen beim Hersteller und löst eine Kette an Aktionen aus:

  • Hersteller fragt die Verfügbarkeit beim externen Lager an;

  • Auftragseingänge werden erstellt und verschickt;

  • Versandbestätigungen werden erstellt und verschickt;

  • Frachtinformationen gehen an den Logistiker;

  • Lieferscheine werden erstellt und verschickt;

  • Rechnungen werden erstellt und verschickt;

  • eventuelle Zollpapiere werden erstellt und verschickt.

Kunde, Händler, Lagerist, Hersteller, Logistiker und manchmal auch Behörden tauschen bei Bestellungen vielfältige Daten in unterschiedlichen Formaten aus, die in diversen Systemen verschiedener Unternehmen weiter verarbeitet werden. Das Vorhalten von erhöhter Rechenleistung ist kostenaufwändig. Die mengenabhängigen Pricing-Modelle beim Serverless Computing, die AWS und andere anbieten, erzeugen dagegen nur Kosten, wenn tatsächlich Daten fließen. Und das Unternehmen spart sich den Aufwand für Server und ihre Konfigurationen, Firewalls, Programminstallationen, Updates und anderes.

Serverless: Nur für ausgewählte Anwendungen

Bei genauerem Hinsehen funktioniert solch eine Serverless Infrastructure allerdings nur für ausgewählte Anwendungen. René Büst hat in seinem Artikel Serverless Infrastructure erleichtert die Cloud-Nutzung auf channelpartner.de bereits Ende 2016 darauf hingewiesen, dass "Serverless-Funktionen zustandslos sind. Das bedeutet, dass keine Abhängigkeit von der darunterliegenden Infrastruktur beteht." Büst beschreibt die Vorteile, die daraus entstehen: "Damit lassen sich innerhalb kürzester Zeit viele Kopien einer einzelnen Funktion starten, die man benötigt, um die notwendige Skalierbarkeit zu einem bestimmten Zeitpunkt als Reaktion auf ein Ereignis zu erreichen." Im Umkehrschluss heißt das allerdings auch: Immer dann, wenn sich der Zustand ändert, funktioniert Serverless nicht.

Ein einfaches Beispiel: Wer etwa einen Währungsrechner betreibt, der für einen eingegebenen Wert in einer vorgegebenen Währung eine Multiplikation mit einem vorgegebenen Faktor ausführt, um den Betrag in einer anderen Währung darzustellen, betreibt letztlich eine kleine Maschine, die vollkommen unabhängig von der darunter liegenden Serverebene funktioniert. Eine solche Maschine kann bei der Vervielfältigung von Anfragen problemlos verzehn- oder verhundertfacht werden.
Schwieriger wird es, wenn der Währungsrechner zur exakten Kursberechnung die aktuellen Kursdaten nicht einmal täglich sondern für jede Anfrage aktuell bei Zentralbanken oder Börsen abfragen soll. Dann funktioniert die kleine Maschine zwar immer noch Serverless und ist skalierbar, doch die Geschwindigkeit der Rechenoperation hängt von der Serverleistung der Börse oder der Zentralbank ab. Je mehr Anfragen gleichzeitig hereinkommen, desto mehr erhöht sich die Latenzzeit. Sollen die errechneten Daten zudem in eine Datenbank geschrieben werden, etwa um Kursverläufe zu verfolgen, entsteht auch hier durch die Leistungsfähigkeit der zu beschreibenden Datenbank ein Nadelöhr.

Parallel oder linear - das ist hier die Frage

Während also eine reine Serverless Architercture parallel arbeiten kann, werden die Vorteile solcher Dienste immer dann geschmälert, wenn eine lineare Verarbeitung gefordert ist. Kommt es zum Beispiel im Rahmen eines Bestellvorgangs im Onlineshop zu einer Abfrage der Verfügbarkeit eines Produkts im Lager, funktioniert dies nur linear. Abfragen müssen nacheinander abgearbeitet werden, da die Entnahme in der Datenbank dokumentiert werden muss
Gleiches gilt für das Anlegen von Rechnungsnummern. Auch diese müssen zum Beispiel in ein SAP-System geschrieben werden und das erfolgt entsprechend linear. Das System verkraftet drei, dreißig oder dreihundert Anfragen in der Sekunde, aber eben nicht unendlich viele.

Immer dann, wenn Daten integriert, also von einem System in ein oder mehrere andere überführt werden müssen, hilft Serverless Computing nur bedingt. Was dagegen hilft, ist die möglichst vollständige Automatisierung und Standardisierung der Prozesse und damit der Datenintegration. Das gilt übrigens bis zur Lieferung. Auch wenn es unwahrscheinlich klingt und der Weihnachtsmann am 24.12. nach vorsichtigen Berechnungen 900 Besuche pro Sekunde absolvieren muss, was etwa der 265fachen Schallgeschwindigkeit entsprechen soll: Die Lieferung bleibt linear und jede Paketabgabe muss nacheinander vom System erfasst und dokumentiert werden. Dass Weihnachten irgendwann zustandlos wird, ist also nicht zu befürchten. (bw)