Der Pfad in die Serverless Cloud ist holprig

Bevor Entwickler jedoch über die Verwendung von Functions as a Service nachdenken können, gilt es, sich ehrlich mit der eigenen Anwendung auseinanderzusetzen: Der klassische Monolith, der gegebenenfalls noch kurz nach der Jahrtausendwende entwickelt wurde, eignet sich weniger für die Migration in die Serverless Cloud.

Stellenmarkt
  1. IT-Systemadministrator:in (m/w/d)
    Beratungs- und Prüfungsgesellschaft BPG MBH, Krefeld
  2. Leiter Softwareverifikation für Fahrwerksysteme Automotive (m/w/d)
    Schaeffler Technologies AG & Co. KG, Herzogenaurach
Detailsuche

Als dicker Code-Brocken enthält eine monolithische Anwendung nahezu alles, um die definierten Aufgaben erfüllen zu können. Es werden zahlreiche Bibliotheken und Module eingebettet, nahezu alle Funktionen werden mit dieser einen Anwendung abgedeckt. Nicht selten läuft die eigene Software im Activ-Passiv-Modus auf großen Cluster-Systemen, damit zumindest ein Minimum an Ausfallsicherheit erreicht wird.

Der nächste sinnvolle Schritt Richtung Cloud wäre zunächst ein Auseinanderziehen der einzelnen Komponenten, so dass viele kleine, schlanke Anwendungsteile entstehen, die - jedes für sich - spezialisierte Aufgaben erfüllen und die Daten untereinander austauschen. Bei der Programmierung gilt es zu berücksichtigen, dass jede Komponente über eine möglichst standardisierte Schnittstelle erreichbar ist, in der Regel via HTTPS. Im Kontrast zu früher sollte die Anwendung in diesem Zustand ohne Sticky Sessions auskommen und beliebig skalierbar sein.

  • Mögliche Anwendung von FaaS laut Alibaba Cloud (Quelle: Alibaba Cloud)
  • Mögliche Anwendung von FaaS laut Alibaba Cloud (Quelle: Alibaba Cloud)
  • Der lange Weg von der Legacy-Anwendung hin zu Microservices und FaaS (Quelle: Swisscom)
  • Abgrenzung IaaS, CaaS, PaaS und FaaS (Quelle: Alibaba Cloud)
  • Logische Architektur von OpenWhisk (Quelle: Apache.org)
Der lange Weg von der Legacy-Anwendung hin zu Microservices und FaaS (Quelle: Swisscom)

Mit dieser Microservices-Grundlage lässt sich die Software bereits im Container- und Cloud-Umfeld ausbringen. Der Weg ist dann geebnet, um einzelne Microservices in die Serverless Cloud auszulagern. Für die anderen Komponenten macht es dabei keinen Unterschied mehr, ob sie via API mit einem normalen Microservice oder eben einer ausgelagerten FaaS-Komponte kommunizieren. Einzig die Latenz dürfte sich ändern, wenn der Serverless-Teil nicht im gleichen Rechenzentrum wie die übrigen Microservices läuft.

Die Cloud schafft Abhängigkeiten

Golem Akademie
  1. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    13.–17. Dezember 2021, virtuell
  2. Kotlin für Java-Entwickler: virtueller Zwei-Tage-Workshop
    14.–15. Oktober 2021, Virtuell
Weitere IT-Trainings

Besonders Entwickler und Unternehmen mit Standort in Deutschland dürften allerdings bei so manchem Nutzungsszenario davor zurückschrecken, den hohen Preis der steigenden Abstraktion zu zahlen: Durch die fehlende Kontrolle über die Server-Schicht weiß man oft nicht genau, wo die Daten gerade verarbeitet werden und wer sich sonst noch in der Infrastruktur tummelt. Eine Garantie, dass die eigenen Daten bestimmte Systeme nicht verlassen, gibt es oftmals nicht. Bei Problemen mit dem eigenen Code muss sich der Entwickler vollständig auf die Werkzeuge des Providers verlassen können, da die von der Kommandozeile bekannten Debugger nicht verfügbar sind.

