Eksplorowanie bram interfejsu API
Rozwiązanie może zawierać kilka usług frontonu i zaplecza. W tym scenariuszu klient wie, jakie punkty końcowe mają być wywoływane? Co się stanie, gdy zostaną wprowadzone nowe usługi lub istniejące usługi zostaną refaktoryzowane? W jaki sposób usługi obsługują kończenie żądań ssl, uwierzytelnianie i inne problemy?
Brama usługi API Management (nazywana również płaszczyzną danych lub środowiskiem uruchomieniowym) jest składnikiem usługi odpowiedzialnym za żądania interfejsu API proxy, stosowanie zasad i zbieranie danych telemetrycznych.
Brama interfejsu API znajduje się między klientami i usługami. Działa jako zwrotny serwer proxy, rozsyłanie żądań od klientów do usług. Może również wykonywać różne zadania krzyżowe, takie jak uwierzytelnianie, kończenie żądań SSL i ograniczanie szybkości. Jeśli brama nie zostanie wdrożona, klienci muszą wysyłać żądania bezpośrednio do usług zaplecza. Istnieją jednak pewne potencjalne problemy z uwidacznianie usług bezpośrednio klientom:
- Może to spowodować złożony kod klienta. Klient musi śledzić wiele punktów końcowych i obsługiwać błędy w sposób odporny.
- Tworzy sprzężenie między klientem a zapleczem. Klient musi wiedzieć, jak poszczególne usługi są rozłożone. Utrudnia to utrzymanie klienta, a także trudniejsze do refaktoryzacji usług.
- Pojedyncza operacja może wymagać wywołań wielu usług.
- Każda publiczna usługa musi obsługiwać problemy, takie jak uwierzytelnianie, protokół SSL i ograniczanie szybkości klientów.
- Usługi muszą uwidaczniać przyjazny dla klienta protokół, taki jak HTTP lub WebSocket. Ogranicza to wybór protokołów komunikacyjnych.
- Usługi z publicznymi punktami końcowymi są potencjalnym obszarem ataków i muszą być wzmocnione.
Brama pomaga rozwiązać te problemy przez oddzielenie klientów od usług.
Zarządzane i self-hosted
Usługa API Management oferuje zarówno bramy zarządzane, jak i własne:
Zarządzane — brama zarządzana jest domyślnym składnikiem bramy wdrożonym na platformie Azure dla każdego wystąpienia usługi API Management w każdej warstwie usługi. W przypadku bramy zarządzanej cały ruch interfejsu API przepływa przez platformę Azure niezależnie od tego, gdzie są hostowane zaplecza implementowane interfejsy API.
Self-hosted — brama self-hosted jest opcjonalną, konteneryzowaną wersją domyślnej bramy zarządzanej. Jest to przydatne w scenariuszach hybrydowych i wielochmurowych, w których wymagane jest uruchamianie bram poza platformą Azure w tych samych środowiskach, w których są hostowane zaplecza interfejsu API. Brama hostowana samodzielnie umożliwia klientom korzystanie z hybrydowej infrastruktury IT do zarządzania interfejsami API hostowanymi lokalnie i w różnych chmurach z jednej usługi API Management na platformie Azure.