Die zunehmende Verbreitung von Serverless Computing führt auch zum Entstehen neuer Programmier-Paradigmen.
Sogenannte Event-getriebene Architekturen sind typisch für das Serverless Computing: Hier laufen keine kompletten Anwendungen mehr dauerhaft im Hintergrund, die permanent Ressourcen und damit auch Geld kosten. Man spricht beim Serverless Computing auch von einer asynchronen Ausführung, weil nicht mehr alle Funktionen in einer größeren Software parallel („synchron“) laufen, sondern bedarfsbezogen aufgerufen werden.
Dabei werden komplexe Softwarepakete in viele einzelne Services oder Microservices zerlegt und durch diese ersetzt. Solche Services sind gewissermaßen sehr kleine Programme, die jeweils nur eine einzige Aufgabe beherrschen, etwa das Empfangen und Weiterleiten einer E-Mail oder das Konvertieren einer Datei in ein anderes Datenformat. Mit seiner Serverless Patterns Collection gibt beispielsweise Amazon den Nutzer:innen von AWS Lambda eine Mustersammlung entsprechender Services für diverse Aufgaben an die Hand.
Services werden bedarfsgerecht über äußere Events angestoßen – beispielsweise durch das Eintreffen einer neuen E-Mail im Postfach oder das Erkennen einer umzuwandelnden Datei im Eingangsordner. Hat ein Service seine Aufgabe abgearbeitet, beendet ihn in der Regel ein weiteres Event wieder. Diese Architekturstrategie bietet in Verbindung mit dem Serverless Computing massive Vorteile:
Einfachheit reduziert Software-Bugs: Die einzelnen Services sind sehr klein und kompakt. Das wiederum verringert die Gefahr von Programmierfehlern („Bugs“). Denn je komplexer eine Applikation ist, desto eher kann sie auch Programmierfehler enthalten, die bei der Softwareentwicklung nicht entdeckt werden.
Zustandslose Instanzen minimieren Datenschutzrisiken: Die meisten Services und Microservices werden beim Serverless Computing zustandslos ausgeführt. Beim Beenden werden somit auch alle nicht mehr benötigten Daten mit gelöscht, beispielsweise die in einer Session übergebenen Passwortdaten für das Weiterleiten einer E-Mail. Dieses sofortige Löschen reduziert das Risiko, dass Malware brisante Daten im Speicher ausspioniert. Services sind leicht skalierbar: Während die meisten herkömmlichen Applikationen durch Lastspitzen ausgebremst werden können, sind Services deutlich agiler. Laufen einmal kurzfristig sehr viele Aufgaben ein, werden über entsprechende Events viele Instanzen des zugehörigen Services parallel gestartet und ausgeführt.
Der Cloudanbieter fährt dafür im Hintergrund seine Serverleistung hoch. Sind alle Aufträge abgearbeitet, werden die Services wieder beendet, und alle für die Auftragsverarbeitung benötigten Ressourcen wieder freigegeben. Der Cloudanbieter nimmt die Server wieder außer Betrieb, beziehungsweise weist sie direkt den Aufgaben anderer Kund:innen zu.