Kiedy należy używać usługi Azure API Management

Ukończone

Teraz omówimy niektóre scenariusze ilustrujące, kiedy jest to odpowiednie do korzystania z usługi Azure API Management. Korzystając z usługi dostarczania żywności jako przykładu, zbadajmy zarządzanie cyklem życia interfejsu API w odniesieniu do standaryzacji interfejsów API, scentralizowanego zarządzania interfejsami API i ekspozycji oraz zwiększenia bezpieczeństwa interfejsu API. Możemy użyć następujących kryteriów, aby pomóc w podjęciu decyzji, czy usługa Azure API Management jest odpowiednim wyborem do zarządzania spisem interfejsów API w organizacji i publikowania ich:

Kryteria decyzji

Kryteria Analiza
Liczba interfejsów API Kluczową kwestią jest liczba zarządzanych interfejsów API. Im więcej wdrożonych interfejsów API, tym większa potrzeba standaryzacji wdrożenia i centralizacji kontrolki interfejsu API.
Częstotliwość zmian interfejsu API Kolejną kwestią jest szybkość implementacji poprawek i wersji interfejsu API w organizacji. Im szybciej tworzysz poprawki interfejsu API i publikujesz nowe wersje interfejsu API, tym większa potrzeba niezawodnego i elastycznego systemu kontroli wersji.
Ładowanie administracyjne interfejsu API Ostatnią kwestią jest to, ile narzucisz zasad do interfejsów API. Zasady, takie jak limity przydziału użycia, limity liczby wywołań, przekształcenia żądań i walidacja żądań. Im więcej konfiguracji i opcji, których wymagają interfejsy API, tym większa potrzeba standaryzacji i scentralizowanych implementacji zasad.

Stosowanie kryteriów

Usługa Azure API Management to właściwy wybór do zarządzania interfejsami API za pośrednictwem ich cykli życia, gdy masz duże wdrożenie interfejsu API, które często zmienia się i wymaga znacznych obciążeń związanych z zasadami. Jednak te kryteria nie mają równego zastosowania do wszystkich przypadków użycia. Rozważmy, jak te kryteria mają zastosowanie do przypadków użycia w naszym scenariuszu.

Czy należy używać usługi Azure API Management do standaryzacji interfejsów API?

Dzięki włączeniu zarządzania wieloma interfejsami API z jednego interfejsu administracyjnego usługa Azure API Management ułatwia tworzenie spójności w wielu interfejsach API. Istnieje możliwość standaryzacji wielu funkcji interfejsu API, w tym:

  • Specyfikacje. Standaryzacja specyfikacji interfejsu API — takich jak używanie interfejsu REST dla wszystkich interfejsów API i używanie spójnego schematu nazewnictwa par nazw JSON — skraca czas programowania, zmniejsza błędy i umożliwia organizacji szybsze reagowanie na sugestie klientów i siły rynkowe.
  • Dokumentacja. Standaryzacja dokumentacji interfejsu API umożliwia deweloperom szybkie przyspieszenie pracy z interfejsem API. Zmniejsza to również zapytania pomocy technicznej i zachęca deweloperów do korzystania z większej liczby interfejsów API.
  • Adresy URL. Standaryzacja podstawowego adresu URL interfejsów API zmniejsza błędy konsumentów i zapewnia wdrożenie interfejsu API bardziej profesjonalny wygląd.
  • Analiza. Standaryzacja analizy interfejsu API umożliwia zespołom i inżynierom zarządzania porównanie użycia i wydajności w wielu interfejsach API.
  • Przepisy. W przypadku interfejsów API, które muszą spełniać reguły i przepisy dla instytucji rządowych lub branżowych, standaryzacja pomaga zapewnić zgodność we wszystkich interfejsach API.

Kilka interfejsów API o różnych konfiguracjach jest importowanych do usługi Azure API Management. Gdy pojawiają się one z usługi API Management, mają ustandaryzowane konfiguracje.

W większości przypadków potrzeba standaryzacji zwiększa się w następujący sposób:

  • Liczba interfejsów API rośnie.
  • Szybkość, z jaką interfejsy API są zmieniane, zwiększa się.
  • Obciążenie administracyjne interfejsu API staje się większe.

Ta potrzeba dotyczy scenariusza platformy dostarczania żywności, który wymaga spójności między interfejsami API aplikacji mobilnej, aplikacji internetowej i restauracji partnerskich.

Czy należy używać usługi Azure API Management do scentralizowanych operacji interfejsu API?

