Frank Pientka MATERNA GmbH

Trotz des jungen Alters haben serverlose Funktionen eine große Reife erreicht, auch wenn sie vielleicht nicht so eine große öffentliche Aufmerksamkeit haben.

Durch die Cloud und die Virtualisierung lassen sich enorme Fortschritte beim Betrieb von Infrastrukturen erzielen. Erst leichtgewichtige Container machen Microservices möglich. Der nächste logische Schritt ist dann, Services ohne Server umzusetzen. Denn wie der CTO von Amazon Werner Vogels so treffend sagte, ist kein Server einfacher zu managen als gar kein Server. Statt sich weniger um die Infrastruktur zu kümmern, kann man sich mehr auf die Fachwissenschaft konzentrieren. Trotz allem gibt es beim Serverless Computing einiges zu beachten und den passenden Anwendungsfall zu finden.

Als bei Amazon 2006 die ersten drei Amazon Web Services veröffentlicht wurden, hätte niemand gedacht, wie weit sich das Thema Cloud-Dienste entwickeln würde. Inzwischen sind allein bei AWS daraus über siebzig Dienste geworden, sodass es immer schwieriger ist, darüber einen Überblick zu gewinnen oder deren Details zu kennen. Die klassischen Grenzen zwischen Infrastructure as a Service (IaaS), Platform as a Service (PaaS) und Software as a Service (SaaS) verschwimmen spätestens mit der Verwendung von Container as a Service (CaaS). Gleiches gilt für die Dienste der Alternativanbieter, wie Microsoft Azure, IBM Bluemix oder Google Cloud.

Abb. 1: Wie entwickelt sich die Computerinfrastruktur weiter?

Abb. 1: Wie entwickelt sich die Computerinfrastruktur weiter?

Acht Jahre nach dem Start der Amazon Web Services wurde 2014 AWS Lambda vorgestellt und damit der Begriff des Serverless Computings populär gemacht. Inzwischen hat die Beratungsfirma ThoughtWorks das Thema „Serverlos“ in ihrem Technologieradar aufgenommen und in einem Grundlagenartikel von Mike Roberts beschrieben.

Was ist eine serverlose Datenverarbeitung?

Serverlos bedeutet nicht, dass für die Ausführung von Funktionen gar keine Server mehr benötigt werden. Doch wie bei den anderen XaaS-Modellen verschiebt sich bei dem zugrunde liegenden FaaS-Modell (Function as a Service), was Wartung oder Skalierbarkeit betrifft, die komplette Verantwortung auf den Anbieter des Diensts. Die Hauptanbieter von FaaS sind neben Amazon Microsoft (Azure Functions) Google (Functions) und IBM (OpenWhisk). Insofern runden FaaS-Angebote das bestehende IaaS-, PaaS- und CaaS-Angebot der Provider ab und bauen massiv auf deren Ökosystem auf.

Der Entwickler kann sich bei Serverless rein auf das Erstellen der fachlichen Funktion konzentrieren. Damit eine serverlose Funktion gut skalieren und auf Ereignisse reagieren kann, gibt es einige Randbedingungen zu beachten. Als Erstes kann so eine Funktion keinen eigenen Zustand haben, sondern muss dazu weitere Backend-Dienste nutzen. Auch die Codegröße, der genutzte Speicher und die Ausführungszeit sind begrenzt. Was die unterstützten Ereignisse und Programmiersprachen betrifft, gibt es bei den verschiedenen Anbietern Unterschiede. Der grundsätzliche Vorteil von FaaS ist, dass wirklich nur der reine Verbrauch abgerechnet wird und nicht schon ein Grundpreis für die Bereitstellung wie bei den anderen XaaS-Angeboten. Oft wird man jedoch mit einem Mischpreis konfrontiert, da FaaS auch andere Dienste nutzt, die meist anders abgerechnet werden. Je nach Nutzung, ist FaaS dann auch nicht immer die günstigste Variante, sondern es hängt ganz vom Anwendungsfall und dessen Nutzungsprofil ab. Ein weiterer Vorteil von FaaS ist auf jeden Fall, dass man sich auch nicht um Wartung, Aktualisierung oder Skalierung dieser Dienste kümmern muss.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Business Technology 3.17 - "Aus Alt mach Neu"

Alle Infos zum Heft
579810046Das ist Serverless Computing
X
- Gib Deinen Standort ein -
- or -