Redigera

Dela via


Utforma fantastiska API-utvecklarupplevelser med HJÄLP av API Management och GitHub

Azure App Service
Azure Private Link
Azure Virtual Network

Som utgivare av API:er behöver du en webbplats som effektivt marknadsför dina API:er och hjälper kunderna att skilja mellan erbjudanden. När de har valt API:er måste du bara kunna ge åtkomst till autentiserade användare, hantera förbrukning och leverera korrekta fakturor för användning. Det här exempelscenariot visar hur du kan använda Azure-tjänsten och GitHub för att skapa en plattform som gör allt detta och mer.

Arkitektur

Diagram över komponenterna i den här arkitekturen och arbetsflödet via Internetportaler och Azure-tjänster som utgör lösningen, inklusive Microsoft Entra B 2 C, Azure A P I Management, A P I-gatewayen och verksamhetsspecifika tjänster.

Ladda ned en PowerPoint-fil med den här arkitekturen.

Dataflöde

Lösningen består främst av följande byggstenar:

  • Monetariserade serverdels-API:er och API-gateway. Kärnan i lösningen är den uppsättning backend-API:er som är intäktsgenererade. Konsumenterna, till exempel användare, program och enheter, får åtkomst till API-plattformen via en API-gateway. Gatewayen begränsar begäranden och tillämpar hastighetsutjämning efter behov.

  • Konsumentportal och program. Användarna av API-plattformen bläddrar i API-erbjudandena, registrerar och genererar sedan prenumerationsnycklar för att få åtkomst till de olika API-slutpunkterna. De kan uppdatera information om sina konton och fakturering med hjälp av funktionerna för kontohantering i lösningen.

  • Administrativa portaler och program. Plattformsadministratörer publicerar listan över API-produkter, deras priser och prisplaner. Dessa portaler erbjuder också omfattande analys av användningen av de olika API-produkterna, som hjälper dig att felsöka problem och erbjuda supporttjänster.

  • Verksamhetsspecifika tjänster. Dessa tjänster krävs för att leverera funktionerna i konsumentportaler och program och för att stödja de olika användarresor som stöds i lösningen.

  • Beräkningsmotor för API-förbrukningsspårning och avgifter. API-förbrukningsrapporterna, som samlas in på API-gatewaylagret, exporteras regelbundet till ett separat datalager. Schemalagda jobb körs på dessa data för att beräkna de avgifter som gäller för alla konsumentkonton, baserat på listan över prenumerationer och tillhörande prismodell.

Bearbetningssekvensen i den här lösningen flödar på följande sätt:

  1. API-utgivaren importerar API-specifikationerna med hjälp av Azure Portal, grupperar dem efter produkt och publicerar dem.

  2. API-utgivaren uppdaterar produktrelaterad marknadsföringsinformation på motsvarande GitHub-lagringsplats.

  3. API-konsumenten kommer åt Marketplace-portalen, bläddrar bland de olika produkterna och väljer en specifik API-tjänst.

  4. När konsumenten försöker visa mer information om API-tjänsten omdirigerar konsumentportalen konsumenten till den förbättrade utvecklarportalen, som finns på GitHub och använder GitHub Pages.

  5. Konsumenten kan bläddra bland olika API-specifikationer, utvecklarrelaterad information och till och med prova att anropa en slutpunkt med hjälp av en exempelnyttolast.

  6. Konsumenten registrerar sig på plattformen och aktiverar sedan en prenumeration för den specifika API-tjänst som de är intresserade av att använda.

  7. Konsumenten använder API-tjänsten i sina appar eller enheter.

  8. Anropet av API:et genererar mått om dess användning och förbrukning, som lagras av Azure i spårningsdatabaser.

  9. Förbrukningsdata exporteras regelbundet och sparas till en anpassad databas, vanligtvis en datasjö, för ytterligare analys.

  10. Ett serverdelsjobb beräknar avgifter från förbrukningsdata och de olika prenumerationerna.

  11. Fakturan och betalningsrelaterad information lagras i redovisningsdatabasen. Den här informationen används för att beräkna intäkterna för tjänsten.

Komponenter

Lösningen består av följande SaaS-erbjudanden (Programvara som en tjänst):

  • Azure API Management är en hanterad plattform som en tjänst som gör det möjligt för organisationer att publicera API:er till både interna och externa konsumenter. Med API Management kan du publicera API:er som kan finnas var som helst. I grund och botten tillåter API Management avkoppling av API-värdtjänster från den publicerade gatewayen som fungerar som en enda startpunkt för hela liggande API:er som ditt företag publicerar. Mer information finns i Gateway-routningsmönster.

    API Management tillhandahåller också ett styrningslager ovanpå alla publicerade API:er. Genom att använda API Management-principer, olika andra funktioner, till exempel hastighetsgränser och kvoter, kan du begränsa API-begäranden baserat på en nyckel eller prenumeration. API Management innehåller en utvecklarportal som tillhandahåller en helt anpassningsbar webbplats som fungerar som dokumentation för de API:er som du publicerar via den.

  • GitHub är ett populärt SaaS-erbjudande från Microsoft som ofta används av utvecklare för att skapa, leverera och underhålla sina programvaruprojekt. Den innehåller viktiga funktioner som du kan använda i lösningar:

  • Azure App Service är en fullständigt hanterad beräkningsplattform som är värd för anpassade webbprogram.

  • Azure Active Directory (Azure AD) B2C är ett tillägg för Microsoft Entra-ID som ditt program kan använda för att hantera externa kund- eller partneridentiteter för åtkomst och auktorisering. Du kan använda Microsofts identitetsplattform för att enkelt integrera identitet och auktorisering i dina anpassade program.