In Zeiten, in denen die eigene Anwendung weniger stark frequentiert wird, könnte der Cloud-Anbieter die bereitgestellten Funktionen bzw. Module selbstständig auf ein Minimum herunterskalieren. Bei steigender Last könnte dies zu höheren Reaktionszeiten führen, da Ressourcen erst einmal neu bereitgestellt werden müssen.

Wer den Anbieter der Serverless-Infrastruktur wechseln möchte, wird es außerdem schwer haben: In der Regel sind die in den eigenen Code eingebetteten Funktionen und Module nicht so abstrahiert, dass andere Provider diese ohne größere Anpassungen der Code-Basis ersetzen können. Allerdings dürfte dieser Nachteil weniger schwer wiegen, schließlich lagert man nur einen Teil seiner Anwendung zu einem Serverless-Computing-Anbieter aus. So ein Modul lässt sich womöglich schnell an die Gegebenheiten einer anderen Plattform anpassen. Diese oder ähnliche Probleme ergeben sich quasi zwangsläufig bei der Migration einer Anwendung in die Cloud. Ist eine Anwendung aber schon vergleichsweise klein, kann von der sehr weit fortgeschrittenen Abstraktion besonders stark profitiert werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Serverless Computing: Mehr Zeit für den CodeServerless Computing punktet bei Minimal-Aufgaben 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


flauschi123 12. Nov 2018

BPM Systeme koennen das seit Jahrzehnten. AWS Stepfunctions sind auch nur eine kleine...

logged_in 09. Nov 2018

Hast Du dich schon mal mit Skalierung auseinandergesetzt? Wo du um Kubernetes nicht umher...

ThomasSV 09. Nov 2018

Seit in irgendeiner (IMO Gartner-) Studie stand, dass man damit irrsinnig Geld spart...



Aktuell auf der Startseite von Golem.de
Cyberbunker-Verfahren
Ein Bunker voller Honig

Das Verfahren gegen die Cyberbunker-Betreiber hat sich für die Staatsanwaltschaft gelohnt - egal, wie das Urteil ausfällt. So leicht kommt sie wohl nie wieder an Daten illegaler Marktplätze.
Eine Analyse von Friedhelm Greis

Cyberbunker-Verfahren: Ein Bunker voller Honig
Artikel
  1. Bitcoin und Co.: Kryptowährungen stürzen ab
    Bitcoin und Co.
    Kryptowährungen stürzen ab

    Bitcoin, Ether und andere Kryptowährungen haben ein schlechtes Wochenende hinter sich. Bitcoin liegt fast 20 Prozent unter dem Wert der Vorwoche.

  2. Wie KI bei der Vorhersage des Weltraumwetters hilft
     
    Wie KI bei der Vorhersage des Weltraumwetters hilft

    In einem gemeinsamen Innovationsexperiment erproben Bundeswehr und ihr Digitalisierungspartner, die BWI, wie künstliche Intelligenz (KI) die Vorhersage des Weltraumwetters unterstützen kann.
    Sponsored Post von BWI

  3. Apples iPhone: Ungewollter App-Logout unter iOS 15 nervt Nutzer
    Apples iPhone
    Ungewollter App-Logout unter iOS 15 nervt Nutzer

    Wenn sich Apps auf dem iPhone ungewollt abmelden, hilft derzeit nur das Warten auf ein App-Update.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Switch OLED 349,99€ • Saturn-Advent: HP Reverb G2 + Controller 499,99€ • MM Gaming-Sale: Dualsense + Destruction All Stars 62,99€ • Tablets und Laptops von Lenovo & MS Surface günstiger • Alternate (u. a. Corsair 750W-Netzteil 79,90€ • Bosch Professional Werkzeug und Zubehör [Werbung]
    •  /