API-Gateway einfach erklärt: Routing, Sicherheit und Ratenbegrenzung für Microservices – brauchen Sie eines? (KI-Synchronfassung)
Erst eine App, dann ein zweiter Dienst, dann ein dritter – und plötzlich wird die Verkehrsleitung dazwischen zum Albtraum. Diese Folge erklärt mit einfachen Analogien wie der Hotelrezeption, was ein API-Gateway (etwa in Azure API Management) tut und woran Sie erkennen, ob Sie eines brauchen.
Das erfahren Sie:
- Das Problem „zu viele Türen“: warum direkte Zugriffe der Clients auf viele Backend-Dienste doppelte Arbeit und Inkonsistenzen erzeugen
- Routing nach Pfad, HTTP-Methode, Headern oder Standort – inklusive API-Versionierung, ohne bestehende Clients zu stören
- Zentrale Authentifizierung mit API-Schlüsseln, JWTs, OAuth-Tokens oder Zertifikaten – und das Sperren kompromittierter Schlüssel an einer Stelle
- Ratenbegrenzung, Kontingente und Load Balancing mit Health Checks gegen Lastspitzen
- Datentransformation wie JSON zu XML für Altsysteme, zentrale Logs und Metriken – und ab wann sich ein Gateway lohnt
Diese Folge ist eine KI-synchronisierte deutsche Fassung des animierten Erklärvideos aus der M365 Show von Microsoft MVP Mirko Peters.
Sie haben eine funktionierende App gebaut. Dann kommt ein Service hinzu, dann noch einer. Plötzlich wird die Verkehrsleitung zwischen Clients und Backends zum Albtraum. Genau an diesem Punkt kommt das API-Gateway ins Spiel.
- 1AuthentifizierenDas Gateway prüft API-Schlüssel, Tokens oder Zertifikate und setzt Berechtigungen zentral durch.
- 2Ratenlimit prüfenKontingente pro Nutzer, Schlüssel oder IP schützen die Backends vor Überlastung.
- 3Richtig routenPfad, Methode, Header oder Standort bestimmen den passenden Dienst; Load Balancing verteilt die Last.
- 4Daten transformierenBei Bedarf übersetzt das Gateway Formate wie JSON in XML und maskiert sensible Daten.
- 5Antwort zurücksendenDie Antwort läuft zurück durchs Gateway; Logs und Metriken entstehen zentral an einer Stelle.
In diesem Artikel erfahren Sie, was ein API-Gateway tut, welches Chaos es bei der Verwaltung mehrerer Services löst und woran Sie erkennen, ob Sie eines brauchen. Wir schauen uns das Problem an, die vier Kernaufgaben und wie sie zusammenspielen.
Das Problem: Zu viele Türen bei Microservices
Stellen Sie sich ein schnell wachsendes Unternehmen vor. Das Vertriebsteam sitzt im dritten Stock, die Buchhaltung im Keller, die IT im hinteren Flügel. Jede Abteilung hat ihre eigene Eingangstür, ihre eigene Telefonnummer und einen eigenen Sicherheitsmann, der nicht mit den anderen spricht. Wer ein Paket abgeben will, muss genau wissen, welche Tür er nehmen muss, mit welchem Wachmann er sprechen soll und was zu tun ist, wenn der gerade Pause macht.
Genau das passiert, wenn Ihre App mehrere Backend-Services hat und jeder Client jeden Service direkt anspricht. Ob mobile App, Website oder ein anderer Service: Der Client muss wissen,
- wo jeder Service zu finden ist,
- wie die Authentifizierung funktioniert,
- und was bei Fehlern zu tun ist.
Gleichzeitig muss sich jeder einzelne Service um seine eigene Sicherheit, das Rate-Limiting und die Fehlerbehandlung kümmern. Das ist doppelte Arbeit und führt leicht zu Inkonsistenzen.
Beispiel Bank
Eine Bank hat getrennte Services für Konten, Zahlungen, Kredite und Betrugserkennung. Ist jeder davon direkt erreichbar, muss die mobile App vier verschiedene URLs, vier verschiedene Authentifizierungsmethoden und vier verschiedene Arten der Fehlerbehandlung kennen. Das bedeutet vierfache Komplexität und eine vierfache Angriffsfläche für Fehler.
Was ist ein API-Gateway?
Am besten stellen Sie sich ein API-Gateway wie die Rezeption eines Hotels vor. Als Gast müssen Sie nicht wissen, auf welcher Etage der Zimmerservice sitzt, wo die Küche liegt oder wie man den Wartungsdienst erreicht. Sie sagen an der Rezeption, was Sie brauchen. Die leitet Ihre Anfrage an die richtige Person weiter, prüft, ob Sie dort sein dürfen, und erledigt einfache Anfragen sogar selbst.
Ein API-Gateway macht das Gleiche für Ihre Software. Es ist ein zentraler Einstiegspunkt zwischen Ihren Clients und Ihren Backenddiensten. Jede Anfrage läuft zuerst durch das Gateway. Es entscheidet, wohin sie geleitet wird, ob sie erlaubt ist und was zurückgeschickt wird. Der Client kommuniziert nie direkt mit den Backenddiensten, sondern nur mit dem Gateway.
Neu ist die Idee nicht: Reverse-Proxies gibt es seit Jahrzehnten. Unverzichtbar wurde das API-Gateway aber mit Microservices. Wer seine App in viele kleine Dienste aufteilt, hat plötzlich viele Türen. Das Gateway bietet dafür eine einzige Eingangstür. In der Azure-Welt ist Azure API Management die vollständige Plattform, das Gateway ist darin die Kernkomponente, die den Datenverkehr steuert. Das Prinzip ist überall gleich: ein Einstiegspunkt, zentrale Kontrolle.
Routing: Jede Anfrage zum richtigen Dienst
Die grundlegendste Aufgabe eines API-Gateways ist das Routing, also die Weiterleitung jeder Anfrage an den richtigen Dienst. Das Gateway liest den Pfad der Anfrage und bestimmt das Ziel. Lautet der Pfad „Users“, geht die Anfrage an den Benutzerdienst, bei „Orders“ an den Bestelldienst.
Ohne Gateway müsste die mobile App die Adressen von Benutzer-, Bestell-, Zahlungs- und Katalogdienst kennen. Ändert sich eine davon, müssen alle Clients aktualisiert werden. Mit Gateway kennen Clients nur eine URL: die des Gateways. Wo die Dienste tatsächlich liegen, müssen sie nicht wissen.
Routing nach Pfad, Methode, Header oder Standort
Geroutet werden kann nicht nur nach dem Pfad, sondern auch nach HTTP-Methode, Headern oder sogar der Geolokalisierung des Clients. Kommt eine Anfrage aus Europa, kann sie an ein europäisches Rechenzentrum gehen, eine Anfrage aus den USA an ein US-Rechenzentrum. Der Client bemerkt davon nichts und erhält einfach eine schnelle Antwort.
Versionierung ohne Bruch
Auch Versionierung wird dadurch einfach. Alte Clients nutzen weiter /v1/users, neue Clients /v2/users. Das Gateway leitet beide an unterschiedliche Backends weiter. So läuft alles weiter, während Sie die neue Version ausrollen. Bei einer Live-Anwendung mit echten Nutzern ist das enorm wichtig.
Ein E-Commerce-Beispiel: Es gibt getrennte Dienste für Katalog, Warenkorb, Kasse und Nutzerkonto. Das Gateway liest den Pfad und sendet jede Anfrage an den passenden Dienst. Die App kennt nur eine Adresse.
Sicherheit am Haupteingang: Authentifizierung und Autorisierung zentral
Jeder API-Aufruf muss geprüft werden. Wer stellt die Anfrage, und hat diese Person die nötigen Berechtigungen? Ohne Gateway verwaltet jeder Dienst seine eigene Authentifizierung. Das ist fehleranfällig: Ein Dienst prüft Tokens korrekt, ein zweiter lässt einen Schritt aus, ein dritter nutzt eine ganz andere Methode. Am Ende ist die Sicherheit in der Anwendung inkonsistent.
Das Gateway übernimmt Authentifizierung und Autorisierung an einer zentralen Stelle: ein Punkt zur Prüfung, einer zur Durchsetzung, einer für Updates bei Richtlinienänderungen. Es validiert bei jeder Anfrage API-Schlüssel, JWTs, OAuth-Tokens oder Zertifikate, ohne Ausnahmen.
Präzise Berechtigungen auf Gateway-Ebene
Sie können festlegen, dass ein API-Schlüssel nur bestimmte Endpunkte aufrufen darf. Oder dass ein Client nur auf den Katalogdienst zugreifen darf, nicht auf den Zahlungsdienst. Diese Regeln werden automatisch angewendet. Die Backend-Dienste müssen sich nicht um Autorisierung kümmern, sie verarbeiten die Anfrage und senden die Daten zurück.
Zugriffe schnell widerrufen
Ist der API-Schlüssel eines Clients kompromittiert, sperren Sie ihn am Gateway. Eine Änderung, fertig. Kein Dienst muss aktualisiert oder neu gestartet werden, die nächste Anfrage mit diesem Schlüssel wird sofort abgelehnt.
Im Bankbeispiel braucht nur der Zahlungsdienst Schreibzugriff auf das Abrechnungssystem. Versucht ein Client, über den falschen Endpunkt dorthin zu schreiben, blockt das Gateway die Anfrage, und der Abrechnungsdienst bekommt sie nie zu sehen. Für tieferen Schutz kann das Gateway zudem gegenseitiges TLS und die Integration einer WAF unterstützen. Im Kern ist es Ihre erste Verteidigungslinie.
Ratenbegrenzung, Drosselung und Load Balancing
Was passiert, wenn 10.000 Nutzer gleichzeitig auf Ihre App zugreifen, etwa bei einem Flash-Sale, einer viralen Produkteinführung oder an einem ganz normalen Dienstag, an dem sich alle gleichzeitig anmelden? Ohne Gateway werden die Backend-Dienste direkt überflutet und können abstürzen, nicht langsam, sondern auf einmal.
Das Gateway kann begrenzen, wie viele Anfragen jeder Client stellen darf. Ratenbegrenzung und Drosselung sind Standardfunktionen: Sie legen die Regeln am Gateway fest, es setzt sie durch, und Ihre Backends bekommen die Lastspitze nie zu spüren. Kontingente lassen sich pro Nutzer, API-Schlüssel oder IP-Adresse festlegen.
Ein Beispiel: Kostenlose Nutzer bekommen 100 Anfragen pro Stunde, Premium-Nutzer 10.000. Das Gateway verfolgt jede Anfrage und setzt diese Limits direkt am Eingang durch. Erreicht ein kostenloser Nutzer sein Limit, bekommt er eine höfliche Nachricht, es später noch einmal zu versuchen. Die Backends erfahren davon nichts und bedienen weiter die zahlenden Kunden.
Load Balancing mit Gesundheitschecks
Laufen mehrere Instanzen desselben Dienstes, verteilt das Gateway die Anfragen automatisch auf sie. Fällt eine Instanz aus, leitet es den Verkehr auf eine andere um. Dank Gesundheitschecks prüft das Gateway laufend, ob jede Instanz erreichbar ist, und schickt keinen Traffic mehr dorthin, wenn sie es nicht ist. Die Clients merken davon nichts. Besonders wichtig ist das für APIs mit hohem Datenverkehr: Die Spitze trifft zuerst auf das Gateway, das sie absorbiert, verteilt und Ihre Dienste vor Überlastung schützt.
Datentransformation: Das Gateway als Übersetzer
Manchmal passen die Daten des Clients nicht zu dem, was das Backend erwartet. Der Client sendet JSON, das Backend versteht nur XML. Oder die Feldnamen stimmen nicht überein. Früher musste man jeden Client reparieren oder das Backend umschreiben. Heute kann das Gateway die Daten transformieren, bevor sie das Backend erreichen, auf dem Weg hinein, hinaus oder in beide Richtungen. Das nennt man Anforderungs- und Antworttransformation.
Beispiel Altsystem
Ein Altsystem erwartet XML, läuft seit 15 Jahren und funktioniert. Nun entsteht eine neue mobile App, und die spricht JSON. Ohne Gateway müssten Sie das Altsystem umschreiben oder die App zwingen, XML zu senden. Mit Gateway sendet die App JSON, das Gateway konvertiert es in XML, das System erhält, was es erwartet, und die App bekommt ihre Antwort bereits als JSON zurück. Niemand muss etwas umschreiben.
Weitere Möglichkeiten
- Header hinzufügen oder entfernen
- URLs ändern
- Sensible Daten maskieren oder aus Antworten entfernen, bevor sie das System verlassen
Das Backend muss sich dafür nie ändern. Besonders nützlich ist das bei der Modernisierung alter Systeme. Das Gateway ist wie ein Dolmetscher auf einer internationalen Konferenz: Jeder spricht seine eigene Sprache, und alle verstehen einander.
Wie alles zusammenspielt: Eine Pipeline mit voller Transparenz
Routing, Sicherheit, Drosselung und Transformation sind keine vier getrennten Dinge. Sie arbeiten bei jeder einzelnen Anfrage zusammen:
- Das Gateway prüft die Authentifizierung.
- Es validiert das Ratenlimit.
- Es leitet die Anfrage an den richtigen Dienst weiter.
- Es transformiert die Daten, falls nötig.
- Es empfängt die Antwort und transformiert auch diese bei Bedarf.
- Es sendet alles an den Client zurück.
Jeder Schritt läuft automatisch der Reihe nach, ohne dass ein Dienst daran denken muss. Die wahre Stärke liegt in dieser Integration. Sie können eine neue Sicherheitsrichtlinie hinzufügen, ohne das Routing anzupassen, den Backend-Dienst ändern, ohne den Client anzufassen, oder die Ratenbegrenzung aktualisieren, ohne etwas neu bereitzustellen. Jeder Teil ist unabhängig, arbeitet aber in derselben Pipeline.
Weil alles durch eine Stelle läuft, erhalten Sie außerdem volle Transparenz: Logs, Metriken und Analysen aus einem Punkt. Sie sehen, wie viele Anfragen eingingen, welche fehlschlugen, welche langsam waren und welche Clients die meisten Ressourcen nutzen. Ohne Gateway müssten Sie diese Daten bei jedem Dienst einzeln einsammeln. Das Gateway ist also mehr als ein Router. Es ist die Kontrollzentrale Ihrer gesamten API-Plattform.
Brauchen Sie ein API-Gateway? Takeaways und Fazit
Bei nur einem oder zwei Diensten brauchen Sie wahrscheinlich noch kein API-Gateway. Sie können das Routing selbst übernehmen und die Authentifizierung in jedem Dienst umsetzen. Das ist nicht elegant, aber es funktioniert. Sobald Sie drei Dienste haben oder APIs für externe Clients freigeben, wächst die Komplexität schnell, und das Gateway zahlt sich rasch aus.
Praktische Takeaways
- Ab drei Diensten oder bei externen Clients: Ein API-Gateway lohnt sich in der Regel.
- Zuerst die Authentifizierung zentralisieren: Wählen Sie einen Dienst und verlagern Sie dessen Authentifizierungsprüfung ans Gateway. Ihr Dienstcode wird sofort sauberer, die verstreute Tokenvalidierung entfällt.
- Danach die Ratenbegrenzung einführen: Selbst ein einfaches Limit schützt Ihr Backend vor Überlastung. Ein Anfang ist etwa 100 Anfragen pro Minute pro Client.
- Einen Einstiegspunkt für alle Clients: Clients kennen nur die Gateway-URL, Backend-Änderungen bleiben für sie unsichtbar.
- Altsysteme schonen: Nutzen Sie die Transformation, statt Backends umzuschreiben oder Clients zur Änderung zu zwingen.
- Zentrale Logs und Metriken nutzen: So behalten Sie den Überblick über Fehler, Latenzen und Last.
Fazit
Ein API-Gateway ersetzt viele Türen durch eine einzige. Es bündelt Routing, Sicherheit, Ratenbegrenzung, Load Balancing und Datentransformation in einer Pipeline und gibt Ihnen dabei volle Sichtbarkeit. Je mehr Services Ihre Anwendung hat, desto größer ist der Nutzen.
Mirko Peters ist Microsoft MVP, Host des Podcasts M365.FM und Initiator der kostenlosen Online-Konferenz M365Con.
