Serverless Computing bei AWS

Ja, „serverless“ läuft trotzdem auf Servern. Die Cloud ist auch nicht wirklich wolkenförmig.

Lambda

Lambda

AWS Lambda wird in Python programmiert und funktioniert ähnlich der eventbasierten Programmierung. Mit Cloudwatch Events kann man eine Serverless App bei bedarf triggern.

Mit AWS Lambda können Sie Code ausführen, ohne Server bereitstellen und verwalten zu müssen. Sie zahlen nur für die Rechenzeit, die Sie verbrauchen – es entstehen keine Kosten, wenn Ihr Code nicht ausgeführt wird.

Lambda@Edge ermöglicht Ihnen das Ausführen von Lambda-Funktionen an AWS Edge-Standorten als Reaktion auf Amazon CloudFront-Ereignisse.

Sinn & Zweck

Wie man sich Serverless Computing vorstellen kann

Stellen Sie sich vor, es gäbe einen einzelnen, rießengroßen Server, auf dem Millionen kleiner Apps gleichzeit ausgeführt werden können, ähnlich wie auf Ihrem Windows Desktop. Das ist AWS Serverless Computing. Sie benötigen keinen eigenen Server und sparen die Kosten für Infrastruktur und Wartung. Es ist managed Code, Sie müssen sich nicht um die Ausführungsumgebung oder die Sicherheit derselben kümmern.

Es stehen dutzende Event Quellen zur Verfügung, um beliebig viele Instanzen Ihrer App triggern zu können. Wie Sie merken, ist auch Skalierung nicht mehr Ihr Problem.

Obendrein können Sie Gebrauch machen von dem AWS-eigenen, virtuellen Netzwerk und so Beispielsweise eine Datenbank  (DynamoDB) ebenfalls ohne Server per Lambda anfüttern. Weitere Infos zu Lambda in Verbindung mit anderen Diensten, wie zum Beispiel AWS RDS (Datenbanken) werde ich in Bälde ergänzen.

File Storage

Serverless Storage

Ohne es zu wissen, machen auch Sie bereits seit Jahren von „Serverless Storage“ gebrauch: Fast jeder kennt die berühmt und berüchtigten S3-Speicher von AWS. Ob für Dateidownloads, als Speicher für Serverless Code oder aber aus den Negativ-Schlagzeilen. So manch ein Unternehmen hat die kostbaren Daten in S3 abgelegt und war der Meinung, dort seien sie von ganz alleine gesichert. Tja, das ist leider nicht so.

Amazon Simple Storage Service (Amazon S3) bietet Entwicklern und IT-Teams sicheren, beständigen und hochgradig skalierbaren Objektspeicher. Amazon S3 ist eine bedienungsfreundliche und einfache Schnittstelle für Webservices, über die von überall im Internet beliebige Datenmengen gespeichert und abgerufen werden können.

Am Beispiel von S3 läßt sich Serverless sehr einfach erklären – es ist im Grunde nichts anderes als „Cold Storage“, jedoch ist S3 schneller, bietet per IAM (AWS Identity Access Management) eine hochgradig konfigurierbare Zugangskontrolle, zeitbasierte Steuerungen und ist streng nach dem IaC (Infrastructure-as-Code) Prinzip komplett automatisierbar.

Lambda Demo

Wenn Sie diesen Button drücken, wird eine Serverless App bei Amazon Web Services getriggert, die Ihre IP-Adresse ausließt und die Antwort im JSON-Format an ein JavaScript meiner Webseite übermittelt, welches diese hier formatiert darstellt. Das schöne dabei:
a.) Diese Daten sind so flüchtig, dass nichtmal die DSGVO damit ein Problem haben dürfte 😉
b.) der Python- und JavaScript Code sind zusammen unter 10 Zeilen lang

Trotzdem sei darauf hingewiesen: Mit dem Druck auf den Button übermitteln Sie für wenige Millisekunden Ihre Daten  an AWS.