Living on the Edge: API Gateways im Vergleich

Conference Day - 21. Februar
 
13:20
14:05
 
Microservices
 
Konferenzraum 1.801

Edge Services – auch als API Gateways bekannt – sind ein fundamentaler Bestandteil einer cloud-nativen Microservice-Architektur.

Ein Edge Service stellt den zentralen Zugangspunkt zum Microservice-Backend für alle Clients dar. Das heißt, eine seiner wesentlichen Aufgaben ist es, als Reverse Proxy die Requests an die sich hinter dem Gateway befindlichen Microservices weiterzuleiten. Das hat unter anderem den Vorteil, dass die einzelnen Microservices nicht öffentlich erreichbar sein müssen. Zudem kann darüber die Same-Origin-Policy, d.h. der Client-Zugriff per JavaScript auf verschiedene REST-Endpoints, abgebildet werden. Darüber hinaus können Requests je nach Client-Typ unterschiedlich behandelt werden, um beispielsweise spezialisierte APIs nur für den passenden Client anzubieten.

Ebenso kann im API Gateway eine Service Composition realisiert werden. Das bedeutet, mehrere Microservice-Aufrufe können für einen Client-Request aggregiert werden.

Zusätzlich bietet sich der Edge Service als zentraler Zugangspunkt auch für eine erste Authentifizierungs- und Autorisierungs-Prüfung der Client-Requests an, um diese entsprechend weiterzuleiten oder auch abzuweisen.

In der Session werden neben der grundsätzlichen Funktionsweise die verschiedenen Aufgaben von Edge Services vorgestellt. Anschließend werden unterschiedliche Frameworks und deren technische Umsetzungen anhand von konkreten Code-Beispielen praktisch erläutert und bewertet.

Neben den Out-of-the-Box-Frameworks Netflix Zuul, Spring Cloud Gateway und Amazon API Gateway wird auch vorgestellt, wie ein elementarer Edge Service selbst erstellt werden kann.

Christian Schwörer

NovaTec Consulting GmbH, Deutschland

In seiner Tätigkeit für die NovaTec Consulting GmbH begleitet Christian Schwörer in verschiedenen Kundenprojekten die zunehmende Abkehr von der “klassischen JEE-Welt“ hin zu verteilten, cloudbasierten Microservice-Architekturen.

Er ist der Überzeugung, dass sich die praktische Auseinandersetzung mit dem Thema für jeden Entwickler lohnt – auch wenn Microservices nicht die „Silver Bullet“ für alle Probleme des Software Engineerings sein werden.

Constantin Weißer

NovaTec Consulting GmbH, Deutschland

Constantin Weißer ist für die NovaTec Consulting GmbH schwerpunktmäßig in der Java-Entwicklung tätig. Darüber hinaus betreut er in Kundenprojekten verschiedene DevOps-Tätigkeiten und die Administration von Linux-Systemen.

Auf Grund seiner umfassenden Ausbildung in der Algorithmik glaubt er, dass komplexere Aufgaben mit einer API-Gateway-Implementierung nur sinnvoll zu bewältigen sind, wenn für den Nutzer verständliche Abstraktionen geschaffen werden.