Geweldige API-ontwikkelaarservaringen ontwerpen met API Management en GitHub

Azure App Service
Azure Private Link
Azure Virtual Network

Als uitgever van API's hebt u een website nodig die uw API's effectief in de handel brengt en klanten helpt om onderscheid te maken tussen aanbiedingen. Wanneer ze API's hebben geselecteerd, moet u alleen toegang kunnen verlenen tot geverifieerde gebruikers, verbruik beheren en nauwkeurige facturen leveren voor gebruik. In dit voorbeeldscenario ziet u hoe u de Azure-service en GitHub kunt gebruiken om een platform te maken dat dit alles en meer doet.

Architectuur

Diagram van de onderdelen van deze architectuur en de werkstroom via internetportals en Azure-services die de oplossing vormen, waaronder Microsoft Entra B 2 C, Azure A P I Management, de A P I-gateway en line-of-business-services.

Download een PowerPoint-bestand van deze architectuur.

Gegevensstroom

De oplossing bestaat voornamelijk uit de volgende bouwstenen:

  • Verdiende back-end-API's en API-gateway. De kern van de oplossing is de set back-end-API's die worden gegenereerd. De consumenten, zoals gebruikers, toepassingen en apparaten, hebben toegang tot het API-platform via een API-gateway. De gateway beperkt aanvragen en past de snelheidsverdeling zo nodig toe.

  • Consumentenportal en toepassingen. De gebruikers van het API-platform bladeren door de API-aanbiedingen, registreren en vervolgens abonnementssleutels genereren voor toegang tot de verschillende API-eindpunten. Ze kunnen informatie over hun accounts en facturering bijwerken met behulp van de accountbeheerfuncties van de oplossing.

  • Beheer istratieve portals en toepassingen. Platformbeheerders publiceren de lijst met API-producten, hun prijzen en tariefplannen. Deze portals bieden ook uitgebreide analyses over het gebruik van de verschillende API-producten, die helpen bij het oplossen van problemen en het aanbieden van ondersteuningsservices.

  • Line-Of-Business-services. Deze services zijn vereist om de functionaliteiten van de consumentenportals en -toepassingen te leveren en om de verschillende gebruikerstrajecten te ondersteunen die in de oplossing worden ondersteund.

  • Engine voor het bijhouden van API-verbruik en het berekenen van kosten. De API-verbruiksrapporten, vastgelegd op de API-gatewaylaag, worden periodiek geëxporteerd naar een afzonderlijk gegevensarchief. Geplande taken worden uitgevoerd op deze gegevens om de kosten te berekenen die van toepassing zijn op een consumentenaccount, op basis van de lijst met abonnementen en het bijbehorende prijsmodel.

De verwerkingsvolgorde in deze oplossing loopt als volgt:

  1. De API-uitgever importeert de API-specificaties met behulp van Azure Portal, groepeert ze op product en publiceert ze.

  2. De API-uitgever werkt de productgerelateerde marketinginformatie bij in de bijbehorende GitHub-opslagplaats.

  3. De API-consument opent de Marketplace-portal, bladert door de verschillende producten en selecteert een specifieke API-service.

  4. Wanneer de consument meer informatie over de API-service probeert weer te geven, leidt de consumentenportal de consument om naar de verbeterde ontwikkelaarsportal, die op GitHub wordt gehost en GitHub Pages gebruikt.

  5. De consument kan door verschillende API-specificaties bladeren, informatie over ontwikkelaars en zelfs proberen een eindpunt aan te roepen met behulp van een voorbeeldpayload.

  6. De consument registreert zich bij het platform en activeert vervolgens een abonnement voor de specifieke API-service die ze willen gebruiken.

  7. De consument maakt gebruik van de API-service in hun apps of apparaten.

  8. De aanroep van de API genereert metrische gegevens over het gebruik en verbruik, die door Azure worden opgeslagen in het bijhouden van databases.

  9. De verbruiksgegevens worden periodiek geëxporteerd en opgeslagen in een aangepaste database, meestal een data lake, voor verdere analyse.

  10. Een back-endtaak berekent de kosten van de verbruiksgegevens en de verschillende abonnementen.

  11. De factuur- en betalingsgerelateerde informatie wordt opgeslagen in de boekhouddatabase. Deze informatie wordt gebruikt om de omzet voor de service te berekenen.

Onderdelen

De oplossing bestaat uit de volgende SaaS-aanbiedingen (Software as a Service):

Scenariodetails

Het succes en de acceptatie van een API-platform is grotendeels afhankelijk van hoe hoog het in de marketplace wordt beschouwd. Naast de digitale assets die door het platform worden aangeboden, heeft het gemak van het vinden van API's en het gebruik ervan een groot effect op of klanten een platform gebruiken. Klanten moeten documentatie kunnen vinden en ondersteuning kunnen krijgen voor problemen. Het platform moet ook bijdragen van de community faciliteren om uw klanten te helpen uw API's vorm te geven aan hun behoeften. Als uitgever van API's hebt u een website nodig die uw API's effectief in de handel brengt en klanten helpt om onderscheid te maken tussen aanbiedingen. Wanneer ze API's hebben geselecteerd, moet u alleen toegang kunnen verlenen tot geverifieerde gebruikers, verbruik beheren en nauwkeurige facturen leveren voor gebruik. In dit voorbeeldscenario ziet u hoe u de Azure-service en GitHub kunt gebruiken om een platform te maken dat dit alles en meer doet.

