Co to jest usługa Azure API Management?
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
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: