Vad är Azure API Management?
Vi börjar med en snabb översikt över Azure API Management och dess kärnfunktioner. Den här översikten bör hjälpa dig att avgöra om Azure API Management kan vara en lämplig lösning för att minska företagets API-komplexitet.
Vad är API-livscykelhantering?
API-livscykelhantering är processen att administrera ett API genom hela dess livslängd – från design och skapande till föråldring och tillbakadragning. I den här modulen hämtar vi efter att dina API:er redan har utformats, kodats och distribuerats. Nu ska vi koncentrera oss på resten av API:s livscykelhanteringsuppgifter, bland annat:
- Tillhandahålla API-dokumentation, testning och kodexempel.
- Onboarding och off-boarding användare.
- Hantera API-prenumerationer och distribution av prenumerationsnycklar.
- Implementera API-revisioner på ett kontrollerat och säkert sätt.
- Hantera flera versioner av ett API.
- Implementera API-åtkomstkontroller, till exempel autentiserings- och anropsfrekvensgränser.
- Tillhandahålla API-rapportering för användning, fel och så vidare.
- Hantera analyser för både ditt företag och för de utvecklare som använder API:erna.
Azure API Management-definition
Azure API Management är en molntjänst som ger dig en plattform för publicering, skydd, underhåll och analys av alla företagets API:er. Azure API Management utför dessa uppgifter genom att erbjuda tre huvudkomponenter:
- Gateway
- Administrationsgränssnitt
- Utvecklarportalen
Viktigt!
Azure API Management är inte värd för dina faktiska API:er. Dina API:er finns kvar där de ursprungligen distribuerades. I stället fungerar Azure API Management som en slags fasad eller "ytterdörr" för dina API:er. På så sätt frikopplar Azure API Management dina API:er genom att låta dig ange API-principer och andra hanteringsalternativ i Azure, samtidigt som dina distribuerade serverdels-API:er lämnas orörda.
Gateway
Azure API Management-gatewayen är en Azure-slutpunkt som accepterar alla anrop från alla dina API:er. Gatewayen:
- Verifierar API-prenumerationsnycklar och andra autentiseringsuppgifter.
- Framtvingar dina användningskvoter och hastighetsgränser.
- Transformerar API:et efter behov för serverdelskompatibilitet.
- Dirigerar varje anrop till lämplig serverdelsserver.
- Cachelagrar serverdelssvar.
- Samlar in anropsmetadata för analysarbetsbelastningar.
Administrationsgränssnitt
Administrationsgränssnittet för Azure API Management är en uppsättning Azure Portal sidor och verktyg som gör att du kan administrera din tjänst och dina API:er. Förutom etablering, skalning och övervakning av tjänsten använder du det administrativa gränssnittet för:
- Definiera eller importera API-specifikationer
- Implementera användningsprinciper som kvoter och hastighetsgränser
- Ange säkerhetsprinciper
- Hantera användare
- Paketera API:er i produkter
- Definiera API-transformeringar
- Hantera API-revisioner och -versioner
- Köra analys på api-metadata
Utvecklarportalen
Utvecklarportalen för Azure API Management är en helt anpassningsbar webbplats som gör det möjligt för utvecklare att interagera med dina API:er via:
- Granska dokumentationen för varje API.
- Prova ett API med hjälp av den interaktiva konsolen.
- Granska kodexempel på olika programmeringsspråk.
- Prenumerera på ett API och hämta en API-prenumerationsnyckel.
- Köra analys av utvecklarens användning.
Azure API Management-nivåer
Azure API Management tillhandahåller flera tjänstnivåer, var och en erbjuder en distinkt uppsättning funktioner, kapaciteter och priser. I följande tabell visas nivåerna i ordning från lägsta till högsta pris och jämför några viktiga funktioner.
Villkor | Förbrukning | Utvecklare | Grundläggande | Standard | Premium |
---|---|---|---|---|---|
Utformad för | Enkel användning | Utvärdering, testning och annan användning av icke-produktion | Produktionsanvändning på ingångsnivå | Användning av medelvolymproduktion | Användning av hög volym eller företagsproduktion |
Cache | Endast externt | 10 MEGABYTE (MB) | 50 MB | 1 gigabyte (GB) | 5 GB |
Serviceavtal (SLA) | 99,95 % | Ingen | 99,95 % | 99,95 % | 99,99 % |
utvecklarportalen | Nej | Ja | Ja | Ja | Ja |
Inbyggd analys | Nej | Ja | Ja | Ja | Ja |
Dataflöde (uppskattade begäranden/s) | Ej tillämpligt | 500 | 1 000 | 2 500 | 4 000 |
Kommentar
Prissättningen för förbrukningsnivån är per API-anrop, där de första miljoner anropen är kostnadsfria och resten faktureras sedan till en fast ränta per 10 000 anrop. Prissättningen för alla andra nivåer är per timme.
Tillämpa principer på API-begäranden och -svar
Ett av de största problemen med att ha flera publicerade API:er är att varje API kräver en separat uppsättning principer. Här är en princip en inställning eller åtgärd som styr beteendet för API:et. Om du till exempel vill framtvinga en hastighetsgräns (det maximala antalet API-anrop som tillåts från en enda källa under en viss tidsperiod) inkluderar du den gränsen som en del av principerna för ett API. En hastighetsgräns är bara ett exempel, men det finns många principer som du kan tillämpa. Multiplicera det med flera olika API:er så har du en hanteringsmardröm.
Azure API Management löser API-principproblemet genom att göra det möjligt för dig att ange principer för alla dina API:er på en enda plats, vilket är administrationsgränssnittet för Azure API Management. Med Azure API Management kan du ange principer i många kategorier. En partiell lista innehåller:
- Åtkomstbegränsning. Dessa principer avgör när en API-begäran tillåts via gatewayen. Du kan till exempel tillämpa hastighetsgränser och användningskvoter, filtrera anropar-IP-adresser och söka efter en giltig JSON-webbtoken (JWT).
- Autentisering. Autentisera API-anrop, till exempel med grundläggande autentisering, ett klientcertifikat eller en hanterad identitet.
- Cachelagring. Förbättra API-prestanda genom att lagra och hämta svar i cacheminnet.
- Validering. Verifiera API-anrop genom att jämföra vissa parametrar med vad som finns i API-specifikationen. Verifiera till exempel begärande- eller svarstexten, parametrarna för begärandehuvudet och svarshuvudena.
Kombinera dina principer flexibelt i principdefinitioner, som är XML-dokument som består av en serie instruktioner, som var och en representerar en princip och dess parametrar. Med principdefinitioner kan du konfigurera separata principer i olika steg i API-pipelinen för begärandesvar: