Co to jest usługa Azure API Management?

Ukończone

Zacznijmy od szybkiego omówienia usługi Azure API Management i jej podstawowych funkcji. To omówienie powinno pomóc w podjęciu decyzji, czy usługa Azure API Management może być odpowiednim rozwiązaniem w celu zmniejszenia złożoności interfejsu API firmy.

Co to jest zarządzanie cyklem życia interfejsu API?

Zarządzanie cyklem życia interfejsu API to proces administrowania interfejsem API przez cały cykl życia — od jego projektowania i tworzenia po jego przestarzałe i wycofywanie. Na potrzeby tego modułu będziemy pobierać dane po tym, jak interfejsy API zostały już zaprojektowane, zakodowane i wdrożone. Skoncentrujmy się na pozostałych zadaniach zarządzania cyklem życia interfejsu API, które obejmują:

  • Dostarczanie dokumentacji interfejsu API, testowania i przykładów kodu.
  • Dołączanie i wyłączanie użytkowników.
  • Zarządzanie subskrypcjami interfejsu API i dystrybucją kluczy subskrypcji.
  • Implementowanie poprawek interfejsu API w kontrolowany i bezpieczny sposób.
  • Zarządzanie wieloma wersjami interfejsu API.
  • Implementowanie mechanizmów kontroli dostępu interfejsu API, takich jak limity uwierzytelniania i liczby wywołań.
  • Zapewnianie raportowania interfejsu API dla użycia, błędów itd.
  • Zarządzanie analizą zarówno dla twojej firmy, jak i dla deweloperów korzystających z interfejsów API.

Definicja usługi Azure API Management

Azure API Management to usługa w chmurze, która zapewnia platformę do publikowania, zabezpieczania, utrzymywania i analizowania wszystkich interfejsów API firmy. Usługa Azure API Management wykonuje te zadania, oferując trzy główne składniki:

  • Brama
  • Interfejs administracyjny
  • Portal deweloperów

Główne składniki usługi Azure API Management obejmują interfejs administracyjny, bramę i portal dla deweloperów.

Ważne

Usługa Azure API Management nie obsługuje rzeczywistych interfejsów API. Interfejsy API pozostają tam, gdzie zostały pierwotnie wdrożone. Zamiast tego usługa Azure API Management działa jako rodzaj fasady lub "drzwi front door" dla interfejsów API. W ten sposób usługa Azure API Management rozdziela interfejsy API, umożliwiając ustawianie zasad interfejsu API i innych opcji zarządzania na platformie Azure, pozostawiając wdrożone interfejsy API zaplecza bez zmian.

Brama

Brama usługi Azure API Management to punkt końcowy platformy Azure, który akceptuje wszystkie wywołania ze wszystkich interfejsów API. Brama:

  • Weryfikuje klucze subskrypcji interfejsu API i inne poświadczenia.
  • Wymusza limity przydziału użycia i limity szybkości.
  • Przekształca interfejs API zgodnie z potrzebami w celu zapewnienia zgodności zaplecza.
  • Kieruje każde wywołanie do odpowiedniego serwera zaplecza.
  • Buforuje odpowiedzi zaplecza.
  • Zbiera metadane wywołań dla obciążeń analitycznych.

Interfejs administracyjny

Interfejs administracyjny usługi Azure API Management to zestaw stron i narzędzi witryny Azure Portal, które umożliwiają administrowanie usługą i interfejsami API. Oprócz aprowizacji, skalowania i monitorowania usługi używasz interfejsu administracyjnego:

  • Definiowanie lub importowanie specyfikacji interfejsu API
  • Implementowanie zasad użycia, takich jak limity przydziału i limity szybkości
  • Ustawianie zasad zabezpieczeń
  • Zarządzanie użytkownikami
  • Tworzenie pakietów interfejsów API do produktów
  • Definiowanie przekształceń interfejsu API
  • Zarządzanie poprawkami i wersjami interfejsu API
  • Uruchamianie analizy na metadanych interfejsu API

Portal deweloperów

Portal dla deweloperów usługi Azure API Management to w pełni dostosowywalna witryna internetowa, która umożliwia deweloperom interakcję z interfejsami API za pośrednictwem:

  • Zapoznaj się z dokumentacją dla każdego interfejsu API.
  • Próba użycia interfejsu API przy użyciu konsoli interaktywnej.
  • Przeglądanie przykładów kodu w różnych językach programowania.
  • Subskrybowanie interfejsu API i uzyskiwanie klucza subskrypcji interfejsu API.
  • Uruchamianie analizy użycia dewelopera.