Usługa Azure API Management zwiększa centralizację wszystkich operacji interfejsu API, przenosząc wiele interfejsów API w ramach jednego parasola administracyjnego. Bez usługi API Management każdy interfejs API jest na własną rękę pod względem administrowania, wdrażania i dostępu deweloperów. Ten zdecentralizowany model często powoduje zduplikowane nakłady pracy i zwiększone obciążenie. Scentralizowanie operacji interfejsu API może spowodować następujące korzyści:

  • Administracja. Stosowanie operacji administracyjnych — takich jak tworzenie zasad, zarządzanie użytkownikami i analiza — w jednej lokalizacji, takiej jak interfejs administracyjny udostępniany przez usługę Azure API Management. Scentralizowanie zadań administracyjnych sprawia, że uruchamianie tych zadań jest prostsze i bardziej wydajne.
  • Wdrożenie. Kierowanie wszystkich żądań interfejsu API za pośrednictwem jednego podstawowego adresu URL, takiego jak punkt końcowy utworzony przez bramę usługi Azure API Management. Centralizacja wdrażania ułatwia wymuszanie zasad i stosowanie przekształceń.
  • Dostęp dewelopera. Umieść wszystkie zasoby dla deweloperów — takie jak dokumentacja, przykłady kodu, testowanie i subskrypcje — w jednej lokalizacji, takiej jak portal dla deweloperów w usłudze Azure API Management. Scentralizowanie dostępu deweloperów ułatwia deweloperom znajdowanie interfejsów API i korzystanie z nich.

Wydajność naliczana z scentralizowanych operacji interfejsu API zwykle zwiększa się wraz z liczbą interfejsów API i ogólnym rozmiarem obciążenia administracyjnego nakładanym na interfejsy API. Scentralizowane interfejsy API to ogromna pomoc, gdy interfejsy API są często aktualizowane, ponieważ umożliwia pojedynczy schemat przechowywania wersji dla wszystkich produktów.

Wszystkie te czynniki mają duże zastosowanie do naszego scenariusza platformy dostarczania żywności. Na przykład scentralizowany dostęp konsumentów za pośrednictwem portalu dla deweloperów ułatwia rejestrowanie nowych deweloperów, zwiększając zarabianie na interfejsach API platformy.

Czy należy używać usługi Azure API Management do zabezpieczania dostępu do interfejsów API?

Usługa Azure API Management została zaprojektowana z myślą o zabezpieczeniach interfejsu API. Tak wiele organizacji korzysta z interfejsów API na potrzeby wewnętrznej i zewnętrznej wymiany danych między aplikacjami i urządzeniami. Przypadkowe lub niespójne podejście do bezpieczeństwa po prostu prosi o kłopoty. Właściwa strategia zabezpieczeń interfejsu API obejmuje następujące podstawy:

  • Uprawnienia. Kontroluj, kto może pracować z interfejsem API i co może z nim zrobić. W usłudze Azure API Management posiadanie wszystkich użytkowników interfejsu API jako użytkowników i możliwość organizowania tych użytkowników w grupy ułatwia i wydajniejsze stosowanie uprawnień w celu kontrolowania dostępu do interfejsu API.
  • Dostęp. Zezwalaj tylko autoryzowanym użytkownikom na przesyłanie żądań. Za pomocą usługi Azure API Management portal dla deweloperów dostarcza użytkownikom klucze subskrypcji i można ograniczyć dostęp do interfejsów API przy użyciu wielu form uwierzytelniania i tokenów internetowych JSON.
  • Ochrona. Zabezpieczanie interfejsu API przed złośliwym użyciem. Usługa Azure API Management umożliwia ograniczanie dostępu do interfejsu API przy użyciu limitów szybkości i przydziałów użycia, aby zapobiec niewłaściwemu użyciu użytkownika (zamierzonemu lub przypadkowemu) interfejsu API.
  • Zgodność. Upewnij się, że interfejsy API spełniają wszystkie zasady zabezpieczeń firmy lub instytucji rządowych. Posiadanie wszystkich interfejsów API razem w usłudze Azure API Management ułatwia konfigurowanie tych interfejsów API przy użyciu zasad zabezpieczeń, które zapewniają zgodność.

Im więcej zarządzanych interfejsów API, tym większa potrzeba zabezpieczeń. Posiadanie większej liczby interfejsów API oznacza większą powierzchnię ataków i większe ryzyko przypadkowych naruszeń lub wycieków danych. Ponadto im częściej zmieniasz interfejsy API, tym większe prawdopodobieństwo, że wersja lub nowa wersja mogą wykryć usterkę zabezpieczeń.

Te obawy dotyczące bezpieczeństwa są najważniejsze w naszym scenariuszu dostarczania żywności. Nasza platforma generuje i przechowuje wiele poufnych danych, w tym płatności restauracji, nazw klientów i adresów oraz lokalizacji pojazdów dostawczych.