Information om scenario

Framgången och implementeringen av en API-plattform beror till stor del på hur högt den betraktas på marknadsplatsen. Utöver de digitala tillgångar som erbjuds av plattformen har enkelheten att hitta API:er och hur enkelt det är att använda dem en stor effekt på om kunderna använder en plattform. Kunder måste kunna hitta dokumentation och få support för problem. Plattformen bör också underlätta communityns bidrag för att hjälpa dina kunder att forma dina API:er efter deras behov. Som utgivare av API:er behöver du en webbplats som effektivt marknadsför dina API:er och hjälper kunderna att skilja mellan erbjudanden. När de har valt API:er måste du bara kunna ge åtkomst till autentiserade användare, hantera förbrukning och leverera korrekta fakturor för användning. Det här exempelscenariot visar hur du kan använda Azure-tjänsten och GitHub för att skapa en plattform som gör allt detta och mer.

Potentiella användningsfall

Du kan använda den här lösningen för att göra det enkelt för API-utvecklare att:

  • Identifiera och förstå dina API-produkterbjudanden.
  • Prenumerera och integrera med dina olika program och kanaler.
  • Få hjälp, felsöka problem och åtgärda problem.
  • Främja samhällets bidrag och utbyta idéer och kunskap.

API-värdekedja

Diagram som beskriver värdekedjan A P I.

Högst upp i värdekedjan finns API-tjänstleverantören. Härnäst kommer API-konsumenter eller integrerare som utformar och skapar upplevelserna för de slutliga målkonsumenterna. Slutanvändare och kunder är de slutliga mottagarna i värdekedjan.

API-utvecklarupplevelse

Diagram över funktioner och funktioner i den förbättrade A P I-utvecklarupplevelsen.

Ladda ned en PowerPoint-fil med det här diagrammet.

API-utvecklarupplevelsen har tre portaler:

  • Konsumentportal. Konsumentportalen fungerar som en marknadsföringswebbplats som visar de olika API-produkter som erbjuds av företaget.

  • Utvecklarportal. Utvecklarportalen ger utvecklare från tredje part dokumentation om de olika API-tjänsterna och hur de används i sina program.

  • Kontoportal. Registrerade användare hanterar sina prenumerationer och utför andra kontorelaterade aktiviteter med hjälp av kontoportalen.

Funktionskrav

På hög nivå passar funktionskraven för en API-plattform i företagsskala i tre kategorier, nämligen produktisering, plattformsadministration och konsumentupplevelser.

Diagram som visar tre breda funktionella krav för en P I-plattform i företagsskala.

I följande avsnitt beskrivs ytterligare funktionerna i varje funktionsområde.

Produktisering

Målet med produktisering är att identifiera och definiera de monetariserade API:erna, deras hantering och en strategi för att sälja dem som digitala produkter. Därför omfattar den:

  • Funktioner, till exempel att identifiera varianter av produkterna och deras motsvarande mappning till fysiska tillgångar.
  • En definition av prissättnings- och prisplaner, tillsammans med nödvändiga metadata.
  • Innehåll som måste skapas för att driva konsumentupplevelsen.

Produktisering består av följande funktioner:

  • API-produkter. Den här katalogen med API:er görs tillgänglig för konsumenterna. En produkt kan erbjudas för köp eller som en kostnadsfri tjänst.

  • Varianter. Utvecklarupplevelsen bör identifiera varianterna av alla API-produkter som är intäktsgenererade.

  • Prisplaner. Definiera de olika prissättningsplanerna så att de blir attraktiva för konsumenterna.

  • Taxonomi och innehåll. Definiera och skapa innehållet – text, PDF-filer, bilder och så vidare – som krävs för marknadsföringsstrategin för dessa API-produkter.

  • Fysiska tillgångar. Detta omfattar de faktiska molntjänster som ingår i den specifika API-produkten och deras motsvarande livscykelhantering. Överväg driftkostnaden för att underhålla dessa tjänster samtidigt som du härleder prisplanerna.

Plattformsadministration

Plattformsadministration fokuserar på övergripande värdtjänster, hantering och styrning av API-plattformen. Det ger också en lösning från slutpunkt till slutpunkt för administration av de olika verksamhetsspecifika programmen och tjänsterna. Viktiga fokusområden är prenumerationshantering, fakturering och fakturering. Plattformsadministration ger också generering av affärsinsikter och analyser för att presentera tjänstens övergripande hälsa, inklusive dess ekonomiska och operativa aspekter.