Warstwy usługi Azure API Management

Usługa Azure API Management udostępnia kilka warstw usług, z których każda oferuje odrębny zestaw funkcji, pojemności i cen. W poniższej tabeli wymieniono warstwy w kolejności od najniższej do najwyższej ceny i porównaliśmy niektóre kluczowe możliwości.

Kryteria Zużycie Deweloperskie Podstawowa Standardowa Premium
Zaprojektowana pod kątem Uproszczone użycie Ocena, testowanie i inne użycie nieprodukcyjne Użycie produkcyjne na poziomie podstawowym Średnie użycie produkcyjne Duże użycie produkcyjne lub w przedsiębiorstwie
Cache Tylko zewnętrzne 10 megabajtów (MB) 50 MB 1 gigabajt (GB) 5 GB
Umowa dotycząca poziomu usług (SLA) 99,95% Brak 99,95% 99,95% 99,99%
Portal dla deweloperów Nie. Tak Tak Tak Tak
Wbudowana analiza Nie. Tak Tak Tak Tak
Przepływność (szacowane żądania na sekundę) Nie dotyczy 500 1000 2500 4000

Uwaga

Ceny warstwy Zużycie to wywołanie interfejsu API, w którym pierwsze miliony wywołań jest bezpłatne, a reszta jest naliczana według stałej stawki za 10 000 wywołań. Ceny dla wszystkich pozostałych warstw są naliczane za godzinę.

Stosowanie zasad do żądań interfejsu API i odpowiedzi

Jednym z największych problemów z posiadaniem wielu opublikowanych interfejsów API jest to, że każdy interfejs API wymaga oddzielnego zestawu zasad. W tym miejscu zasady to ustawienie lub akcja sterujące zachowaniem interfejsu API. Jeśli na przykład chcesz wymusić limit szybkości (maksymalna liczba wywołań interfejsu API dozwolonych z jednego źródła w danym okresie), należy uwzględnić ten limit w ramach zasad dla interfejsu API. Limit szybkości to tylko jeden przykład, ale istnieje wiele zasad, które można zastosować. Pomnóż to przez kilka różnych interfejsów API i masz koszmar zarządzania.

Usługa Azure API Management rozwiązuje problem z zasadami interfejsu API, umożliwiając ustawianie zasad dla wszystkich interfejsów API w jednym miejscu, czyli interfejsu administracyjnego usługi Azure API Management. Usługa Azure API Management umożliwia ustawianie zasad w wielu kategoriach. Lista częściowa zawiera:

  • Ograniczenie dostępu. Te zasady określają, kiedy żądanie interfejsu API jest dozwolone za pośrednictwem bramy. Na przykład wymuś limity szybkości i przydziały użycia, adresy IP wywołującego filtr i sprawdź prawidłowy token internetowy JSON (JWT).
  • Uwierzytelnianie. Uwierzytelnianie wywołań interfejsu API, na przykład przy użyciu uwierzytelniania podstawowego, certyfikatu klienta lub tożsamości zarządzanej.
  • Buforowanie. Zwiększ wydajność interfejsu API, przechowując i pobierając odpowiedzi w pamięci podręcznej.
  • Walidacja. Zweryfikuj wywołania interfejsu API, porównując niektóre parametry ze specyfikacją interfejsu API. Na przykład zweryfikuj treść żądania lub odpowiedzi, parametry nagłówka żądania i nagłówki odpowiedzi.

Elastyczne łączenie zasad w definicjach zasad, które są dokumentami XML składającymi się z serii instrukcji, z których każdy reprezentuje zasady i jego parametry. Definicje zasad umożliwiają konfigurowanie oddzielnych zasad na różnych etapach potoku żądania-odpowiedzi interfejsu API:

Żądanie interfejsu API użytkownika wchodzi do bramy usługi Azure API Management, w której przechodzi przez zasady ruchu przychodzącego przed wysłaniem do serwera zaplecza. Następnie odpowiedź interfejsu API przechodzi przez zasady ruchu wychodzącego bramy przed wysłaniem do odbiorcy źródłowego interfejsu API.