Projektowanie doskonałych środowisk deweloperskich interfejsu API przy użyciu usługi API Management i usługi GitHub

Azure App Service
Azure Private Link
Azure Virtual Network

Jako wydawca interfejsów API potrzebujesz witryny internetowej, która skutecznie sprzedaje interfejsy API i pomaga klientom rozróżniać oferty. Po wybraniu interfejsów API musisz mieć możliwość udzielenia dostępu tylko do uwierzytelnionych użytkowników, zarządzania zużyciem i dostarczania dokładnych faktur do użycia. W tym przykładowym scenariuszu pokazano, jak za pomocą usługi platformy Azure i usługi GitHub utworzyć platformę, która robi to wszystko i nie tylko.

Architektura

Diagram of the components of this architecture and the workflow through the internet portals and Azure services that constitute the solution, including Microsoft Entra B 2 C, Azure A P I Management, the A P I gateway, and line-of-business services.

Pobierz plik programu PowerPoint tej architektury.

Przepływ danych

Rozwiązanie składa się głównie z następujących bloków konstrukcyjnych:

  • Zarobione interfejsy API zaplecza i brama interfejsu API. Podstawowym elementem rozwiązania jest zestaw interfejsów API zaplecza, które są zarabiane. Użytkownicy, tacy jak użytkownicy, aplikacje i urządzenia, uzyskują dostęp do platformy interfejsu API za pośrednictwem bramy interfejsu API. Brama ogranicza żądania i stosuje wyrównanie szybkości zgodnie z potrzebami.

  • Portal konsumentów i aplikacje. Użytkownicy platformy interfejsu API przeglądają oferty interfejsu API, rejestrują się, a następnie generują klucze subskrypcji, aby uzyskać dostęp do różnych punktów końcowych interfejsu API. Mogą aktualizować informacje o swoich kontach i rozliczeniach przy użyciu funkcji zarządzania kontami rozwiązania.

  • Administracja istracyjne portale i aplikacje. Administratorzy platformy publikują listę produktów interfejsu API, ich cen i planów stawek. Te portale oferują również rozbudowane analizy dotyczące korzystania z różnych produktów interfejsu API, które ułatwiają rozwiązywanie problemów i oferowanie usług pomocy technicznej.

  • Usługi biznesowe. Te usługi są wymagane do dostarczania funkcji portali konsumenckich i aplikacji oraz do obsługi różnych podróży użytkowników obsługiwanych w rozwiązaniu.

  • Aparat obliczania użycia interfejsu API i opłat. Raporty użycia interfejsu API przechwycone w warstwie bramy interfejsu API są okresowo eksportowane do oddzielnego magazynu danych. Zaplanowane zadania są uruchamiane na tych danych, aby obliczyć opłaty, które mają zastosowanie do dowolnego konta konsumenta, na podstawie listy subskrypcji i skojarzonego modelu cenowego.

Sekwencja przetwarzania w tym rozwiązaniu przepływa w następujący sposób:

  1. Wydawca interfejsu API importuje specyfikacje interfejsu API przy użyciu witryny Azure Portal, grupuje je według produktu i publikuje.

  2. Wydawca interfejsu API aktualizuje informacje marketingowe związane z produktem w odpowiednim repozytorium GitHub.

  3. Użytkownik interfejsu API uzyskuje dostęp do portalu marketplace, przegląda różne produkty i wybiera określoną usługę interfejsu API.

  4. Gdy użytkownik próbuje wyświetlić więcej informacji o usłudze API, portal konsumentów przekierowuje użytkownika do rozszerzonego portalu deweloperów hostowanego w usłudze GitHub i korzysta z usługi GitHub Pages.

  5. Użytkownik może przeglądać różne specyfikacje interfejsu API, informacje związane z deweloperem, a nawet spróbować wywołać punkt końcowy przy użyciu przykładowego ładunku.

  6. Użytkownik rejestruje się za pomocą platformy, a następnie aktywuje subskrypcję dla określonej usługi interfejsu API, z której są zainteresowani.

  7. Użytkownik korzysta z usługi interfejsu API w swoich aplikacjach lub urządzeniach.

  8. Wywołanie interfejsu API generuje metryki dotyczące jego użycia i użycia, które są przechowywane przez platformę Azure w bazach danych śledzenia.

  9. Dane zużycia są okresowo eksportowane i zapisywane w niestandardowej bazie danych, zazwyczaj w usłudze Data Lake, w celu dalszej analizy.

  10. Zadanie zaplecza oblicza opłaty za dane użycia i różne subskrypcje.

  11. Informacje dotyczące faktury i płatności są przechowywane w bazie danych księgowości. Te informacje służą do obliczania przychodu dla usługi.