Plattformsadministration består av följande funktioner:

  • Användarregistrering. Identifiera hur användare registrerar sig med plattformen. Definiera alla godkännandearbetsflöden som krävs, beroende på användarsegmentet.

  • API-katalog. Identifiera de API-tillgångar som publiceras via API Management. Tillämpa principer för att styra åtkomst och användning av API:erna. Hantera användarnas prenumerationer.

  • Insikter och analys. Samla in telemetridata för att generera olika mått. Visualisera data med hjälp av olika instrumentpaneler, till exempel Power BI, för att härleda de olika insikter som krävs för företag och IT-beslutsfattare.

  • Fakturering och fakturering. Definiera de arbetsflöden som är relaterade till prenumerationer, orderhantering, fakturering och fakturering.

  • Support. Upprätta verktyg och processer för att hantera supportbegäranden.

Konsumentupplevelse

Implementeringen av API-plattformen är starkt beroende av hur enkelt konsumenterna kan:

  • Identifiera de API:er som de behöver.
  • Granska specifikationen och det tekniska innehållet genom att bläddra i utvecklarportalen.
  • Registrera dig för att prenumerera.
  • Betala för de API-produkter som de har valt.
  • Börja använda API:erna i sina program.

En konsumentupplevelse levereras vanligtvis via en webbportal, en mobilapp eller både och. Du kan använda Azure AD B2C för att underlätta användarregistrering och identitetshantering. Azure AD B2C innehåller stöd för OpenID-identitetsprovidrar, till exempel Microsoft och Google.

Konsumentupplevelser består av följande komponenter:

  • Produktkatalog (API). Skapa en marketplace-upplevelse för användare, både anonyma och registrerade.

  • Konto- och prenumerationshantering. Upprätta procedurer för registrering och inloggning baserat på de typer av användare som du förväntar dig att använda ditt API. Stöd för användarinställningar, till exempel användning av befintliga sociala identitetsprovidrar. Tillåt självbetjäning av prenumerationshantering, aktivering och inaktivering samt betalning av avgifter som faktureras.

  • Användargränssnitt (UI)/Användarupplevelse (UX). Identifiera och definiera upplevelserna för de kanaler som du stöder för slutanvändarupplevelser. Inkludera funktioner för flera enheter, multi-form-factors, tillsammans med modern användargränssnittsdesign. Berika upplevelsen genom användbarhetsstudier.

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Komponenterna i det här scenariot hanterar problem med prestanda, tillförlitlighet och säkerhet.

API Management stöder automatisk skalning, vilket snabbt utökar API Management-funktionerna som svar på allt fler inkommande begäranden. API Management stöder även zonredundans och distributioner i flera regioner för att ge återhämtning och hög tillgänglighet. Mer information om zonredundans finns i Stöd för tillgänglighetszoner för Azure API Management. Mer information om API Management-säkerhet finns i Azure-säkerhetsbaslinje för API Management.

App Service är en fullständigt hanterad plattform som en tjänst som har inbyggd säkerhet och automatisk skalning med ett serviceavtal som lovar hög tillgänglighet. App Service är ISO-, SOC- och PCI-kompatibelt och stöder autentisering av användare med Microsoft Entra-ID, Google, Facebook, Twitter eller Microsoft-konto. Med App Service kan du också skapa IP-adressbegränsningar.

Azure AD B2C erbjuder hög tillgänglighet och skalor för att stödja hundratals miljoner användare. Azure AD B2C stöder OpenID Connect och flera identitetsprovidrar så att kunderna kan välja önskad leverantör. Azure AD B2C stöder även programbaserad och principbaserad multifaktorautentisering, vilket lägger till ytterligare säkerhetslager. Mer information om Azure AD B2C finns i Vad är Azure Active Directory B2C? Mer information om hur du använder externa identiteter finns i Externa identiteter i Microsoft Entra-ID.

GitHub gör säkerhetsgranskningar till en automatiserad del av kodgranskningar och genomsöker varje ny incheckning efter potentiella säkerhetsproblem. Den här tjänsten hjälper dig att identifiera problem så snart de erbjuds som tillägg till kodbasen. Med GitHub-säkerhet kan du anpassa sökningar efter säkerhetsproblem och integrera genomsökningsmotorer från tredje part. Mer information finns i Säkerhet på GitHub.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för kostnadsoptimering.

Du kan utveckla konsumentportalen med hjälp av prisplanen för Team eller Enterpriseför GitHub. Se funktionsmatrisen för att identifiera vilken plan som bäst passar ditt företag.

För API Management kan du använda nivåerna Standard eller Premium . Information om skillnaderna mellan nivåerna finns i Prisalternativ för API Management.

För Azure App Service läser du de prisalternativ som är tillgängliga för Windows - och Linux-miljöer för värdtjänster för dina program.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Nästa steg