Latest / M365.FM – Microsoft 365, Copilot & KI Podcast auf Deutsch / API-Gateway einfach erklärt: Routing, Sicherheit und Ratenbegrenzung für Microservices – brauchen Sie eines? (KI-Synchronfassung)
Transcript
- 0:00Bereit für 10 Tage voller Microsoft 365, Co-Pilot, KI-Azure und den Menschen, die die Zukunft der Arbeit gestalten?
- 0:07Diesen Januar ist die M3 655-Con zurück und wir legen noch einen drauf.
- 0:12Seien Sie bei Live-Sessions, Praxis-Demos und Expertenwissen von MVPs und Branchenprofis aus aller Welt dabei.
- 0:18Keine generischen Folien. Kein endloses Buzzword-Bingo.
- 0:21Wir gehen die echten Herausforderungen an.
- 0:23Co-Pilot Studio, KI-Agenten, Fabric, Sicherheit, Governance und Automatisierung.
- 0:28Egal ob IT-Profi, Entwickler oder Führungskraft, es gibt Sessions, die speziell für Sie gemacht sind.
- 0:35An 10 vollen Tagen können Sie zahlreiche Technologien erkunden und sich mit einer globalen Community vernetzen.
- 0:40Schauen Sie live zu und nehmen Sie praktische Erkenntnisse mit in Ihr Unternehmen.
- 0:45Januar 2027. 10 Tage. Eine Microsoft-Community.
- 0:49Die Registrierung ist jetzt eröffnet.
- 0:51Gehen Sie auf m3 65.con.net und sichern Sie sich noch heute Ihren Platz.
- 0:55Das ist m3 65.con.net.
- 1:00Melden Sie sich jetzt unter m3 65.con.net an. Wir sehen uns live im Januar.
- 1:05Sie haben eine funktionierende App gebaut. Dann kommt ein Service hinzu, dann noch einer.
- 1:08Und plötzlich wird die Verkehrsleitung dazwischen zum Albtraum.
- 1:11Was genau ist also ein API-Gateway und brauchen Sie überhaupt eines?
- 1:14Am Ende dieser Folge werden Sie verstehen, was ein API-Gateway tut.
- 1:18Warum ist das Chaos bei der Verwaltung mehrerer Services löst und wie Sie wissen, ob Sie eines brauchen.
- 1:21Fangen wir mit dem Problem an. Dann den Komponenten und wie alles zusammenpasst.
- 1:27Das Problem. Zu viele Türen.
- 1:29Stellen Sie sich vor, Sie leiten ein schnell wachsendes Unternehmen.
- 1:32Sie haben ein Vertriebsteam im dritten Stock, die Buchhaltung im Keller und die IT im hinteren Flügel.
- 1:36Äh.
- 1:37Stellen Sie sich nun vor, jede dieser Abteilungen hat Ihre eigene Eingangstür, Ihre eigene Telefonnummer und einen eigenen Sicherheitsmann, der nicht mit den anderen spricht.
- 1:43Wenn Sie als Besucher ein Paket abgeben wollen, viel Glück.
- 1:45Sie müssen genau wissen, welche Tür Sie nehmen, mit welchem Wachmann Sie sprechen müssen und was zu tun ist, wenn der gerade Pause macht.
- 1:51Genau das passiert, wenn Ihre App mehrere Backend-Services hat und jeder Client jeden Einzelnen direkt anspricht.
- 1:56Der Client, egal ob Mobile, App, Website oder ein anderer Service, muss wissen, wo jeder Service zu finden ist, wie die Authentifizierung funktioniert und was bei Fehlern zu tun ist.
- 2:05Jeder einzelne Service muss sich um seine eigene Sicherheit, das Rate-Limiting und die Fehlerbehandlung kümmern.
- 2:09Das ist doppelte Arbeit und es führt leicht zu Inkonsistenzen.
- 2:12Nehmen wir eine Bank als Beispiel.
- 2:13Sie haben separate Services für Konten, Zahlungen, Kredite und Betrugserkennung.
- 2:17Nach alter Methode ist jeder Einzelnen direkt erreichbar.
- 2:19Eine mobile App muss vier verschiedene URLs, vier verschiedene Authentifizierungsmethoden und vier verschiedene Arten der Fehlerbehandlung kennen.
- 2:25Das bedeutet vierfache Komplexität und vierfache Angriffsfläche für Fehler.
- 2:29Genau das Chaos, das ein API-Gateway beheben soll.
- 2:32Was ist also die Lösung?
- 2:33Was ist ein API-Gateway?
- 2:35Stellen Sie sich ein API-Gateway wie die Rezeption eines Hotels vor.
- 2:37Wenn Sie reinkommen, müssen Sie nicht wissen, auf welcher Etage der Zimmerservice ist, wo die Küche ist oder wie man den Wartungsdienst erreicht.
- 2:44Sie gehen einfach zur Rezeption, sagen, was Sie brauchen und die kümmern sich um den Rest.
- 2:48Sie leiten Ihre Anfrage an die richtige Person weiter, prüfen, ob Sie dort sein dürfen und erledigen einfache Anfragen sogar selbst.
- 2:54Ein API-Gateway macht das Gleiche für Ihre Software.
- 2:57Es ist ein zentraler Einstiegspunkt, der zwischen Ihren Clients und Ihren Backenddiensten liegt.
- 3:00Jede Anfrage läuft zuerst durch das Gateway.
- 3:03Es entscheidet, wohin sie geleitet wird, ob sie erlaubt ist und was zurückgeschickt wird.
- 3:07Das ist keine neue Idee.
- 3:09Reverse-Proxies gibt es schon seit Jahrzehnten.
- 3:11Aber das API-Gateway ist bei Microservices unverzichtbar geworden.
- 3:14Wenn Sie Ihre App in viele kleine Dienste aufteilen, haben Sie plötzlich viele Türen.
- 3:17Das Gateway bietet Ihnen eine einzige Fördertür.
- 3:19In der Azure-Welt ist Azure API Management die vollständige Plattform.
- 3:22Und das Gateway ist die Kernkomponente, die den Datenverkehr steuert.
- 3:25Aber das Prinzip ist überall gleich.
- 3:26Ein Einstiegspunkt, zentrale Kontrolle.
- 3:28Jede Anfrage kommt herein.
- 3:29Das Gateway prüft Sie, leitet Sie weiter und sendet die Antwort zurück.
- 3:33Der Client kommuniziert nie direkt mit Ihren Backenddiensten.
- 3:35Er kommuniziert nur mit dem Gateway.
- 3:37Schlüsseln wir auf, was das eigentlich bedeutet.
- 3:39Beginnen wir mit der grundlegendsten Aufgabe, dem Routing.
- 3:42Teil 1 Traffic Routing
- 3:43Die einfachste Aufgabe eines API-Gateways ist das Routing, also die Weiterleitung jeder Anfrage an den richtigen Diensten.
- 3:49Denken Sie daran, wie es heute funktioniert.
- 3:50Wenn Sie auf einen Link klicken, sendet Ihr Browser eine Anfrage.
- 3:53Diese Anfrage empfährt.
- 3:54Ist der Pfad Users, weiß das Gateway, dass es Ihnen einen Benutzerdienst senden muss.
- 3:57Bei Orders geht es an den Bestelldienst.
- 3:59Das Gateway liest den Pfad, bestimmt das Ziel und leitet die Anfrage weiter.
- 4:03Ohne ein Gateway müssen Ihre Clients jede einzelne Dienst-URL kennen.
- 4:07Die mobile App benötigt die Adresse des Benutzerdienstes, des Bestelldienstes, des Zahlungsdienstes und des Katalogdienstes.
- 4:12Das sind eine Menge URLs, die verwaltet werden müssen.
- 4:14Und wenn sich eine dieser Adressen ändert, müssen Sie jeden Client aktualisieren.
- 4:17Mit einem Gateway kennen Clients nur eine URL, die Adresse des Gateways.
- 4:20Sie müssen nicht wissen, wo die Dienste tatsächlich liegen.
- 4:22Sie senden Ihre Anfrage einfach an das Gateway und dieses kümmert sich um den Rest.
- 4:25Dies ist einer der häufigsten Anwendungsfälle für ein API-Gateway, ressourcenbasiertes Routing.
- 4:30Die Untersuchung von Apache API 670 ist ausdrücklich hervor.
- 4:32Man routet basierend auf dem Pfad der HTTP-Methode, den Headern oder sogar der Geolokalisierung des Clients.
- 4:37Sendet jemand aus Europa eine Anfrage, kann man ihn an ein europäisches Rechenzentrum leiten?
- 4:41Sendet jemand aus den USA eine Anfrage, geht dieser an ein US-Rechenzentrum?
- 4:44Der Client bemerkt von alledem nichts.
- 4:46Erhält lediglich eine schnelle Antwort.
- 4:48Routing ermöglicht auch die Versionierung.
- 4:49Nehmen wir an, Sie haben eine neue Version Ihres Nutzerdiensten.
- 4:51Die alten Clients nutzen weiterhin Slash-Ur1-Users und die neuen Slash-Ur2-Users.
- 4:56Das Gateway leitet Sie an verschiedene Backends weiter.
- 4:58Alte Clients funktionieren weiter, während Sie die neue Version ausrollen.
- 5:01Sie können Ihr Backend ändern, ohne dass die Clients gestört werden.
- 5:04Das ist enorm wichtig, wenn man eine Live-Anwendung mit echten Nutzern verwaltet.
- 5:07Denken Sie an eine E-Commerce-Plattform.
- 5:09Sie haben separate Dienste für den Katalog, den Warenkorb, die Kasse und Nutzerkunden.
- 5:13Ohne Gateway müsste eine mobile App vier verschiedene URLs kennen.
- 5:17Mit einem Gateway kennt Sie nur eine.
- 5:18Das Gateway liest den Pfad Katalog, Warenkorb, Kasse, Konto und sendet jede Anfrage an den richtigen Dienst.
- 5:25Einfaches Routing ist der leichte Teil.
- 5:26Die nächste Aufgabe ist der wirklich nützliche Partner.
- 5:29Teil 2. Sicherheit am Haupteingang.
- 5:31Jeder API-Aufruf muss geprüft werden.
- 5:33Wer stellt diese Anfrage?
- 5:34Hat derjenige die erforderlichen Berechtigungen?
- 5:36Ohne Gateway muss jeder Dienst seine eigene Authentifizierung verwalten.
- 5:39Das bedeutet doppelte Arbeit und ist fehleranfällig.
- 5:42Ein Dienst prüft Tokens korrekt, ein anderer lässt einen Schritt aus und ein dritter nutzt eine völlig andere Methode.
- 5:46Am Ende haben Sie eine inkonsistente Sicherheit in der gesamten Anwendung.
- 5:51Das Gateway ändert das.
- 5:52Es übernimmt Authentifizierung und Autorisierung an einer zentralen Stelle.
- 5:55Ein Punkt zur Prüfung, ein Punkt zur Durchsetzung, ein Punkt für Updates bei Richtlinienänderungen.
- 5:59Das ist eine bewährte Best Practice für Sicherheit.
- 6:01Es validiert API-Schlüssel, JBTs, OAuth-Tokens oder Zertifikate bei jeder einzelnen Anfrage.
- 6:07Jede Anfrage durchläuft dieselbe Prüfung.
- 6:09Ohne Ausnahmen.
- 6:10Das Gateway kann auch Regeln durchsetzen.
- 6:12Sie können festlegen, dieser API-Schlüssel darf nur diese Endpunkte aufrufen.
- 6:15Oder dieser Client darf nur auf den Katalogdienst zugreifen, nicht auf den Zahlungsdienst.
- 6:19Sie definieren präzise Berechtigungen auf Gateway-Ebene und diese werden automatisch angewendet.
- 6:23Die Backend-Dienste müssen sich nie um die Autorisierung kümmern.
- 6:26Sie verarbeiten einfach die Anfrage und senden die Daten zurück.
- 6:28Ist der Punkt.
- 6:29Das Gateway ist der zentrale Ort, um Zugriffe bei Problemen zu widerrufen.
- 6:33Wenn der API-Schlüssel eines Clients kompromittiert ist, sperren Sie ihn am Gateway.
- 6:36Eine Änderung fertig.
- 6:37Sie müssen keinen Dienst aktualisieren oder irgendetwas neu starten.
- 6:40Die nächste Anfrage mit diesem Schlüssel wird sofort abgelehnt.
- 6:43Nehmen wir ein praktisches Beispiel.
- 6:44Eine Bank hat einen Zahlungsdienst und einen Abrechnungsdienst.
- 6:46Nur der Zahlungsdienst benötigt Schreibzugriff auf das Abrechnungssystem.
- 6:49Das Gateway setzt dies durch.
- 6:50Wenn ein Client versucht, über den falschen Endpunkt in das Abrechnungssystem zu schreiben,
- 6:54blockt das Gateway dies.
- 6:55Der Abrechnungsdienst sieht die Anfrage nicht einmal.
- 6:57Das Gateway kann auch gegenseitiges TLS- und WAF-Integration für tieferen Schutz unterstützen.
- 7:02Im Kern ist es jedoch ihre erste Verteidigungslinie.
- 7:04Sicherheit ist das eine.
- 7:05Aber was passiert bei zu vielen Anfragen gleichzeitig?
- 7:07Was passiert, wenn 10.000 Nutzer gleichzeitig auf ihre App zugreifen?
- 7:14Vielleicht haben sie einen Flash-Sale, eine Produkteinführung geht viral oder es ist einfach
- 7:17ein normaler Dienstag und alle melden sich gleichzeitig an.
- 7:20Ohne ein Gateway werden ihre Backend-Dienste direkt überflutet und könnten abstürzen.
- 7:25Nicht langsam, sondern alles auf einmal.
- 7:26Hier kommt das Traffic-Management ins Spiel.
- 7:28Das Gateway kann begrenzen, wie viele Anfragen jeder Client stellen darf.
- 7:32Ratenbegrenzung und Drosselung sind Standardfunktion.
- 7:34Sie legen die Regeln am Gateway fest und es setzt sie durch.
- 7:37Ihre Backend-Dienste bekommen die Lastspitze nie zu spüren.
- 7:39Sie können Kontingente, Probenutzer, APE-Schlüssel oder IP-Adresse festlegen.
- 7:43Angenommen, Sie haben ein kostenloses Level für Ihre App.
- 7:45Kostenlose Nutzer erhalten 100 Anfragen pro Stunde.
- 7:47Premium-Nutzer erhalten 10.000.
- 7:48Das Gateway verfolgt jede Anfrage und setzt diese Limits direkt am Eingang durch.
- 7:51Erreicht ein kostenloser Nutzer sein Limit, sendet das Gateway eine höfliche Nachricht,
- 7:55es später zu versuchen.
- 7:57Die Backend-Dienste erfahren nicht einmal, dass eine Anfrage stattfand.
- 7:59Sie laufen einfach weiter und bedienen die zahlenden Kunden.
- 8:01Das Gateway übernimmt auch das Load-Balancing.
- 8:04Wenn mehrere Instanzen desselben Dienstes laufen, verteilt das Gateway die Anfragen auf diese.
- 8:09Instanz 1 erhält eine Anfrage, Instanz 2 die nächste, Instanz 3 die darauf folgende.
- 8:12Das geschieht automatisch.
- 8:14Und wenn eine Instanz ausfällt, leitet das Gateway den Verkehr auf eine andere um.
- 8:16Die Clients merken davon.
- 8:18Sie erhalten einfach ihre Antworten.
- 8:19Load-Balancing mit Gesundheitscheckstock für einen reibungslosen Betrieb.
- 8:22Das Gateway pingt jede Instanz an, um sicherzustellen, dass sie läuft.
- 8:25Ist sie nicht erreichbar, leidet es kein Traffic mehr dorthin.
- 8:27Dies ist besonders wichtig für APIs mit hohem Datenverkehr.
- 8:29Ohne Gateway trifft eine Verkehrsspitze ihre Dienste direkt.
- 8:33Mit dem Gateway trifft die Spitze zuerst auf das Gateway, das sie absorbiert, verteilt und ihre Dienste vor einer Überlastung schützt.
- 8:40Aber was ist, wenn die Daten bei der Ankunft nicht korrekt aussehen?
- 8:44Teil 4. Datentransformation
- 8:46Manchmal entsprechen die vom Client gesendeten Daten nicht dem, was ihr Backend erwartet.
- 8:50Vielleicht sendet der Client JSON, aber ihr Backend versteht nur XML.
- 8:54Vielleicht stimmen die Feldnamen nicht überein.
- 8:55Der Client verwendet Vorname so und ihr Backend erwartet ebenfalls Vorname.
- 8:59Diese Diskrepanzen führen zu fehlen.
- 9:00Früher mussten Sie jeden einzelnen Client reparieren oder das Backend umschreiben.
- 9:04Ich kann ideal.
- 9:05Das Gateway kann die Daten transformieren, bevor Sie das Backend erreichen.
- 9:08Trachten Sie es als ein Übersetzer.
- 9:09Es sitzt in der Mitte und kann die Daten auf dem Weg hinein, hinaus oder beides ändern.
- 9:13Das ist Anforderungs- und Antworttransformation in Kürze.
- 9:15Lassen Sie mich ein echtes Beispiel geben.
- 9:17Nehmen wir an, Sie haben ein Altsystem, das XML erwartet.
- 9:19Es läuft seit 15 Jahren.
- 9:21Es funktioniert einmal.
- 9:22Aber jetzt bauen Sie eine neue mobile App und mobile Apps sprechen JSON.
- 9:25Ohne Gateway müssten Sie das Altsystem umschreiben oder die App zwingen, XML zu senden.
- 9:29Mit einem Gateway müssen Sie keines verwendet.
- 9:31Die mobile App sendet JSON.
- 9:33Das Gateway konvertiert es in XML.
- 9:34Das System erhält, was es erwartet.
- 9:36Die mobile App erhält eine Antwort zurück, die bereits in JSON vorliegt.
- 9:38Niemand muss da etwas umschreiben.
- 9:40Das ist das Schöne daran.
- 9:41Das Gateway kann auch Header hinzufügen oder entfernen, URLs ändern oder sensible Daten maskieren.
- 9:46Stellen Sie sich vor, eine Antwort enthält eine Kritik ab.
- 9:48Sie möchten nicht, dass diese an den Client zurückgeht.
- 9:50Das Gateway kann Sie entfernen, bevor die Antwort das System verlässt oder durch eine maskierte Version ersetzen.
- 9:54Das Backend muss sich nie ändern.
- 9:56Das Gateway kümmert sich darum.
- 9:57Dies ist besonders nützlich, wenn Sie alte Systeme modernisieren.
- 9:59Sie müssen das Backend nicht umschreiben.
- 10:01Sie müssen Clients nicht zur Änderung zwingen.
- 10:03Wir ändern öfters Gateway.
- 10:04Es ist wie ein Dolmetscher bei einer internationalen Konferenz.
- 10:06Jeder spricht seine eigene Sprache, aber der Dolmetscher stellt sicher, dass jeder jeden versteht.
- 10:10Das Gateway ist dieser Dolmetscher für Ihre Software.
- 10:12Also Routing, Sicherheit, Drosselung, Transformation, das ist eine ganze Menge.
- 10:15Aber es sind keine vier getrennten Dinge.
- 10:17Lassen Sie mich zeigen, wie sie zusammenhängt.
- 10:18Wie alles zusammenhängt.
- 10:20Hier ist die Sache.
- 10:21Diese vier Aufgaben sind nicht voneinander getrennt.
- 10:23Sie arbeiten bei jeder einzelnen Anfrage zusammen.
- 10:25Jedes Mal, wenn eine Frage eingeht.
- 10:26Das Gateway prüft die Authentifizierung.
- 10:28Es validiert das Ratenlimit.
- 10:29Es leitet einen richtigen Dienstwart.
- 10:31Es transformiert die Daten, falls nötig.
- 10:32Es empfängt die Antwort.
- 10:33Es transformiert auch diese, falls erforderlich.
- 10:36Dann setzt es alles an den Client zurück.
- 10:37Eine Pipeline.
- 10:38Jeder Schritt erfolgt automatisch der Reihe nach, ohne dass ein Dienst daran denken muss.
- 10:42Die wahre Stärke liegt nicht in einzelnen Funktionen.
- 10:44Es ist die Integration.
- 10:46Sie können eine neue Sicherheitsrichtlinie hinzufügen, ohne das Routing anzupassen.
- 10:49Den Backend-Dienst ohne den Client zu ändern.
- 10:51Sie können die Ratenbegrenzung aktualisieren, ohne etwas neu bereitzustellen.
- 10:54Jeder Teil ist unabhängig, arbeitet aber in derselben Pipeline.
- 10:57Und weil alles durch eine Stelle läuft, erhalten Sie volle Transparenz über die Vorgänge.
- 11:02Logs, Metriken, Analysen, alles aus einem Punkt.
- 11:05Sie sehen, wie viele Anfragen eingingen, welche fehlschlugen, welche langsam waren, welche Clients die meisten Ressourcen nutzen.
- 11:10Ohne Gateway müssten Sie diese Daten von jedem Dienst einzeln sammeln.
- 11:13Mit einem Gateway ist alles direkt verfügbar.
- 11:15Das ist die wichtige Erkenntnis.
- 11:16Das Gateway ist nicht nur ein Router.
- 11:18Es ist eine Kontrollzentrale für Ihre gesamte API-Plattform.
- 11:20Jede Anfrage, jede Antwort, jeder Fehler, alles fließt durch eine Stelle.
- 11:24Sie haben eine zentrale Übersicht für alles, was passiert.
- 11:26Wie nutzt man das nun konkret?
- 11:28Lassen Sie uns darüber sprechen, was Sie jetzt damit tun.
- 11:30Konkrete Handlungsempfehlung.
- 11:31Wenn Sie nur ein oder zwei Dienste haben, brauchen Sie wahrscheinlich noch kein API-Gateway.
- 11:35Sie können das Routing selbst übernehmen und die Authentifizierung in jedem Dienst verweilen.
- 11:38Das ist nicht elegant, aber es funktioniert.
- 11:40Aber sobald Sie drei Dienste haben oder APIs für externe Clients freigeben, nimmt die Komplexität schnell zu.
- 11:46Das Gateway zahlt sich schnell aus.
- 11:47Was ist also Ihr bester Schritt?
- 11:49Zentralisieren Sie die Authentifizierung am Gateway.
- 11:50Tun Sie das vor allem anderen.
- 11:52Wählen Sie einen Dienst und verlagern Sie dessen Authentifizierungsprüfung zum Geld.
- 11:54Sie werden sofort bemerken, dass Ihr Dienstcode sauberer wird.
- 11:57Keine überall verstreute Logik zur Tokenvalidierung mehr.
- 12:00Kein Rätselraten mehr, ob Sie es in jedem Dienst gleich implementiert haben.
- 12:03Das Gateway erledigt es einmal und jeder Dienst profitiert davon.
- 12:06Nächster Schritt, Ratenbegrenzung.
- 12:09Selbst ein einfaches Limit schützt Ihr Backend vor Überlastung.
- 12:11Beginnen Sie mit etwas Grundlegendem wie 100 Anfragen pro Minute pro Client.
- 12:14Das verhindert, dass ein außer Kontrolle geratener Client Ihre Dienste langlegt.
- 12:17Das war die K heinstell!
- 12:18Bis zum nächsten Mal.
- 12:19Tschüss.