Elementy

Rozwiązanie składa się z następujących ofert oprogramowania jako usługi (SaaS):

  • Usługa Azure API Management to zarządzana platforma jako usługa, która umożliwia organizacjom publikowanie interfejsów API zarówno dla użytkowników wewnętrznych, jak i zewnętrznych. Za pomocą usługi API Management można publikować interfejsy API, które mogą być hostowane w dowolnym miejscu. Zasadniczo usługa API Management umożliwia oddzielenie hostingu interfejsu API z opublikowanej bramy, która działa jako pojedynczy punkt wejścia dla pełnego krajobrazu interfejsów API publikowanych przez przedsiębiorstwo. Aby uzyskać więcej informacji, zobacz Wzorzec routingu bramy.

    Usługa API Management udostępnia również warstwę ładu na wszystkich opublikowanych interfejsach API. Korzystając z zasad usługi API Management, różne inne możliwości, takie jak limity szybkości i limity przydziału, można ograniczyć żądania interfejsu API na podstawie klucza lub subskrypcji. Usługa API Management zawiera portal dla deweloperów, który udostępnia w pełni dostosowywalną witrynę internetową służącą jako dokumentacja interfejsów API publikowanych za jego pośrednictwem.

  • GitHub to popularna oferta SaaS firmy Microsoft, która jest często używana przez deweloperów do tworzenia, dostarczania i utrzymywania projektów oprogramowania. Udostępnia ważne funkcje, których można używać w rozwiązaniach:

  • aplikacja systemu Azure Service to w pełni zarządzana platforma obliczeniowa do hostowania niestandardowych aplikacji internetowych.

  • Azure Active Directory B2C (Azure AD B2C) to rozszerzenie identyfikatora Firmy Microsoft Entra, którego aplikacja może używać do zarządzania tożsamościami klientów zewnętrznych lub partnerów w celu uzyskania dostępu i autoryzacji. Korzystając z platformy identyfikacji firmy Microsoft, można łatwo zintegrować tożsamość i autoryzację w aplikacjach niestandardowych.

Szczegóły scenariusza

Powodzenie i wdrożenie dowolnej platformy interfejsu API zależy w dużej mierze od tego, jak bardzo jest on traktowany na platformie handlowej. Poza aktywami cyfrowymi oferowanymi przez platformę łatwość znajdowania interfejsów API i łatwość ich używania ma duży wpływ na to, czy klienci korzystają z platformy. Klienci muszą mieć możliwość znajdowania dokumentacji i otrzymywania pomocy technicznej w przypadku problemów. Platforma powinna również ułatwić współtworzenie przez społeczność, aby pomóc klientom kształtować interfejsy API zgodnie z ich potrzebami. Jako wydawca interfejsów API potrzebujesz witryny internetowej, która skutecznie sprzedaje interfejsy API i pomaga klientom rozróżniać oferty. Po wybraniu interfejsów API musisz mieć możliwość udzielenia dostępu tylko do uwierzytelnionych użytkowników, zarządzania zużyciem i dostarczania dokładnych faktur do użycia. W tym przykładowym scenariuszu pokazano, jak za pomocą usługi platformy Azure i usługi GitHub utworzyć platformę, która robi to wszystko i nie tylko.

Potencjalne przypadki użycia

Tego rozwiązania można użyć, aby ułatwić deweloperom interfejsów API:

  • Odkryj i poznaj oferty produktów interfejsu API.
  • Subskrybowanie i integrowanie z różnymi aplikacjami i kanałami.
  • Uzyskaj pomoc, rozwiąż problemy i rozwiąż problemy.
  • Promuj wkład społeczności i wymieniaj pomysły i wiedzę.

Łańcuch wartości interfejsu API

Diagram that describes the A P I value chain.

W górnej części łańcucha wartości jest dostawca usług interfejsu API. Następnie są użytkownicy interfejsu API lub integratorzy, którzy projektują i tworzą środowiska dla użytkowników docelowych. Użytkownicy końcowi i klienci są ostatecznymi beneficjentami w łańcuchu wartości.

Środowisko deweloperskie interfejsu API

Diagram of features and capabilities of the enhanced A P I developer experience.

Pobierz plik programu PowerPoint z tego diagramu.

Środowisko deweloperskie interfejsu API oferuje trzy portale:

  • Portal konsumentów. Portal konsumencki służy jako witryna internetowa marketingowa, która prezentuje różne produkty interfejsu API oferowane przez przedsiębiorstwo.

  • Portal dla deweloperów. Portal dla deweloperów udostępnia deweloperom innych firm dokumentację dotyczącą różnych usług interfejsu API i sposobu ich używania w aplikacjach.

  • Portal konta. Zarejestrowani użytkownicy zarządzają swoimi subskrypcjami i wykonują inne działania związane z kontem przy użyciu portalu kont.

