© Omelchenko/Shutterstock.com
Entwickler Magazin
Hohe Skalierbarkeit, weitreichende Ressourcen

Serverlose Webapplikationen mit AWS

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 Lambda-Funktionen ist anspruchsvoll, aber Frameworks wie Chalice für Python-Entwickler nehmen dem Anwender die meisten Handgriffe ab.

Daniel Stender


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 gelegentliche 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 Rapid Prototyping und verkürzte Bereitstellungszyklen. Für eine Reihe von Anwendungsgebieten wie zum Beispiel Data Pipelines [1], oder wenn für eine bestimmte Applikation kurzfristig massive Kapazitäten benötigt werden, ist Serverless Computing nahezu alternativlos.

AWS Lambda

Im Fokus dieses Artikels steht AWS Lambda von Amazon Web Services [2], a...

Entwickler Magazin
Hohe Skalierbarkeit, weitreichende Ressourcen

Serverlose Webapplikationen mit AWS

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 Lambda-Funktionen ist anspruchsvoll, aber Frameworks wie Chalice für Python-Entwickler nehmen dem Anwender die meisten Handgriffe ab.

Daniel Stender


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 gelegentliche 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 Rapid Prototyping und verkürzte Bereitstellungszyklen. Für eine Reihe von Anwendungsgebieten wie zum Beispiel Data Pipelines [1], oder wenn für eine bestimmte Applikation kurzfristig massive Kapazitäten benötigt werden, ist Serverless Computing nahezu alternativlos.

AWS Lambda

Im Fokus dieses Artikels steht AWS Lambda von Amazon Web Services [2], a...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang