Eksplorowanie bram interfejsu API
Rozwiązanie może zawierać kilka usług front-endowych i back-endowych. W tym scenariuszu, jak klient dowiaduje się, które punkty końcowe wywołać? Co się stanie, gdy zostaną wprowadzone nowe usługi lub istniejące usługi zostaną refaktoryzowane? W jaki sposób usługi obsługują terminację SSL, uwierzytelnianie i inne kwestie?
Brama usługi API Management (nazywana również płaszczyzną danych lub środowiskiem uruchomieniowym) jest składnikiem tej usługi odpowiedzialnym za przekazywanie żądań interfejsu API, stosowanie zasad oraz zbieranie danych telemetrycznych.
Brama interfejsu API znajduje się między klientami i usługami. Działa jako serwer proxy odwrócony, rozsyłając żądania 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 zarządzać błędami w sposób odporny.
- Tworzy sprzężenie między klientem a zapleczem. Klient musi wiedzieć, jak poszczególne usługi są rozłożone. To utrudnia utrzymanie klienta i refaktoryzację 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 samodzielnie hostowane
Usługa API Management oferuje zarówno bramy zarządzane, jak i własne:
Zarządzany — 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 API przepływa przez platformę Azure niezależnie od tego, gdzie są hostowane zaplecza implementujące API.
Samodzielnie hostowana — Samodzielnie hostowana brama sieciowa jest opcjonalną, konteneryzowaną wersją domyślnego zarządzanego gatewaya. 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. Bramka zarządzana lokalnie umożliwia klientom, dzięki hybrydowej infrastrukturze IT, zarządzanie interfejsami API hostowanymi zarówno lokalnie, jak i w chmurach, z jednego centrum zarządzania API na platformie Azure.