Wesentlich für eine Serverless Architecture ist das Management der Hardware durch den Provider: Für Nutzer besteht die Herausforderung lediglich darin, ihre Software bzw. deren Logik inklusive passender Funktionen in die gemieteten Cloud-Strukturen einzubinden. Der Aufruf dieser Funktionen funktioniert entweder …
- asynchron über Events
- oder synchron nach dem klassischen Client-Server-Modell.
Erstgenannte Variante bietet den Vorteil, eine zu starke Kopplung der einzelnen Funktionen zu verhindern und den Ressourcenbedarf zur Laufzeit gering zu halten. Eine mögliche eventbasierte Funktion wäre zum Beispiel, dass beim Upload eines Bildes immer automatisch auch ein Miniaturbild erzeugt werden soll. Bei der klassischen Variante muss der Client immer eine gesonderte Anfrage an den Server schicken, um eine entsprechende Funktion für die Kreation der Miniaturansicht aufzurufen.
Anders als bei einer Platform-as-a-Service-Infrastruktur stellt der Serverless-Computing-Provider zu diesem Zweck keine langlebige Arbeitsumgebung für die gesamte Laufzeit zur Verfügung, sondern liefert punktuell und in Echtzeit die Ressourcen, die für die Ausführungszeit eines einzelnen Funktionsaufrufs benötigt werden. Im Hintergrund (aber eben vom Nutzer unbemerkt) sind aber natürlich auch bei Serverless-Diensten physikalische und virtuelle Server im Einsatz, um die Ausführung der Funktionen zu ermöglichen.