Wymagania funkcjonalne

Na wysokim poziomie wymagania funkcjonalne platformy interfejsu API w skali przedsiębiorstwa mieszczą się w trzech kategoriach, czyli productization, platform administration i consumer experiences.

Diagram that shows three broad functional requirements of an enterprise-scale A P I platform.

W poniższych sekcjach szczegółowo opisano możliwości w poszczególnych obszarach funkcji.

Productization (Produktyzacja)

Celem produktu jest zidentyfikowanie i zdefiniowanie zarabianych interfejsów API, ich zarządzania i strategii sprzedaży ich jako produktów cyfrowych. W rezultacie obejmuje następujące elementy:

  • Możliwości, takie jak identyfikowanie wariantów produktów i ich odpowiednie mapowanie na zasoby fizyczne.
  • Definicja planów cen i stawek wraz z wymaganymi metadanymi.
  • Zawartość, która musi zostać utworzona do obsługi środowiska użytkownika.

Produktyzacja obejmuje następujące możliwości:

  • Produkty interfejsu API. Ten wykaz interfejsów API jest udostępniany konsumentom. Produkt może być oferowany do zakupu lub jako bezpłatna usługa.

  • Warianty. Środowisko deweloperskie powinno identyfikować warianty dowolnego produktu interfejsu API, który jest zarabiany.

  • Plany cenowe. Zdefiniuj różne plany cenowe, aby uczynić je atrakcyjnymi dla konsumentów.

  • Taksonomia i zawartość. Zdefiniuj i utwórz zawartość — tekstową, pliki PDF, obrazy itd. — która jest wymagana dla strategii marketingowej dla tych produktów interfejsu API.

  • Zasoby fizyczne. Obejmuje to rzeczywiste usługi w chmurze, które są częścią określonego produktu interfejsu API i odpowiedniego zarządzania cyklem życia. Rozważ koszty operacji utrzymania tych usług podczas uzyskiwania planów cenowych.

Administrowanie platformą

Administracja platformą koncentruje się na ogólnym hostingu, zarządzaniu i zarządzaniu platformą interfejsu API. Zapewnia również kompleksowe rozwiązanie do administrowania różnymi aplikacjami i usługami biznesowymi. Głównymi obszarami zainteresowania są zarządzanie subskrypcjami, rozliczenia i fakturowanie. Administracja platformą zapewnia również generowanie analiz biznesowych i analiz, aby przedstawić ogólną kondycję usługi, w tym jej aspekty finansowe i operacyjne.

Administrowanie platformą obejmuje następujące możliwości:

  • Rejestracja użytkownika. Identyfikowanie sposobu rejestrowania użytkowników na platformie. Zdefiniuj wszelkie niezbędne przepływy pracy zatwierdzania w zależności od segmentu użytkownika.

  • Wykaz interfejsów API. Identyfikowanie zasobów interfejsu API publikowanych za pośrednictwem usługi API Management. Stosowanie zasad w celu kontrolowania dostępu i używania interfejsów API. Zarządzanie subskrypcjami użytkowników.

  • Szczegółowe informacje i analizy. Przechwytywanie danych telemetrycznych w celu wygenerowania różnych metryk. Wizualizuj dane przy użyciu różnych pulpitów nawigacyjnych, takich jak usługa Power BI, aby uzyskać różne szczegółowe informacje wymagane dla osób podejmujących decyzje biznesowe i INFORMATYCZNE.

  • Rozliczenia i fakturowanie. Zdefiniuj przepływy pracy związane z subskrypcjami, zarządzaniem zamówieniami, rozliczeniami i fakturowaniem.

  • Obsługa. Ustanów narzędzia i procesy do obsługi żądań pomocy technicznej.

Środowisko użytkownika

Wdrożenie platformy interfejsu API jest bardzo zależne od tego, jak łatwo użytkownicy mogą:

  • Odkryj potrzebne interfejsy API.
  • Przejrzyj specyfikację i zawartość techniczną, przeglądając portal deweloperów.
  • Zarejestruj się, aby subskrybować.
  • Płatność za wybrane produkty interfejsu API.
  • Zacznij korzystać z interfejsów API w swoich aplikacjach.

Środowisko użytkownika jest zwykle dostarczane za pośrednictwem portalu internetowego, aplikacji mobilnej lub obu tych elementów. Usługi Azure AD B2C można użyć do ułatwienia rejestracji użytkowników i zarządzania tożsamościami. Usługa Azure AD B2C obejmuje obsługę dostawców tożsamości OpenID, takich jak Microsoft i Google.

