• IT-Karriere:
  • Services:

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. Debeka Betriebskrankenkasse, Koblenz
  2. Hochschule Furtwangen, Furtwangen

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

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.  


Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de

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...


Folgen Sie uns
       


Erörterung zu Tesla-Fabrik: Viel Ärger, wenig Hoffnung
Erörterung zu Tesla-Fabrik
Viel Ärger, wenig Hoffnung

Lässt sich der Bau der Tesla-Fabrik in Grünheide noch stoppen? In einer öffentlichen Erörterung äußerten Anwohner und Umweltschützer ihren Unmut.
Ein Bericht von Friedhelm Greis

  1. Tesla-Fabrik in Grünheide Wasserverband gibt grünes Licht für Giga Berlin
  2. Grünheide Musk besucht erstmals Baustelle für Gigafactory
  3. Gigafactory Musk auf Deutschlandtour in Berlin und Tübingen

Beoplay H95 im Test: Toller Klang, aber für 800 Euro zu schwache ANC-Leistung
Beoplay H95 im Test
Toller Klang, aber für 800 Euro zu schwache ANC-Leistung

Der Beoplay H95 ist ein ANC-Kopfhörer mit einem tollen Klang. Aber wer dafür viel Geld ausgibt, muss sich mit einigen Kompromissen abfinden.
Ein Test von Ingo Pakalski


    Java 15: Sealed Classes - Code-Smell oder moderne Erweiterung?
    Java 15
    Sealed Classes - Code-Smell oder moderne Erweiterung?

    Was bringt das Preview Feature aus Java 15, wie wird es benutzt und bricht das nicht das Prinzip der Kapselung?
    Eine Analyse von Boris Mayer

    1. Java JDK 15 geht mit neuen Features in die General Availability
    2. Java Nicht die Bohne veraltet
    3. JDK Oracle will "Schmerzen" von Java beheben

      •  /