Daniel Stender Selbstständig

Serverless Computing ist eine aktuelle Entwicklung im Cloud-Computing, bei der die meisten Anbieter mittlerweile auch Function as a Service im Programm haben. Geboten werden skalierbare Webapplikationen, bei denen man sich nicht um Ressourcen kümmern muss. Dieser Artikel ist eine Einführung in AWS Lambda von Amazon Web Services. Das händische Deployment von Lambdafunktionen ist anspruchsvoll, aber Frameworks wie Chalice für Python-Entwickler nehmen dem Anwender die meisten Handgriffe ab.

Serverless Computing beziehungsweise Function as a Service (FaaS) ist ein aktueller Trend beim Cloud-Computing. Es handelt sich dabei um spezielle Dienste, die auf einer noch höheren Abstraktionsebene angesiedelt sind als die Bereitstellung von virtuellen Maschinen (Infrastructure as a Service) und Anwendungsservern (Platform as a Service). Dafür stellen die Cloud-Anbieter ihre Infrastruktur so zur Verfügung, dass Anwender dort eigenen Programmcode zur Ausführung bringen können, ohne sich auch nur im Geringsten um die Einrichtung und Verwaltung von Ressourcen kümmern zu müssen: Der Code läuft sprichwörtlich irgendwo in der Cloud. Serverless-Computing-Dienste regeln vollkommen automatisch den für die Ausführung einer Applikation notwendigen Umgang mit virtuellen Maschinen, Betriebssysteminstallationen und Containern sowie Angelegenheiten wie Verfügbarkeit, Skalierung und Sicherheit. Kosten für den Service fallen dabei nur bei tatsächlicher Ausführung der Applikation an, die reine Bereithaltung des Codes in der Cloud bleibt dagegen kostenfrei. Für den Benutzer bringt das eine Reihe von Vorteilen, es gibt völlige Unabhängigkeit, sogar von virtualisierter Hardware. Eine komplexe Provisionierung ist nicht nötig und eine fehlerhafte oder mangelhafte Konfiguration weitestgehend ausgeschlossen. Außerdem sprechen für diese Angebote eine lineare Skalierung, um auch auf globaler Ebene operieren zu können, sowie geringe Kosten für Infrastruktur und Administration. Dass dem Benutzer die Kontrolle der zugrunde liegenden Hardware vollkommen entzogen ist, kann sich für bestimmte Anwendungsprofile allerdings auch als Nachteil erweisen. So gibt es beispielsweise nur geringen Einfluss auf gelegendliche Latenzen. Die Entwicklung rein auf Grundlage der Angebote eines bestimmten Cloud-Anbieters birgt außerdem die Gefahr des Vendor Lock-ins, vor allem, wenn über FaaS hinaus weitere Services wie Datenspeicherdienste einbezogen werden. Trotzdem handelt es sich bei diesen Diensten um nützliche Einrichtungen, um Code im Internet unkompliziert zur Ausführung zu bringen. Zudem gibt es für die Softwareentwicklung attraktive Nebeneffekte wie rapides Prototyping und verkürzte Bereitstellungszyklen. Für eine Reihe von Anwendungsgebieten wie zum Beispiel Data Pipelines, oder wenn für eine bestimmte Applikation kurzfristig massive Kapazitäten benötigt werden, ist Serverless Computing nahezu alternativlos.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 3.18 - "Haftungsfalle DSGVO"

Alle Infos zum Heft
579832019Serverlose Webapplikationen mit AWS
X
- Gib Deinen Standort ein -
- or -