Einführung in Serverless Computing mit AWS API Gateway

Eine skalierbare Infrastruktur in der Cloud ist heute Stand der Technik. Function as a Service (FaaS) ist der nächste Schritt, der es Benutzern ermöglicht, sich mehr auf ihren Code als auf ihre Infrastruktur zu konzentrieren. Dies gilt für alle serverlosen Lösungen, zumindest auf AWS.

AWS API Gateway ist ein wichtiger Service in der AWS Serverless-Plattform, um die ordnungsgemäße Kommunikation der bereitgestellten Dienste (z. B. Lambda) mit dem Internet auf sichere und effektive Weise zu gewährleisten.

Der Service stellt sozusagen die Kommunikation vom Web mit Ihren Backend-Diensten her, damit diese auf Daten, Geschäftslogiken oder andere Funktionalitäten mit bis zu Hunderttausenden von gleichzeitigen API-Aufrufen zugreifen können.  Während dieses Prozesses verwaltet es den Datenverkehr, die gemeinsame Nutzung von Ressourcen über mehrere Quellen hinweg sowie die Autorisierung und Zugriffskontrolle. So können Sie den Datenfluss einschränken oder überwachen und haben die volle Kontrolle über die Prozesse.

Abbildung 1: Beispielarchitektur einer serverlosen Webapplikation.

Was sind die Vorteile?

Wie bei anderen serverlosen Lösungen zahlen Sie nur, wenn Sie den Dienst nutzen, was Ihnen eine enorme Kostenflexibilität bietet und ungenutzte Ressourcen der Vergangenheit angehören lässt. Sie zahlen nur für die API-Aufrufe und den ausgehenden Datentransfer, und wenn Ihr Dienst stark ausgelastet ist, gibt es ein gestaffeltes Preissystem, um die Kosten zu senken.

Schauen wir uns die verschiedenen Arten jedoch genauer an, um zu verstehen, wie der Dienst unsere Arbeit erleichtern kann und wo die Anwendungsmöglichkeiten liegen.

Welche APIs gibt es?

Grundsätzlich wird zwischen RESTful APIs und WEBSOCKET APIs unterschieden. Bei den RESTful APIs wird auch zwischen HTTP-APIs und REST-APIs differenziert.

RESTful APIs

RESTful-APIs sind für serverlose Workloads und HTTP-Backends optimiert. Wenn Sie nur API-Proxy-Funktionen benötigen, entscheiden Sie sich für die HTTP-API, und wenn der Anwendungsfall auch Verwaltungsfunktionen erfordert, entscheiden Sie sich für die REST-API. Grundsätzlich sind beide HTTP-basiert, bieten zustandslose Client-Server-Kommunikation und verwenden standardmäßige HTTP-Methoden wie GET, POST, PUT, PATCH und DELETE, wie sie im Dienst implementiert sind. HTTP-APIs können als Einstieg mit den grundlegenden Funktionen betrachtet werden. Sobald Sie zusätzliche Funktionen wie API-Schlüssel, Nutzungsdrosselung, Caching, private API-Endpunkte oder AWS WAF-Integration benötigen, ist die RESTful-API die bevorzugte Lösung.

WEBSOCKET APIs

WEBSOCKET-APIs gehen noch einen Schritt weiter, indem sie bidirektionale Echtzeitkommunikation ermöglichen. Das Gateway unterhält eine permanente Verbindung und übernimmt die Kontrolle über die Nachrichtenübertragung zwischen Client und Cloud-Backend. Dies geschieht mit zustandsbehafteter VOLLDUPLEX-Kommunikation. Chat-Anwendungen und Streaming-Dashboards sind Beispiele für den Einsatz der WEBSOCKET-API.

Bei weiterem Interesse empfehlen wir einen Blick auf das Entwicklerhandbuch oder die von AWS bereitgestellten Resourcen, die Tutorials, Referenzarchitekturen und andere nützliche Dokumente zum AWS API Gateway enthalten.

Ihr PROTOS Team

Weiterführende Links

Entwicklerhandbuch

AWS Resourcen