Potentiële gebruikscases

U kunt deze oplossing gebruiken om api-ontwikkelaars het volgende te laten doen:

  • Ontdek en begrijp uw API-productaanbiedingen.
  • Abonneren en integreren met uw verschillende toepassingen en kanalen.
  • Hulp krijgen, problemen oplossen en problemen oplossen.
  • Bevordert de bijdrage van de gemeenschap en wissel ideeën en kennis uit.

API-waardeketen

Diagram waarin de A P I-waardeketen wordt beschreven.

Bovenaan de waardeketen bevindt zich de API-serviceprovider. Hierna volgen de API-gebruikers of integrators, die de ervaringen ontwerpen en bouwen voor de uiteindelijke doelgebruikers. Eindgebruikers en klanten zijn de eindbegunstigden in de waardeketen.

API-ontwikkelaarservaring

Diagram van functies en mogelijkheden van de verbeterde A P I-ontwikkelaarservaring.

Download een PowerPoint-bestand van dit diagram.

De API-ontwikkelaarservaring bevat drie portals:

  • Consumentenportal. De consumentenportal fungeert als een marketingwebsite die de verschillende API-producten laat zien die door de onderneming worden aangeboden.

  • Ontwikkelaarsportal. De ontwikkelaarsportal biedt externe ontwikkelaars documentatie over de verschillende API-services en hoe ze in hun toepassingen kunnen worden gebruikt.

  • Accountportal. Geregistreerde gebruikers beheren hun abonnementen en voeren andere accountgerelateerde activiteiten uit met behulp van de accountportal.

Functionele vereisten

Op hoog niveau passen de functionele vereisten voor een API-platform op ondernemingsniveau in drie categorieën, namelijk productisering, platformbeheer en consumentenervaringen.

Diagram met drie algemene functionele vereisten van een P I-platform op ondernemingsniveau.

In de volgende secties worden de mogelijkheden binnen elk functiegebied nader beschreven.

Productisering

Het doel van productisering is het identificeren en definiëren van de api's met inkomsten, hun beheer en een strategie voor het verkopen van ze als digitale producten. Als gevolg hiervan wordt het volgende behandeld:

  • Mogelijkheden, zoals het identificeren van varianten van de producten en de bijbehorende toewijzing aan fysieke assets.
  • Een definitie van de prijs- en tariefplannen, samen met de benodigde metagegevens.
  • Inhoud die moet worden gemaakt om de consumentenervaring te stimuleren.

Productisatie omvat de volgende mogelijkheden:

  • API-producten. Deze catalogus met API's wordt beschikbaar gesteld aan de consumenten. Een product kan worden aangeboden voor aankoop of als een gratis service.

  • Varianten. De ontwikkelaarservaring moet de varianten van elk API-product identificeren dat wordt verdiend.

  • Prijsplannen. Definieer de verschillende prijsplannen om deze aantrekkelijk te maken voor de consumenten.

  • Taxonomie en inhoud. Definieer en maak de inhoud ( tekstuele, PDF-bestanden, afbeeldingen, enzovoort) die nodig is voor de marketingstrategie voor deze API-producten.

  • Fysieke assets. Dit omvat de werkelijke cloudservices die deel uitmaken van het specifieke API-product en het bijbehorende levenscyclusbeheer. Houd rekening met de operationele kosten voor het onderhouden van deze services terwijl de prijsplannen worden afgeleid.

Platformbeheer

Platformbeheer is gericht op de algehele hosting, het beheer en de governance van het API-platform. Het biedt ook een end-to-end oplossing voor het beheer van de verschillende Line-Of-Business-toepassingen en -services. Belangrijke aandachtsgebieden zijn abonnementsbeheer, facturering en facturering. Platformbeheer biedt ook het genereren van zakelijke inzichten en analyses om de algehele status van de service te presenteren, met inbegrip van de financiële en operationele aspecten.

Platformbeheer omvat de volgende mogelijkheden:

  • Gebruikersregistratie. Bepaal hoe gebruikers zich registreren bij het platform. Definieer eventuele goedkeuringswerkstromen die nodig zijn, afhankelijk van het gebruikerssegment.

  • API-catalogus. Identificeer de API-assets die zijn gepubliceerd via API Management. Beleid toepassen om de toegang en het gebruik van de API's te beheren. Beheer de abonnementen van de gebruikers.

  • Inzichten en analyses. Leg telemetriegegevens vast om verschillende metrische gegevens te genereren. Visualiseer de gegevens met behulp van verschillende dashboards, zoals Power BI, om de verschillende inzichten af te leiden die nodig zijn voor zakelijke en IT-besluitvormers.

  • Facturering en facturering. Definieer de werkstromen die betrekking hebben op abonnementen, orderbeheer, facturering en facturering.

  • Ondersteuning. Stel hulpprogramma's en processen in om ondersteuningsaanvragen af te handelen.

