Eksplorowanie bram interfejsu API

Ukończone

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.