Środowiska konsumentów składają się z następujących składników:

  • Katalog produktów (API). Utwórz środowisko platformy handlowej dla użytkowników, zarówno anonimowych, jak i zarejestrowanych.

  • Zarządzanie kontami i subskrypcjami. Ustanów procedury rejestrowania i logowania na podstawie typów użytkowników, których oczekujesz użycia interfejsu API. Obsługa preferencji użytkowników, takich jak korzystanie z istniejących dostawców tożsamości społecznościowych. Zezwalaj na samoobsługowe zarządzanie subskrypcjami, aktywację i dezaktywację usług oraz płatność opłat za fakturę.

  • Interfejs użytkownika /Środowisko użytkownika (UX). Zidentyfikuj i zdefiniuj środowiska dla kanałów, które są obsługiwane przez użytkownika końcowego. Obejmują funkcje wieloukładnikowe obejmujące wiele urządzeń, a także nowoczesne projektowanie interfejsu użytkownika. Wzbogacanie doświadczenia poprzez badania użyteczności.

Kwestie wymagające rozważenia

Składniki w tym scenariuszu dotyczą problemów z wydajnością, niezawodnością i zabezpieczeniami.

Usługa API Management obsługuje skalowanie automatyczne, które szybko rozszerza możliwości usługi API Management w odpowiedzi na rosnącą liczbę żądań przychodzących. Usługa API Management obsługuje również nadmiarowość stref i wdrożenia w wielu regionach w celu zapewnienia odporności i wysokiej dostępności. Aby uzyskać więcej informacji na temat nadmiarowości stref, zobacz Obsługa stref dostępności dla usługi Azure API Management. Aby uzyskać więcej informacji na temat zabezpieczeń usługi API Management, zobacz Punkt odniesienia zabezpieczeń platformy Azure dla usługi API Management.

App Service to w pełni zarządzana platforma jako usługa, która oferuje wbudowane zabezpieczenia i skalowanie automatyczne z umową SLA , która obiecuje wysoką dostępność. Usługa App Service jest zgodna ze standardem ISO, SOC i PCI i obsługuje uwierzytelnianie użytkowników przy użyciu identyfikatora Microsoft Entra ID, Google, Facebook, Twitter lub konta Microsoft. Usługa App Service umożliwia również tworzenie ograniczeń adresów IP.

Usługa Azure AD B2C oferuje wysoką dostępność i skaluje do obsługi setek milionów użytkowników. Usługa Azure AD B2C obsługuje Połączenie OpenID i wielu dostawców tożsamości, dzięki czemu klienci mogą wybrać preferowanego dostawcę. Usługa Azure AD B2C obsługuje również uwierzytelnianie wieloskładnikowe oparte na aplikacjach i oparte na zasadach, dodając dodatkowe warstwy zabezpieczeń. Aby uzyskać więcej informacji na temat usługi Azure AD B2C, zobacz Co to jest usługa Azure Active Directory B2C? Aby uzyskać więcej informacji na temat używania tożsamości zewnętrznych, zobacz External Identities in Microsoft Entra ID (Tożsamości zewnętrzne w usłudze Microsoft Entra ID).

Usługa GitHub umożliwia przeglądom zabezpieczeń zautomatyzowaną część przeglądów kodu, skanowanie każdego nowego zatwierdzenia pod kątem potencjalnych problemów z zabezpieczeniami. Ta usługa ułatwia odnajdywanie problemów, gdy tylko są one oferowane jako dodatki do bazy kodu. Zabezpieczenia usługi GitHub umożliwiają dostosowywanie wyszukiwań pod kątem problemów z zabezpieczeniami i integrowanie aparatów skanowania innych firm. Aby uzyskać więcej funkcji i szczegółów, zobacz Zabezpieczenia w usłudze GitHub.

Optymalizacja kosztów

Portal konsumencki można opracowywać przy użyciu planu cenowego zespołu lub przedsiębiorstwadla usługi GitHub. Zapoznaj się z macierzą funkcji, aby określić, który plan najlepiej odpowiada twojemu przedsiębiorstwu.

W przypadku usługi API Management można użyć warstwy Standardowa lub Premium . Aby lepiej zrozumieć różnice między warstwami, zobacz Opcje cen usługi API Management.

W przypadku usługi aplikacja systemu Azure zapoznaj się z opcjami cen dostępnymi dla środowisk systemu Windows i Linux na potrzeby hostowania aplikacji.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Następne kroki