Consumentenervaring

De acceptatie van het API-platform is sterk afhankelijk van hoe eenvoudig consumenten het volgende kunnen doen:

  • Ontdek de API's die ze nodig hebben.
  • Bekijk de specificatie en technische inhoud door te bladeren via de ontwikkelaarsportal.
  • Registreer u om u te abonneren.
  • Betaal voor de API-producten die ze hebben geselecteerd.
  • Begin met het gebruik van de API's in hun toepassingen.

Een consumentenervaring wordt doorgaans geleverd via een webportal, een mobiele app of beide. U kunt Azure AD B2C gebruiken om gebruikersregistratie en identiteitsbeheer te vergemakkelijken. Azure AD B2C bevat ondersteuning voor OpenID-id-providers, zoals Microsoft en Google.

Consumentenervaringen bestaan uit de volgende onderdelen:

  • Productcatalogus (API). Maak een marketplace-ervaring voor gebruikers, zowel anoniem als geregistreerd.

  • Account- en abonnementsbeheer. Stel procedures in voor het registreren en aanmelden op basis van de typen gebruikers die u verwacht uw API te gebruiken. Ondersteuning voor gebruikersvoorkeuren, zoals het gebruik van bestaande sociale id-providers. Toestaan dat selfserviceabonnementen, activerings- en deactiveringsservices en betaling van kosten worden gefactureerd.

  • Gebruikersinterface (UI) / Gebruikerservaring (UX). Identificeer en definieer de ervaringen voor de kanalen die u ondersteunt voor eindgebruikerservaringen. Voeg mogelijkheden voor meerdere apparaten, multi-form-factor-mogelijkheden toe, samen met het moderne ui-ontwerp. Verrijk de ervaring via bruikbaarheidsstudies.

Overwegingen

De onderdelen in dit scenario lossen problemen op met prestaties, betrouwbaarheid en beveiliging.

API Management biedt ondersteuning voor automatisch schalen, waardoor API Management-mogelijkheden snel worden uitgebreid als reactie op groeiende aantallen binnenkomende aanvragen. API Management biedt ook ondersteuning voor zoneredundantie en implementaties in meerdere regio's om tolerantie en hoge beschikbaarheid te bieden. Zie Ondersteuning voor beschikbaarheidszones voor Azure API Management voor meer informatie over zoneredundantie. Zie De Azure-beveiligingsbasislijn voor API Management voor meer informatie over API Management-beveiliging.

App Service is een volledig beheerd platform als een service die ingebouwde beveiliging en automatische schaalaanpassing biedt met een SLA die hoge beschikbaarheid belooft. App Service is ISO-, SOC- en PCI-compatibel en biedt ondersteuning voor het verifiëren van gebruikers met een Microsoft Entra-id, Google-, Facebook-, Twitter- of Microsoft-account. Met App Service kunt u ook IP-adresbeperkingen maken.

Azure AD B2C biedt hoge beschikbaarheid en schaalt om honderden miljoenen gebruikers te ondersteunen. Azure AD B2C ondersteunt OpenID Verbinding maken en meerdere id-providers, zodat klanten hun voorkeursprovider kunnen kiezen. Azure AD B2C biedt ook ondersteuning voor meervoudige verificatie op basis van toepassingen en beleid, waarbij extra beveiligingslagen worden toegevoegd. Zie Wat is Azure Active Directory B2C? Zie Externe identiteiten in Microsoft Entra-id voor meer informatie over het gebruik van externe identiteiten.

GitHub maakt beveiligingsbeoordelingen een geautomatiseerd onderdeel van codebeoordelingen en scant elke nieuwe doorvoering op mogelijke beveiligingsproblemen. Deze service helpt u bij het detecteren van problemen zodra ze worden aangeboden als toevoegingen aan de codebasis. Met GitHub-beveiliging kunt u zoekopdrachten naar beveiligingsproblemen aanpassen en scanengines van derden integreren. Zie Beveiliging op GitHub voor meer functies en details.

Kostenoptimalisatie

U kunt de consumentenportal ontwikkelen met behulp van het prijsplan Team of Enterprisevoor GitHub. Raadpleeg de functiematrix om te bepalen welk abonnement het beste bij uw onderneming past.

Voor API Management kunt u de Standard- of Premium-lagengebruiken. Zie api Management-prijsopties voor meer inzicht in de verschillen tussen de lagen.

Raadpleeg voor Azure-app Service de prijsopties die beschikbaar zijn voor Windows- en Linux-omgevingen voor het hosten van uw toepassingen.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Volgende stappen